从2007年第一篇日志开始,博客到现在也有 15 年半了。空间从免费空间、虚拟主机等,到现在云服务器;域名从免费二级域名、CN 域名、NET 域名等,到现在个性化域名;博客系统从 PJBlog、BoBlog、WordPress、Typecho、Hexo,最后又回到了 Typecho。

低成本维持

2016 年,有小孩之后,几乎一年就那么一两篇日志,妥妥地年更博客。2018 年左右,在衡天小张购买的虚拟主机也要到期了,因为是老客户,有个特惠价,但是一买就是三年。犹豫再三后,还是决定续费,毕竟博客我还是需要留着,更不更新再说吧。又到了 2019 年,域名又要续费,一个域名也是几十块钱。这个时候我就在犹豫,是不是要把博客转到静态博客,部署到 Github 白嫖空间,再换一个便宜点的个性域名。这样可以让博客低成本的活着,也能满足我年更或者不更的需求。说干就干,把 Typecho 的数据转换成 Hexo,再买了个新域名,最后再把当前的虚拟主机转卖给别人,大功告成。

起因

在用 Typecho 的期间,一直用多说作为评论系统,多说关闭后,没有找到比多说靠谱的评论系统,所以评论也就一直关闭着。最近因为一些事情,想重新让博客活跃起来,除了更新频率外,博友之间的交流也是少不了的,评论的事情自然就提上了日程。

现在的评论系统比起多说同期多了很多选择,各方面了解后选择了@公子哥Waline。选择它原因有以下几点:一是有服务端,安全方面可控;二是可玩性强,多种数据源、较多的钩子便于二次开发;三是和公子哥老熟人,遇到问题可以骚扰请教他。

平静了一段时间,看到@蜗牛的『再说评论』,让我觉得有同感,Waline 还是太重了,不符合自己的需求,于是开始对 Waline 进行深度折腾。前端组件就两个主要功能,一是请求访客评论,二是渲染评论列表。自己弄个评论框请求服务端接口,访客评论搞定,然后利用 Waline 的评论钩子,对站点进行重新构建。这样做优点就是整站包括评论都是静态化,浏览器解析速度更佳,缺点的话主要是新评论会有三到四分钟的延迟呈现,如果同时或者短时间内容出现多条评论,会有几率构建失败。这两个缺点虽然不能全部根除,但是可以进一步优化,于是打算给 Waline 贡献代码。但是,我前端水平菜得抠脚,开发环境都是在公子哥的帮助下才勉强跑起来,思路更是实现艰难,复杂的项目结构让我无从下手,多次尝试后选择放弃。

评论不就是请求、响应、渲染三个步骤吗?思考一阵后决定,用熟悉的 Java 写个简单的评论系统用来代替现在的 Waline 服务端,说干就干。语言熟悉,思路清晰,很快就有了初版成果,很高兴的打算部署使用。但是问题又来了,我这个 Java 程序要部署在哪里?我没运行环境啊?买一个?但是买了我为什么不直接用动态博客?不买?不买我部署在哪里啊?买一个?.....

回归

Typecho 1.2 也发布了,于是乎又开始折腾回 Typecho。

数据

将日志和评论转入到 Typecho,没有找到现成的工具,一切都要撸起袖子自己干,读文件插数据库,特殊语法特殊对待。

转换评论的过程中意外的发现之前是有很大一部分评论没有完全转换到 Hexo 的,不知道之前是在哪个环节转换评论的时候导致丢失了,丢失的都是我回复别人的评论,还好意外找回。

主题

个人比较偏向于简洁的主题,主页日志留个标题,详情进去看。找来找去看上了@蚂蚱给@暮春写的主题,于是索要过来改造。结合其他博客看到的设计,东拼西凑的成了现在的样子。

插件

因为 1.2 对 PHP 环境最低支持是 7.2 版本,很多以前的插件受到不同程度的影响,多年未接触 Typecho 也让我与它脱节,不知道有什么插件可以代替。自己动手,丰衣足食,定制的才是最符合自己的,于是捣鼓出下面几个插件:

  • Comment2U:评论通知,支持 Email、企业微信;
  • DiguKit:自用的大杂烩工具箱,方便换主题后功能复用;
  • DiguLinks:友情链接插件;
  • DiguSay:嘀咕碎语,支持多种消息类型的微博客插件。

DiguLinks 其实有功能基本一样的插件,是@HANNY大神的Links,不过年久失修,虽然有社区维护版,但是总感觉怪怪的,于是就造了个轮子。

DiguSay 是因为偶尔还是有那么一两句话想说,但是又不能形成文章的场景。其实早在之前用 Typecho 的时候就写过一个叫做 Digu 的插件,主要功能也就是这个,这一次算是完全重构。可以从微信发送文字、图片、位置、语音,基本上满足日常需求。

邮件通知以前用的是 CommentToMail,是@Byends基于@DEFE的维护版本,但是现在在1.2中完全水土不服。Comment2U 主要功能就是邮件通知访客有人回复了他们的评论,微信通知博主有新的评论。

DiguKit 就纯粹是为了以后换主题方便集成,不用做重复的事情。

也许以后所使用的博客系统还会变,但不变的是,博客会一直存在下去。