ForeverYang's 博客

GitHub 部署自己的个人博客网站

在这个 AI 时代,知识库成了最火的项目。AI 需要知识库来提升专业度,人类需要知识库辅助学习和记忆。但有一个问题是:互联网上有什么是可以永久留存的呢?所有的服务都会随着运营商的倒闭而面临关闭,你用来保存知识库的载体也会随着消失。而目前来看,唯一能够长久存在可能也就只有这个全球最大的仓库 GitHub 了,所以把知识放在 GitHub 上成了很多人的首选方案。

想要了解整个详细流程,可以查看 使用 Hugo + GitHub 部署博客 这个详细的文档。

使用的技术

简化的流程说明(AI 自动操作)

  1. 本地环境搭建:安装 Hugo 和 Git。
  2. 创建与配置站点:初始化 Hugo 站点,选择并配置主题样式。
  3. 编写与预览内容:用 Markdown 写文章,本地启动服务预览。
  4. 连接 GitHub 并自动化部署:将代码推送到 GitHub,配置 Actions 自动构建和发布。

修改美化 Hugo Blog

先了解一下 Hugo 的整体框架,了解了框架才能知道 AI 改了哪些东西。使用不同的主题,架构可能有一些不同,我们只要了解基础架构,细节就交给 AI 自己去学习。

Hugo 站点的目录结构

📁 核心内容与模板(你需要经常编辑的)

⚙️ Hugo 配置与构建(自动生成或较少改动)

🔀 版本控制与自动化(Git 相关)

☁️ 部署与托管(Cloudflare 与 GitHub Pages)

你只要知道这些文件是干什么的、修改的东西要到哪里去查看就可以了,至于操作的事情交给 AI。

BearNeo 主题里,每一个导航就是一个 Markdown 文档

我使用的主题是 BearNeo,它是一个极简的主题,每一个导航其实就是一个 MD 文档,你也可以自己去打开文档去编辑内容。

Hugo 的 HTML 模板文件

如果想要做很大的样式上的修改,那就需要去改 HTML 模板了,当然你也可以让 AI 去修改。

Cloudflare 部署(了解一下,国内访问有限制)

Cloudflare 有两种部署方式 pages 和 workers,现在 Cloudflare 开始转向 workers,pages 现在是停止维护但是仍然可以使用的状态。

这里主要说明 workers 的部署过程。

选 Workers:具体设置

① 仓库里新增 wrangler.jsonc(这是唯一的仓库改动,AI 会帮你自动完成)

{
  "$schema": "./node_modules/wrangler/config-schema.json",
  "name": "foreveryang-blog",
  "compatibility_date": "2026-09-27",
  "assets": {
    "directory": "./public",
    "not_found_handling": "404-page"
  }
}

② 控制台(Workers & Pages → Create application → Continue with GitHub)

接下来的流程:

  1. Continue with GitHub → 弹 GitHub 授权页 → 授权 Cloudflare 的 GitHub App(仓库权限建议选 Only select repositories,只勾 xxxxxx.github.io)
  2. 回到 Cloudflare 选仓库 → xxxxxx.github.io
  3. Build command 填:
git submodule update --init --recursive && hugo --minify --gc ${HUGO_BASEURL:+--baseURL "$HUGO_BASEURL/"}
  1. Advanced settings 填:
项值
Root directory留空
Build variables and secretsHUGO_VERSION = 0.154.5(必填);HUGO_BASEURL = https://foreveryang.xxxxx.workers.dev/(不知道就先不建)
API token保持默认(Create new token)
  1. 两个开关

③ 点部署后,日志里核对三行

  1. Hugo 版本 = 0.154.5(证明 HUGO_VERSION 生效,没退到镜像默认的 0.147.7);
  2. 没有 Unable to find theme "hugo-bearneo"(submodule 拉下来了);
  3. 末尾 wrangler deploy 成功,并给出 https://xxxxxxxx.<子域>.workers.dev。

之后就是把域名发给 AI,让它确认就可以了。Cloudflare 的 workers 域名国内网络访问不了,可以自行使用自定义域名。

GitHub 怎么自定义域名

关键顺序(别做反)

GitHub 官方明确要求:先在仓库里填好域名,再去 DNS 加记录,反了有子域名被人抢注的风险。

① GitHub(先做)

https://github.com/mythstraw/mythstraw.github.io/settings/pages → Custom domain 填:

blog.foreveryang.top

→ Save

② 腾讯云 DNSPod(后做) 添加记录:

主机记录记录类型记录值线路TTL
blogCNAMExxxxxx.github.io默认600

记录值不带仓库名、也不要填 Settings 里那个 *.pages.github.io 的临时地址。

③ 生效后(几分钟 ~ 24h)回 Pages 页勾 Enforce HTTPS(证书签发还要几分钟)。

④ 让 AI 自行检查去触发一次构建:仓库 Actions → Deploy Hugo site to Pages → Run workflow(或随便 push 一篇文章)。构建时 configure-pages 会把 baseURL 自动换成新域名,canonical / index.xml / favicon 就都是 blog.foreveryang.top 了。

#Hugo #GitHub #Cloudflare