从旧站说起
旧博客(blog.gcbo.fun)是 2025 年年中搭的:Trilium 管内容,Next.js 负责呈现, 中间靠 API 缝合。用着没什么大毛病,但它终究是个动态服务——要跑 Node、要管 进程守护,Trilium 那头的笔记和页面之间也永远隔着一层转换逻辑。
这次想换个活法:内容就是文件,构建完就是 HTML,扔到任意静态托管上就完事。 没有服务要挂,没有依赖要追,过几年回来打开还能用。
为什么选 Astro
选型时最后定了 Astro,理由很实际:
- 内容就是文件。一篇
.mdx一篇文章,git 管着,任意编辑器能写; - 默认零运行时,产物是纯 HTML,页面不背框架 JS;
- 页面怎么写,框架不管。这一点最合口味——下一篇会讲,我只给这个站 立了三条规矩。
至于为什么不是 Hugo、Hexo 这类纯生成器:我想在文章里直接用组件,比如开篇
那篇 hello 里的章节标题就是正文里 import 来的 SectionHead。mdx 的灵活度
对我是刚需。为什么不是 Next.js SSG:旧站就是 Next.js,太自由了,自由到每个
页面都可以有自己的写法,写到后面自己都记不住哪套是哪套。
只留一条规矩
新站只保留一条强约束:路径决定 URL。src/content/ 的目录树就是站点树,
也是构建产物的镜像——文件放哪,地址就在哪。
其余全部自由。规矩少一点,写得下去的可能性就大一点。