跳到正文

开篇:为什么还要自己写一个博客

这个站是 2026 年 10 月重建的。之前我在几个平台上写过东西,最后都因为「平台不是我控制的」而放弃了:一次是 API 改版把导出功能砍掉,一次是内容因为关键词被折叠,读者根本搜不到。

自建博客解决的问题很朴素:内容是一份纯文本,放在我自己的仓库里,域名指向哪里我说了算。

技术选型

真正动手前对比了几条路:

方案优点代价
JekyllGitHub Pages 原生支持,零配置本地要装 Ruby,改样式像在天书里打转
Hugo构建快,单文件二进制模板语法要单独学,调试体验一般
Next.js生态最大一个纯文本博客不需要运行时和 60MB 的依赖树
AstroMarkdown 直接当数据源,产物是静态 HTML需要一次 npm 构建

最后选了 Astro,理由是它的 内容集合(Content Collections):文章的 frontmatter 有 schema 校验,写错字段名构建就会报错,而不是发布出去之后才发现日期没生效。

为什么不是纯手写 HTML

手写静态页我也试过,第一年版就是三个 HTML 文件。问题出在第三十篇:每写一篇都要手动改首页列表、改归档、改 RSS,漏一个就是一个坏链接。任何一点自动化到这里就开始回本。

部署链路

git push origin main        # 触发 GitHub Actions
# Actions: npm ci -> astro build -> 上传 dist -> Pages 发布

推送之后大概 40 秒线上就能看到新文章,全免费。GitHub Pages 的带宽限制对个人站来说是天文数字,我这种流量水位完全不用担心。

唯一需要提前想清楚的是域名。域名和仓库名一样,换起来是有成本的——旧链接会全部失效。

接下来会写什么

  • 具体做过的项目和里面踩的坑
  • 一些工程实践:版本控制、构建、性能
  • 偶尔的生活记录,不单独开站

如果这篇文章对你有帮助,欢迎订阅 RSS。