yueliudan.top
在做你现在看的这个站点。Astro 内容集合驱动,纯静态产物,构建在 CI、发布走原子切换。
开始于 2026-10-09
- Astro
- Tailwind CSS v4
- TypeScript
- GitHub Actions
为什么自己写而不是套主题
站点的外观完全由自己的组件决定,没有主题层。原因很直接:需求是“技术文章 + 日常 + 项目”三类内容, 市面上的主题要么塞了用不上的功能,要么改起来要先读懂别人的模板语言。
三个约束驱动了全部设计
- 内容必须是纯文本。 所有内容以 Markdown 存在仓库里,任何时候可以整体搬到别的主机。
- 服务器不做构建。 宿主机只有 1888MB 内存且没有 swap,构建放上去有实际风险,交给 CI。
- 发布不能让线上变差。 构建失败时线上继续提供上一版;切换是原子的,不留半更新状态。
内容模型
三类内容各自有 schema 校验:
posts—— 技术文章,必须有标题、摘要、日期、标签notes—— 日常,只要求日期,标题可省projects—— 项目,含状态、技术栈与外部链接
字段写错会在构建期失败并指出具体文件和字段,而不是安静地少渲染一篇文章。