重新写一个博客,比改一个旧博客要难

把一个'能用就行'的旧博客推倒重做,比从零做一个新的要难得多。难的不是技术,是判断哪些'已知的坏'要修,哪些'以为的坏'其实只是习惯。

一个博客一旦开始写,就很难丢掉。

不是因为它的代码有多好、读者有多少、SEO 排到第几——这些都可能很糟糕。难丢的是它已经在那里了,习惯了,发链接时能直接发,搜索时能搜到,换模板时文章 ID 不能变。

推倒重来的成本

我那个用了挺久的博客,技术栈极简到一个 HTML 文件——所有文章、所有 CSS、所有导航都堆在同一个 index.html 里。维护成本随文章数线性增长,但能跑,所以一直没动。

直到某天想加暗色模式,要在一坨 250 行的内联 CSS 里塞一个 @media (prefers-color-scheme: dark),改完发现移动端的导航也写死了 display: none,没有汉堡菜单,再改发现工具链接全是 #,是写的时候懒得加的占位符。

改一个错一个。

这时候才意识到:真正要做的不是”修”,是”重写”

重写不是为了更花

但重写不意味着堆技术。流行的静态站生成器一抓一把,主题市场眼花缭乱,每一个看起来都比自己的”简陋版”高级。问题在于——把高级的东西堆在一起,出来的不是一个博客,是一个”博客主题演示站”。

我想要的是:

  • 文字是主角
  • 打开就看到内容
  • 阅读体验是”舒服”,不是”惊艳”
  • 加新文章不痛

用了什么

  • Astro:写 Markdown、自动生成静态文件、SEO/RSS/sitemap 都是开箱即用
  • Cloudflare Pages:免费、全球 CDN、HTTPS 自动,部署就是 git push
  • Content Collections:用 TypeScript 强类型定义文章 schema,缺字段会编译失败
  • View Transitions API:让页面切换不白屏,不用 React 也不用框架
  • Pagefind:站内搜索,零后端、零成本

技术是为目标服务的,不是反过来。

还没做的

  • 评论:等真正有人想评论再加
  • 统计:等真正想知道有多少人看再加
  • 暗色模式切换按钮:做了,跟随系统
  • 邮件订阅:RSS 够用

给也想重写的人

如果你也在纠结要不要重写自己的旧博客,可以问自己三个问题:

  1. 当前最大的痛是什么?是加载慢、维护痛、还是看着不顺眼?
  2. 痛是因为技术问题,还是内容问题?如果是后者,换模板解决不了
  3. 重写后能多写几篇文章吗?如果不能,重写本身可能就是拖延

回答是后者的话,先别重写。先写。