本文简要记录搭建本博客时的几个技术决策。
主题选型
选用 AstroPaper 作为起点,原因:
- Content Collections — 类型安全的 Frontmatter 校验
- Pagefind — 构建时生成搜索索引,零后端
- 暗色模式 — 内置主题切换,阅读体验好
- RSS + Sitemap — 开箱即用,利于订阅与收录
代码高亮
AstroPaper 使用 Shiki 渲染代码块,支持 diff 标记与文件名显示:
export default defineConfig({
markdown: {
shikiConfig: {
themes: { light: "min-light", dark: "night-owl" },
},
},
});
部署架构
本地 Markdown → pnpm build → dist/ 静态文件 → Nginx → HTTPS
发布脚本 deploy/deploy.sh 负责:git pull → 安装依赖 → 构建 → 重载 Nginx。
可选扩展
站点稳定后可按需接入:
- Giscus — 基于 GitHub Discussions 的评论(需公开仓库)
- Plausible / Umami — 隐私友好的访问统计
核心发布流不依赖任何后端服务,保持简单可靠。