个人博客搭建实录:Astro + Vercel + 飞书与 MarkText 自动化工作流
在数字化碎片时代,搭建一个真正属于自己、没有算法推荐干扰且写作心智负担极低的个人博客,是许多技术爱好者的理想追求。
本文分享本站的完整技术架构与全自动化工作流设计。
🎯 核心诉求与设计目标
- 秒级打开:静态托管,全球边缘 CDN 节点加速,无客户端 JS 性能损耗。
- 双轨写作支持:
- 离线与本地写作:使用开源轻量写作神器 MarkText,基于本地 Markdown 文件直接创作。
- 随时随地灵感记录:使用手机或桌面端的 飞书文档,享受现代化富文本排版与协作体验。
- 图床零成本高可用:通过 Backblaze B2 (10GB 免费存储) + Cloudflare (免流出网 CDN 代理) 彻底解决图床外链与防盗链问题。
- 全自动 CI/CD:无论在本地 push 代码,还是飞书文档更新,自动同步并触发 Vercel 静态构建上线。
- 代码私密与安全:全项目托管于 GitHub 私有仓库,保护草稿与各种自动化 Token。
🏛️ 整体架构图
+------------------+ +-------------------+
| MarkText 本地写作 | | 飞书云端文档写作 |
+--------+---------+ +---------+---------+
| (Git Push) | (GitHub Actions 定时/Webhook)
v v
+----------------------------------------------+
| GitHub 私有仓库 (metathrone/blog) |
| 分支: main, 基于 Astro 构建 |
+----------------------+-----------------------+
|
| Webhook 触发自动部署
v
+----------------------------------------------+
| Vercel 边缘构建与托管 |
| 绑定域名: blog.rushia.eu.org |
+----------------------------------------------+
^
| 图片加载引用
+----------------------+-----------------------+
| Backblaze B2 + Cloudflare CDN |
| 绑定域名: img.rushia.eu.org |
+----------------------------------------------+
💻 写作与自动化工作流实践
1. MarkText 本地写作流
- 本地工作目录:
/Users/alice/blog - 文章路径:
src/content/blog/ - 配置 PicList / PicGo 配合 MarkText:
- 在 PicList 中配置 Amazon S3 / Backblaze B2 插件;
- 自定义域名填入
https://img.rushia.eu.org; - 在 MarkText 的设置 -> Image -> 启用 PicGo 自动上传;
- 复制或拖拽图片到 MarkText 时,自动上传并插入 CDN 永久链接。
- 写完执行
git commit -am "new post" && git push,30 秒内 Vercel 完成自动构建上线。
2. 飞书自动化同步流
- 在飞书中创建指定的“博客”知识库或文档目录;
- GitHub Actions 工作流(
.github/workflows/sync-feishu.yml)每天定时(或收到飞书 Webhook 触发后)执行; - 脚本自动拉取文档正文、解析富文本为标准 Markdown、下载内嵌图片并转存,最后将
.md文件提交入库; - Git 提交自动触发 Vercel 部署,无需手动复制粘贴!
总结
通过 Astro 的极致轻量与 Vercel 的边缘算力,搭配飞书与 MarkText 两种场景的写作入口,既拥有了云端随时随地写作的便利,又保留了 Markdown 纯文本的代码级自主掌控感!