换博客这件事,我拖了很久。
不是因为技术难,是因为一旦动手,就得承认过去三年里有些东西是多余的。WordPress 那套后台我熟到可以闭着眼操作,插件装过二十几个,主题改过四五轮。每次想写点东西,先看到的是三个待更新提示。
真正让我下决心的是一个很普通的下午:我想写一篇八百字的随笔,结果先花了一个小时升级 PHP。
一开始,我想要一个完整的系统
最开始选 WordPress,理由现在看也很正当:它什么都有。编辑器、评论、归档、搜索、统计,插件市场里几乎能找到任何需求的现成答案。对一个刚起步的博客来说,“不用自己写”是巨大的诱惑。
问题在于,这些能力都是需要人照看的。装得越多,升级的链条越长;链条越长,某一次插件不兼容的概率就越高。备份要靠插件,迁移要靠导出,导出来的内容混着短代码和自定义字段,看着是自己的文章,其实是一堆别人定义的格式。
一个写作工具如果需要你每个月照顾它一次,它就不再是工具,更像宠物。
我并不是反感维护。我只是发现,维护消耗掉的是同一种注意力——那种本来该用来想清楚一段话怎么写的注意力。
静态化之后,省掉的到底是什么
Hexo 做的事其实很朴素:把 Markdown 编译成 HTML。没有运行时,没有数据库,没有后台。服务器上只有一个 nginx,指向一个目录。
1 | hexo new post "最后我选了 Hexo" |
攻击面从一个完整的应用缩到一个静态目录,这件事带来的安心感比我想的要大。以前每次看到后台有陌生登录记录,都要花半小时排查;现在没有登录入口,也就没有这类问题。
代价同样真实。评论、搜索、点赞,这些需要服务端记住点什么的功能,要么外挂第三方,要么直接不要。构建时间会随着文章数增长,一千多篇的时候是几十秒,不算快,但在可接受范围内。写作过程中看不到最终渲染效果,只能靠本地预览补上这一环。
它不是更先进的方案,只是把复杂度从运行阶段挪到了构建阶段,而后者是我更能控制的那一种。
我放弃的部分
评论我关掉了。早些年还会为“读者没法留言”感到不安,后来发现真正想说话的人会发邮件,而且说得更长。搜索换成了本地索引,够用。统计换成一段很轻的脚本,只回答一个问题:有没有人来。
编辑器从后台换成了任意一个 Markdown 工具,发布变成一次提交。这个变化最不起眼,但它把“写”和“发”之间的动作压到了最短。
少功能不是损失,是一次筛选。留下来的,都是我每周真的会用到的。
反过来说,WordPress 那些“随时可以加”的功能,我三年里一个都没加。因为加之前要先想清楚它值不值得维护,而这个念头本身,就已经比写文章更费力了。
现在改主题只需要动几个模板文件,写文章只需要打开编辑器。工具退到背景里,这件事才算真正成立。
至于以后会不会再换,我不太确定,也不着急确定。工具总会换的,要一直压住的,是动笔之前的那点阻力。