计算机学习笔记
2 分钟阅读 · 699 字

为什么我又把博客重写了一遍

每次搭博客都会经历同一个循环:兴致勃勃地挑框架、配主题、写下第一篇 Hello World,然后在第三篇之后彻底停更。复盘下来,问题不在写作欲,而在维护成本。

上一版踩的三个坑

1. 数据库是最大的负债

用数据库存文章,就意味着要维护连接串、备份、迁移,还要担心哪天免费额度到期。而我的全部数据量是——几十篇文章。为几十篇文章养一套数据库,属于典型的用大炮打蚊子。

2. 后台编辑器并不好用

我最终发现,比起在浏览器里对着富文本框敲字,我更愿意在 VS Code 里写 Markdown:能全文搜索、能 diff、能顺手贴代码块。

3. 部署链路太长

「本地写 → 提交 → 后台发布 → 触发构建 → 等 CDN 刷新」,任何一环出错都会让我把写作往后拖。而现在这条链路被压缩成了一件事:git push。

现在的方案

文章是仓库里的 .mdx 文件,构建时编译成静态 HTML,整站部署到 Vercel 的 CDN 上。整条链路只有三样东西:

环节用什么我要做的事
写作MDX 文件新建一个 .mdx
构建next build什么都不用做
发布Vercel + Gitgit push

我特意保留的两个「不」

  • 不加数据库:需要结构化数据时,先用 YAML frontmatter 顶着。
  • 不加客户端状态:整站目前没有一个 'use client',全靠服务端渲染 + CSS。

第二条带来的好处很直接:没有业务组件需要水合,深色模式也不用写一行 JavaScript(直接用 prefers-color-scheme)。

接下来想做的

  • 静态生成 + RSS 订阅
  • 标签页与目录
  • 全文搜索(打算用 Pagefind,构建后扫 HTML,仍然不需要服务端)
  • 图片灯箱

博客的第一版永远是最热闹的,能不能活过第十篇才见真章。先把链路铺到最短,剩下的交给时间。

← 返回首页