
从零搭建个人博客:Hugo + PaperMod + Cloudflare Pages 完全指南
前言 一直想搭个自己的博客,记录一些技术思考和随笔杂记。要求很简单: 📝 写 Markdown 就行,别折腾 🆓 全程免费,不花一分钱 🚦 推送代码后自动部署 🌙 支持暗黑模式、代码高亮、目录 🏷️ 支持标签、分类、RSS 最终选了 Hugo + PaperMod + Cloudflare Pages + GitHub Actions 这套方案。 整个过程从安装到上线大约 2 小时(主要是踩坑),下面是完整记录。 技术选型 对比了几个主流方案: 框架 构建速度 部署难度 主题生态 推荐度 Hugo ⚡ 极快(Go 二进制) 简单 丰富(300+) ⭐⭐⭐⭐⭐ Astro 快 简单 增长中 ⭐⭐⭐⭐ Hexo 中(Node.js) 简单 丰富 ⭐⭐⭐⭐ Jekyll 慢(Ruby) 简单(GitHub Pages 原生) 丰富 ⭐⭐⭐ Zola 快(Rust) 简单 少 ⭐⭐⭐ 最终选 Hugo:单二进制零依赖,构建秒级完成,PaperMod 主题开箱即用,支持暗黑模式、TOC、代码高亮、RSS 等所有需求。 整体架构 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ┌─────────────────────────────────────────────────────────┐ │ 你的本地电脑 │ │ │ │ 写 Markdown 文章 → hugo new content/posts/xxx/index.md │ │ ↓ │ │ hugo server -D 本地预览 │ │ ↓ │ │ git add . && git commit && git push │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ GitHub 仓库 │ │ │ │ main 分支 push 触发 GitHub Actions │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ GitHub Actions CI │ │ │ │ 1. checkout 代码(含 submodule) │ │ 2. 安装 Hugo extended │ │ 3. hugo --minify 构建静态资源 │ │ 4. 部署到 Cloudflare Pages │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ Cloudflare Pages │ │ │ │ 全球 CDN 加速,免费 SSL,自动分发 │ │ 访问地址:https://xiaohuang-blog.pages.dev │ └─────────────────────────────────────────────────────────┘ 全程自动化,你只需要 写文章 + push。 ...