把博客搬回静态 HTML:一次返朴归真
这个站现在是纯手写的 HTML:没有数据库、没有后台、没有构建步骤,一个页面就是一个文件,页脚那句“每一页都小于 50KB”是真的。它最早其实是个功能齐全的动态博客,有评论、有搜索、有管理后台。这篇写写我为什么一路做减法,以及减完之后的真实体验。
动态博客的隐形成本
动态博客的成本不在写文章的时候,在不写文章的时候。框架要升级,插件要打补丁,后台登录口挂在公网上就永远有人试密码;数据库要备份,PHP 或运行时的大版本升级每隔一两年就要折腾一个周末。最讽刺的是,我写博客的频率是每月一两篇,维护和创作的时间比一度接近一比一。工具开始反过来消耗它本该服务的事情,就该动手了。
迁移:一个下午
迁移比想象中简单:把旧文章导出成 Markdown,套一个手写的 HTML 模板逐篇转过去,图片该外链的外链、该删的删。评论功能直接砍掉——几年下来有效评论个位数,真想找我的人都知道去哪找。搜索也砍了,总共几十篇文章,首页列表加浏览器查找完全够用。整个过程唯一花时间的,是说服自己“这些功能没了真的没关系”。
发布流程:原始但顺手
现在写文章的流程是:在本地写好 HTML 文件,同步到服务器,完事。没有构建、没有部署脚本,连 git 都懒得用。听起来原始,但换来的是零不确定性:页面长什么样,我写的就是什么样;出了问题,打开文件就是答案。服务器端的软件栈也因此瘦到只剩一个静态文件服务,重启、迁移、备份全是复制文件夹级别的操作。去年换服务器,整个站的迁移时间是四分钟,其中三分钟在等 DNS。
失去的与得到的
失去的东西列出来:评论互动、访问统计的精确数字、手机端随手发布的便利。得到的也列出来:三年没为这个站做过任何维护升级、页面在任何网络条件下都是秒开、安全面小到几乎不存在、以及一种很实在的安心——十年后这些 HTML 文件大概率还能直接打开,而某个框架的旧版本能不能跑起来就不好说了。对个人写作来说, longevity 比功能重要得多。
当然这不是普世真理:内容量大、需要多人协作、要做会员和搜索的站点,静态方案立刻捉襟见肘。但对一个每月写两篇的个人博客,最合适的技术往往是无聊的技术。工具越无聊,写作就越是唯一的主角。