
用 Astro 搭建一座安静的个人博客
2026/9/13大约 2 分钟技术AstroTypeScript静态站点博客
做个人博客时,最容易先讨论框架,最后才想起真正需要长期维护的是内容。Demius 选择 Astro,不是为了追逐新的工具,而是因为它能让文章继续以普通 Markdown 文件存在,同时把大部分页面预先生成成简单、可靠的 HTML。
从内容开始,而不是从组件开始
一篇文章的标题、日期、封面、分类和标签都写在 frontmatter 中。页面只负责解释这些数据,不替作者决定内容应该长什么样。
title: "一篇新的文章"
published: 2026-09-08
category: "技术"
tags: ["Astro", "博客"]
draft: false这种结构有两个好处:编辑文章时不必接触页面代码;更换主题时,内容也不会被锁在某个组件体系里。
用集合约束数据
Astro Content Collections 会在构建阶段检查字段。日期写错、封面遗漏或标签格式不正确时,问题会在发布前暴露,而不是等访客打开页面后才发现。
把动态留给真正需要的地方
站点中的文章、分类、标签和归档都是静态页面。壁纸切换、阅读进度、站内搜索等交互才由浏览器脚本接管。
const posts = [...entries]
.filter((post) => !post.data.draft)
.sort((a, b) => b.data.published.valueOf() - a.data.published.valueOf());这条边界很重要。没有交互的内容不需要额外 JavaScript,页面第一次打开时自然更轻,搜索引擎和阅读器也能直接理解正文。
一次发布经过哪些步骤
- 在
src/content/blog新建 Markdown 文件。 - 补齐标题、日期、描述、封面、分类与标签。
- 本地运行内容检查和生产构建。
- 将生成的静态文件部署到站点。
好的发布流程应该足够无聊:步骤明确、结果可预测,过一段时间回来仍然看得懂。
留给下一次迭代
主题仍会变化,但文章链接和内容结构应该保持稳定。技术的价值不在于让博客显得复杂,而在于把维护成本压低,让注意力重新回到写作本身。
