一个个人博客真正困难的部分,通常不是把第一页做出来,而是几年以后仍然愿意打开编辑器,写下一篇新文章。
如果发布过程很脆弱,每次升级都需要修一堆依赖,写作会逐渐变成维护软件。这个站点选择 Astro、Markdown、GitHub 和 Cloudflare Pages,核心理由不是新,而是简单。
内容要能离开框架
文章保存在普通的 Markdown 或 MDX 文件中。标题、日期和主题放在文件开头,正文仍然是可直接阅读的纯文本。
---
title: 一篇新文章
publishedAt: 2026-08-21
tags: [工程, 笔记]
---
从这里开始写正文。
即使未来换掉整个生成器,这些文件仍然可以被其他工具读取。MDX 允许在文章里使用边注等小组件。只使用 Markdown 的文章则拥有最强的可迁移性,可以按需要选择。
默认不向浏览器发送脚本
博客的主要动作是阅读。静态 HTML 已经足够完成这件事,所以页面不需要先下载一套应用运行时才能显示正文。
这样做带来几个直接结果:
- 首屏更快,弱网络下也更稳定。
- 页面结构容易被搜索引擎和阅读器理解。
- 依赖更少,几年后的维护成本更低。
必要的交互仍然可以单独加入,但它应该先说明自己解决了什么问题。
发布应该只剩一次推送
文章写完后,执行检查并推送到 GitHub。Cloudflare Pages 读取仓库,运行构建命令,再把生成的 dist 目录发布出去。
生产分支只需要两项配置:
Build command: npm run build
Build output: dist
每个分支还可以拥有独立的预览地址。改动先在真实网页里读一遍,再合并到主分支,这比在编辑器里猜测排版可靠得多。
给未来留一个清楚入口
所有经常修改的信息都应该集中起来。站点标题、作者、描述和仓库地址放在 src/config.ts,文章放在 src/content/posts。新增内容不需要理解整个项目。
长期可用的系统往往不显得聪明。它只是把最常做的事情变得容易,把不常做的事情保持可理解。对博客来说,这已经足够。
