我一开始也没打算“自己造轮子”。
Hexo、WordPress、Halo 这些都太成熟了:主题一堆、插件一堆、教程一堆,随便挑一个都能把博客搭得很好看、很好用。
我也确实认真试过、对比过,最后却还是走回了一个看起来更奇怪的选择:自己写一个小博客系统。
原因其实很简单,但说出来又挺私人:我想要的不是“功能最全”,而是“最省心、最顺手、最像我自己的东西”。
1)我需要的是“写完就走”,不是“写完还要走流程”
先说 Hexo。
Hexo 很多人的使用方式是这样的:
- 本地写文章
- 本地预览
- 生成静态文件
- 再提交到仓库 / 部署
它并不复杂,但它对我来说有点“太正式”了。
我写博客的时候经常是:
- 突然想到一件事,想记一下
- 或者想发一个短短的测评留档
- 或者只是半夜情绪上来想写几句
这种时候我真的不想打开一套完整工具链:
不想管 node 版本、依赖有没有装、主题和插件有没有冲突,也不想为了发一篇短文去跑一堆命令。
我最理想的体验是:
我把 Markdown 写好 → 复制粘贴到站点的
posts/里 → 点一下提交 → 结束
剩下的事情(索引更新、站点地图更新、文章页生成)都自动发生,
我不需要关心 “我现在在哪台电脑”“环境是不是还在”“构建是不是会炸”。
写完就走,这是我最看重的点。
2)“我只想写文章”,不想维护一个“博客系统”
再说 WordPress / Halo 这一类。
它们确实强:后台舒服、分类标签、权限、插件、主题、各种扩展……你想要的基本都有。
但我慢慢发现我并不想拥有一个“需要维护的系统”。
因为只要它带后台、带数据库、带一堆扩展,它就会自然而然变成一件“需要照顾”的事情:
- 版本更新(尤其安全更新)
- 插件兼容性
- 主题升级
- 数据库备份
- 迁移成本
这些都不是不能做,只是我会觉得:
我写个博客,怎么搞得像在养一个项目?
我更喜欢那种“丢在那里就能活”的东西:
- 没有数据库
- 不需要登录后台
- 不怕哪天更新一把把站搞坏
- 一套静态文件扔哪都能跑
对我来说博客更像一个小角落,不该变成一个长期运维的系统。
3)我对“简单”的定义和别人不太一样
很多人觉得“简单”是:
- 一键安装
- 一键部署
- 开箱即用
而我对“简单”的定义是:
- 我每天用它的时候要简单
- 我不需要记住一堆流程
- 我不需要依赖某个特定环境
- 我不需要遇到问题就去翻一堆文档
就像写文章这件事,我希望简单到:
- 在任何地方都能写(本地也好、网页也好)
- 写完一贴过去就行
- 站点自己更新
所以我做的系统非常“直球”:
文章就是 Markdown 文件,构建就是一个脚本,生成的就是纯静态产物。
4)还有一个不太讲道理但很真实的原因:成就感
我承认,这个原因非常主观,但它真的很重要。
用现成博客系统,你得到的是一个“能用的博客”。
但自己写一个小系统,你得到的会更像一个“作品”。
区别是那种很微妙的感觉:
- 页面为什么这样排?是我写的
- 文章为什么这么加载?是我写的
- 这个交互、这个细节、这个样式,都是我一点点调出来的
- 它慢了我能改,它丑了我能改,它缺功能我能加
更重要的是,它会跟着我一起成长:
- 我写得多了,就会补一个我想要的排序
- 我发现分享预览不方便,就加一个文章独立页
- 我觉得国内访问不稳定,就把字体/静态资源拆出去走国内 CDN
- 我想要新的展示方式,就自己改
这种“慢慢把它养成自己喜欢的样子”的过程,对我来说比“选一个主题并配置插件”有趣得多。
博客不再只是“发文章的地方”,它更像我的一个长期项目。
5)所以我现在这套系统到底在干什么?
它的结构很简单:
- 我只写
posts/*.md - 构建脚本会生成:
posts.json(首页列表数据)sitemap.xml(SEO)/p/<slug>/index.html(每篇文章的独立静态页)
我写文章的动作也很简单:
- 本地写好 Markdown 也行
- 直接在网页里写也行
- 最后丢进
posts/,提交一下就完事
剩下的全部自动发生。
这正好就是我一开始想要的体验:
我只负责写,其余我不想管。
6)我不觉得这比 Hexo / WP / Halo 更好
这点要说清楚:
我并不觉得我的系统比它们更强,甚至可以说功能少得可怜。
但它更适合我,因为:
- 我不追求全功能
- 我追求“轻、稳、可控”
- 我希望写作流是最短路径
- 我希望它像一个作品,而不是一个我在使用的产品
如果你想要的是丰富生态、漂亮主题、强后台,那主流系统绝对更合适。
但如果你和我一样:
- 懒得维护工具链
- 想写完就贴上去
- 喜欢长期打磨自己的小作品
那自己写一个,真的挺爽的。
7)最后
很多人会问:造轮子值得吗?
对我来说,值得。
因为我造的不是“一个通用博客系统”,我造的是“我自己用得最顺手的那一套”。
它不一定适合所有人,但它会一直适合我。
这就够了。