2026年4月4日
这个博客用了什么技术栈,怎么部署的
记录一下这个博客当前使用的技术栈、内容管理方式,以及 GitHub 到 Cloudflare Pages 的自动部署流程。
这个博客现在走的是一条很轻量、但非常适合个人写作的路线:用 Astro 做静态站点,用 Markdown 写文章,用 GitHub 管理内容和代码,再交给 Cloudflare Pages 自动部署。
我想要的体验其实很明确:
- 写文章的时候尽量简单,不想依赖复杂后台。
- 内容和代码都能版本管理,方便长期维护。
- 每次提交之后自动上线,不想手动上传文件。
所以最后定下来的技术栈是下面这一套。
1. 框架:Astro
博客本体是用 Astro 搭的。
我选择它的原因很简单:
- 很适合内容型网站,生成的是静态页面,访问速度快。
- 对 Markdown 支持很好,写博客非常顺手。
- 默认就很轻,不会带来一堆不必要的前端运行时代码。
对我这种个人博客来说,Astro 的优势就是“够用,而且干净”。
2. 内容管理:Markdown
所有文章都直接放在项目里的 src/content/blog 目录中。
每一篇文章就是一个 Markdown 文件,文件头部用 frontmatter 保存文章信息,比如:
---
title: 文章标题
description: 文章摘要
cover: /covers/your-cover.jpg
pubDate: 2026-04-04
tags:
- 技术
- 随笔
---
这里写正文。
现在这套 frontmatter 主要用了这些字段:
title:文章标题description:文章摘要cover:封面图路径pubDate:发布日期tags:文章标签
这样做的好处是写作很自由,同时结构又足够清晰,后面继续扩展 RSS、标签页、归档页也很方便。
3. 仓库管理:GitHub
这个博客项目本身放在 GitHub 仓库里,文章也跟着一起保存。
这意味着:
- 代码和内容都能统一管理
- 每次修改都有提交记录
- 可以随时回滚历史版本
- 换电脑或者长期备份都很方便
对于个人博客来说,GitHub 本身就是一个很适合的“内容仓库”。
4. 部署平台:Cloudflare Pages
部署这一层我用了 Cloudflare Pages。
原因也比较实际:
- 免费额度对个人博客足够用
- 接 GitHub 很方便
- 每次 push 到主分支后会自动重新构建
- 静态站点部署体验很好
我现在的部署流程是:
- 本地修改文章或页面
- 提交代码并 push 到 GitHub
- Cloudflare Pages 检测到仓库更新
- 自动执行
npm run build - 构建完成后发布到线上
也就是说,现在写博客的流程已经变成了“写 Markdown -> git push -> 自动上线”。
5. 这个博客现在的结构
目前项目里几个关键目录大概是这样:
src/pages:页面文件src/components:卡片等组件src/content/blog:所有博客文章public/covers:文章封面图
首页会自动读取文章内容,按时间顺序展示成卡片列表;文章页则根据 Markdown 自动生成。
6. 为什么我喜欢这套方案
这套方案最适合我的一点是,它不需要传统博客后台。
我不用登录管理系统去发文章,也不用维护数据库。文章就是 Markdown 文件,图片就是静态资源,GitHub 是内容来源,Cloudflare Pages 负责发布。
整体非常直接:
- 写作简单
- 维护成本低
- 部署自动化
- 速度快
对个人博客来说,这就是一种很舒服的状态。
7. 后面还能继续加什么
虽然现在已经能正常写和发,但后面还可以继续扩展,比如:
- 标签页与归档页
- RSS 订阅
- 评论系统
- 自定义域名和 SEO
- Sitemap
等这些再逐步补上,这个博客就会越来越完整。