优雅至极:基于 Hugo + Cloudflare 构建代码与内容分离的静态博客

在搭建个人博客时,很多人会将博客的框架代码(如 Hugo/Hexo)、主题文件和文章的 Markdown 文件混在一个 GitHub 仓库里。这虽然简单,但随着文章越来越多,你的写作环境会被各种前端配置文件干扰;而且,如果你想写一些不公开的私密草稿,公开的仓库也无法满足需求。 为了获得最纯粹的写作体验,我采用了 「代码与内容分离」 的架构。今天这篇文章,就来详细聊聊如何基于 Hugo + PaperMod 主题,配合 Cloudflare Pages 部署这样一个现代化的博客。 🏗️ 架构概览:双仓库联动 我的博客由两个 GitHub 仓库组成: 引擎仓库 (公开):PaperMod-Blog-Cloudflare 角色:博客的“打印机”与“骨架”。 内容:包含 Hugo 的配置文件、PaperMod 主题、自定义 CSS 等。没有实质性的文章内容。 内容仓库 (私有):blog-content 角色:博客的“燃料”与“血肉”。 内容:纯净的 Markdown 文件和图片资源。 优势:设置为 Private (私有),确保草稿和私密笔记的安全。写作时只需在本地使用 Obsidian 或 Typora 即可。 这两个仓库通过 Hugo Modules(Go Modules 底层)连接。当云端开始构建时,引擎会自动把内容仓库拉取过来,合并渲染成最终的网页。 在 config.yml 中添加如下配置: module: imports: - path: github.com/adityatelange/hugo-PaperMod - path: github.com/monstercjz/blog-content mounts: - source: blog-paper # 内容仓库的blog-paper目录 target: content/posts # 挂载到 content/posts 🛠️ 部署痛点一:Cloudflare 如何拉取私有内容? 将公开的引擎仓库绑定到 Cloudflare Pages 非常简单,但在执行 hugo 构建命令时,如何拉取私有的 blog-content 仓库是核心难点。 ...

2026年3月18日 · 7 分钟 · 冇文化