写一篇建站记录,说说这个站的选型思路。结论先放: 纯静态 HTML + CSS,部署在 Cloudflare Pages,没有构建步骤,没有外部依赖。

为什么不先用框架

本来可以上 Next.js、Astro、Hugo 之类的。但对个人博客来说, 引入构建链 = 引入一堆需要维护的东西:node_modules、版本升级、 CI 配置、偶尔炸一次的 build。而博客本身只是几篇文章而已。

直接写 HTML 换来的是:十年后这些文件照样能打开,不依赖任何工具链。

为什么选 Cloudflare Pages

  • 免费额度实在:无限带宽、无限请求,不担心流量
  • 自带 HTTPS 和 CDN:全球节点,不需要自己配 Nginx
  • 部署简单:一条命令上传,几秒生效
  • 以后能换域名:加个 Custom Domain 就行,内容不动

部署命令

# 安装 wrangler(本地装,不动全局环境)
pnpm add -D wrangler

# 首次创建项目
wrangler pages project create my-website --production-branch=main

# 每次更新
wrangler pages deploy . --project-name=my-website --branch=main

我把这几步包进了一个 deploy.ps1,自动读取 token、 自动确认项目存在,以后更新只需要跑一个脚本。

关于域名

免费顶级域名在 2026 年 7 月已经终结了(Freenom 彻底停摆,.tk/.ml/.ga 全部到期)。 现在能白嫖的只有免费二级域名和子域名:

  • 名字.pp.ua —— 永久免费,即时开通,最像真域名
  • 名字.is-a.dev —— PR 申请,几小时过审,禁商用
  • 用户名.github.io —— 平台自带,但换平台就换网址

所以我的做法是:先用 Pages 送的 pages.dev 域名把站跑起来, 域名以后再说。反正换域名只是后台加一条记录,文章和代码都不用动。

一些实现细节

  • 样式全部手写,没有 Tailwind 也没有 CDN 字体 —— 离线也能看,国内访问无障碍
  • 用 prefers-color-scheme 自动跟随系统暗色模式
  • 文章就是一个个 HTML 文件,复制模板改内容,不需要生成器

小结

个人网站最重要的是能一直写下去。工具越重,放弃成本越高。 轻到他只剩下一个文件夹、一条部署命令,就不会因为折腾工具而停下来。