← 全部文章

用 Astro 和 Cloudflare,搭建自己的技术博客

从 Markdown 到静态页面,再到自己的域名。一套简单、可维护的技术写作工作流。

技术博客首先是一个写作空间。理想的工具链应当让写作、预览和发布形成一个清晰的循环:文章保存在 Git 中,页面在构建时生成,发布后由边缘网络提供访问。

这是博客初始化时附带的示例文章。你可以修改或删除它,开始记录自己的实践。

从文章开始

本站使用 Markdown 管理文章。每篇文章放在 src/content/posts/ 中,文件开头的 frontmatter 用于描述标题、摘要、日期和标签。

---
title: '我的第一篇技术笔记'
description: '记录一个问题,以及解决它的过程。'
pubDate: 2026-10-09
tags: ['Engineering']
draft: false
---

文件名会成为文章路径,例如 first-note.md 对应 /posts/first-note/。确定路径以后,尽量保持稳定,避免让别人保存的链接失效。

在本地预览

在博客目录执行:

npm ci
npm run dev

开发服务器启动后,打开终端显示的本地地址。修改 Markdown 或样式,就能在浏览器里看到变化。

在发布前做一次完整检查:

npm run check
npm run build
npm run preview

构建结果保存在 dist/。这个目录是生成物,源文件和依赖锁文件才是版本控制的重点。

发布到 Cloudflare

本项目使用 Cloudflare Workers 的静态资源托管。Wrangler 读取 wrangler.jsonc,把 dist/ 中的页面上传到 Cloudflare。

npx wrangler login
npm run deploy

配置中的 Custom Domain 是 blog.datumframe.com。域名所在的 Cloudflare zone 需要处于 Active 状态,并属于部署使用的账号。

首次部署以及 Git 自动发布的完整步骤,记录在项目的 DEPLOYMENT.md 中。

让写作成为日常

发布流程稳定以后,下一篇文章可以从一个真实问题开始:

  1. 记录发生问题时的现象和上下文。
  2. 写清楚尝试过的路径,以及排除它们的证据。
  3. 解释最终方案的取舍。
  4. 留下复现步骤和仍然存在的限制。

文章不必一次写完。设置 draft: true 可以保留草稿;完成后改为 false,提交并重新构建,就能发布。

参考:Astro 内容集合、Astro 的 Cloudflare 部署指南。

本文结束返回归档 ↗