2 分钟阅读

你好世界:为什么这个博客用 Astro

选择静态站点生成器而不是 CMS 的理由,以及它对「我到底多久更新一次」的影响。

深色背景上的抽象折线图

每隔几年我就会重建一次这个站点。不是因为旧的坏了,而是重建给了自己一个重新审视假设的借口。这次被质疑的假设是:博客需要一个后端。

其实不需要。博客本质上就是一个装着 Markdown 文件的文件夹,加上一步构建。其他东西——评论、搜索、「相关文章」——都是可选的装饰,等哪天真的需要了再加也不迟。

我优化的目标是什么

杀死个人博客的从来不是设计,而是摩擦力。如果发一篇文章意味着打开 CMS、登录、跟富文本编辑器搏斗、点完四个页面,你迟早会停更。如果发文章只是 git commit && git push,你就能一直写下去。

所以需求清单很短:

  • 用我自己的编辑器和代码片段写 Markdown。
  • 一条命令完成发布。
  • 没有需要打补丁的服务器,没有需要备份的数据库。
  • 快到我根本不用去想「快不快」这件事。

Astro 四条全中。它在构建时把每个页面渲染成纯 HTML,默认不发送任何 JavaScript。你现在读的这个页面只有一小段内联脚本,而且那段脚本只是主题切换器。

我放弃了什么

没有评论,没有开箱即用的全文搜索,没有动态的「阅读清单」。这些都能用客户端 island 或第三方嵌入解决,但没有一个是我开始写作的理由,所以 v1 一个都没上。

如果你也在搭自己的站点:在有文章之前,别急着设计「完美的博客」。先把那个 Markdown 文件夹上线。等你能够说出「某一篇具体文章需要某个功能」时,再去加功能。


下一篇我会写怎么把它弄到 Cloudflare Pages 上,以及构建配置到底该填什么。

元话题astro静态站点