这是一篇专门用来测试图片上传链路的文章。目标很简单:文章在本地 Markdown 里只引用一张本地图片,然后通过 CLI 自动上传到 R2,并把正文里的图片链接改写成云端 URL。

R2 图片上传管线示意图
R2 图片上传管线示意图

这次要验证什么

第一,本地内容仍然是 Markdown 文件,图片也先落在 content/assets/local/。写作时不需要手动打开 R2、上传文件、复制链接,再贴回文章。

第二,执行 blog assets upload 后,CLI 会上传本地图片到 Worker 绑定的 R2 bucket,并把 Markdown 中的本地路径替换成 R2-backed URL。

第三,执行 blog sync pushblog publish 后,公开站点只从云端读取 published 内容。也就是说,本地文件是写作体验,云端 D1/R2 是发布和恢复层。

我希望这个流程保持的感觉

图片应该像粘贴进一张纸:先在本地自然出现,再被系统安静地搬到 R2。作者不应该感知到存储细节,只需要看到文章最终能正常显示。

这也是 Helloworld 这个系统的核心方向:Markdown 保持可控,云端负责恢复、同步和发布。工具多做一点脏活,写作的人少做一点杂事。