用 Astro 搭博客的一些记录
折腾博客是一件很容易上瘾的事。
这次选 Astro,主要原因是它足够简单——静态优先,不带运行时,部署到 GitHub Pages 连服务器都省了。
为什么是 Astro
框架选型的时候考虑过几个:
- Hexo:老牌,生态成熟,但配置繁琐,主题质量参差不齐
- Hugo:快,但模板语法不太友好
- Next.js:杀鸡用牛刀,个人博客不需要 SSR
- Astro:Islands 架构,按需加载 JS,静态输出干净
最后选了 Astro。学习成本不高,.astro 文件写起来跟 HTML + JS 差不多,上手半天就能跑起来。
部署方案
推送到 main 分支后,GitHub Actions 自动构建并发布。同时并行部署到 Cloudflare Pages,国内访问快一些。
# 简化版 workflow
jobs:
build:
steps:
- run: pnpm install
- run: pnpm import:notes # notes/ 自动转文章
- run: pnpm build写作工作流
平时在 notes/ 目录里丢 .md 文件,不用管 frontmatter,CI 会自动加上标题、日期和分类,转换到 src/content/blog/import/ 下。
比较省心。