一个bug引发的血案

前天中午醒来邮箱收到WordPress的推送:

嗨!您位于 http://www.xianggen.info 的站点已被成功升级到WordPress 4.3.4。

“しまった!”我心想。

输入域名,果不其然看到一行报错:

Fatal Error: Redeclared class WP_Tax_Query at …

类名重定义,而且是一份庞大且我几乎没仔细研究过的代码。结局很明显:我的个人站点的后台崩掉了。

按照故事的正常逻辑,接下来应该是我苦心孤诣debug最终成功经过一日一夜的骚受挠头把网站恢复了。然而不是这样。很多情况下,修轮子的时间成本要比造轮子高不少,所以这次我决定借别人家的图纸再造一个轮子。

从去年十月份开始,我就有一种感受,用WordPress的框架搭没什么访问量、数据库规模小的个人博客是在用鸟枪打蚊子。WordPress庞大的代码框架和众多的插件功能难免让人眼花缭乱,对于创作者来说,不停写下去的意义要远远大于选择什么平台。

更重要的一个问题是,WP框架需要数据库和后台,由此产生很多小型博客本不需要的开发消耗。例如租用主机、搭建数据库系统……我的核心需求是一个界面简单精致、没有复杂后台交互但能确保基本评论留言等功能,且最好支持MarkDown语法的博客平台。

于是我最终选择了Hexo

在确定自己的选择之前,我做过很多对比。

Hexo是一个台湾学长开发的基于Node.js的静态页面博客系统,它没有后台、不用数据库。同时,Hexo支持主题引擎,支持MarkDown语法,对中文支持优秀。又因其轻量级属性,可以直接部署在GitHub Pages上,省掉了我日后续租主机服务器的费用。又因为是对静态页面进行渲染,在没有网络的情况下,Hexo也能够通过localhost来预览自己的博客。总之,完美匹配我的需求。

于是,用时一天,我MD化了从原先数据库导出的全部文章并重新搭建了这个新博客。

因为使用全新的多说评论系统且舍弃了数据库,原先的留言和插图都没有了。算是一个小遗憾。

WordPress中文版会在由其框架搭建的页面尾部显示:

自豪地使用WordPress

然后它就自豪地自动升级,自豪地崩溃了。

Hexo的项目大小很小,基本都在我的控制之中。这种从建站到内容输出的自底而上的控制感颇让人自得。

在这个Power by Hexo的新博客里,我希望能再再自豪一次。