部署与更新

怎么把文件传上去

先说实话:Cloudflare Pages 的「上传」是一次完整部署,没有文件级补丁。但你不用每次重传整个项目——只传 dist/,大约 100 KB。

第一次:上传整个站点

已经有 zhzwiki 这个项目的话,这一步可以跳过。

帐户主页 最近访问 Workers and Pages 域名 计算 ① 点这里 左边栏的 Workers and Pages
先在 Cloudflare 后台点左边栏的 Workers and Pages。
① 右上角 创建 / Create ② 选 Pages ③ 不要选 Git Upload assets 项目名填 zhzwiki,把 zip 拖进去,点 Deploy
创建 Pages 项目,选「上传资产 / Upload assets」,不要选 Connect to Git。
  1. Workers and Pages → 创建 → Pages
  2. Upload assets,项目名填 zhzwiki
  3. 拖 zhz-wiki-pages.zip 或 dist/,点 Deploy

以后:不要重传整个项目

Cloudflare 的直接上传没有「只传改动的文件」这种补丁,每次部署是一个新版本。但有两个办法让你不用碰整个文件夹:

方法 A:一条命令(推荐)

第一次登录,以后每次一条命令:

# 第一次
npx wrangler login

# 以后每次更新
npm run deploy

npm run deploy 会先 build,再把 dist/ 传上去;只传站点文件,不碰 content,也不用打 zip。dist 约 100 KB。

方法 B:GitHub 自动部署(更像补丁)

content/新文章.md 你只提交这个文件 GitHub Actions build + deploy Cloudflare Pages zhzwiki.pages.dev 不用手动上传,Actions 会跑 npm run build 再部署
把项目放进 GitHub 仓库,提交一个 .md,Actions 自动构建并部署。

一次性设置:把项目推到 GitHub,在仓库的 Settings → Secrets and variables → Actions 里加两个 Secrets:CLOUDFLARE_API_TOKEN、CLOUDFLARE_ACCOUNT_ID。之后只要往 content/ 里提交一个 .md 就行。

工作流文件已经放在 .github/workflows/deploy.yml,分支名默认 main。你只提交一个文件;Cloudflare 那边还是会生成一个新版本,但不用你手动上传任何东西。

写一篇新文章

打开 写文章,填好标题、时间、正文,下载 .md,放进 content/,再用方法 A 或 B 更新。

时间精确到分钟,会写进 front matter;列表按时间排序。未来时间也会立即出现,静态站没有定时发布。

常见问题

为什么不能只传一个文件?
Cloudflare Pages 的部署是原子替换,每次都是完整版本;没有文件级补丁。
那「补丁」是什么意思?
对你来说,只改一个 .md、只提交一个 .md;构建和上传交给命令或 Actions。
时间怎么自定义?
写文章页的时间字段精确到分钟,会写进 front matter;列表按时间排序。
部署后页面没变?
先确认 Actions / Deploy 成功,再 Ctrl + F5 强刷;favicon 的缓存尤其顽固。