1 分钟阅读

我的博客主题折腾史

从零开始,一路换过 minima → midnight → Chirpy → Minimal Mistakes, 折腾了三天,最后发现——原来 GitHub Actions 根本不需要改。

缘起

2026 年 5 月 10 日,我搭好了自己的 GitHub Pages 博客。

最初的想法很简单:找个地方写写算法题解,记录学习和生活。然后我就一头扎进了主题的深渊。

第一阶段:minima(默认主题)

1
commit 26e9a6e  add: add a theme

最早的 _config.yml 只有一行:

1
theme: minima

minima 是 GitHub Pages 的默认主题,极简风格。博客的样子就是白底黑字,文章列表从上往下排。没有导航栏,没有分类,没有搜索,没有关于页面——什么都没有。

那时候我的仓库里只有 README.md 和 _config.yml,空空如也。

现在回头看,这就像买了一台新手机,开机后发现除了预装电话本啥也没有。

第二阶段:midnight(换个官方主题试试)

1
2
commit 3e3e89a  theme: 将theme换了midnight
commit 2dad15c  add: add index.md homepage for midnight theme

我换成 midnight——深色背景的主题,看起来很酷。但还是没有任何额外功能。我甚至手动创建了 index.md 首页,让博客至少有个能看的主页。

那时候我开始意识到:官方主题虽然稳定,但功能太少了。

第三阶段:Chirpy(终于像个真正的博客了)

1
2
3
4
commit c4f4fd7  主题:更换为Chirpy
commit 21fae8d  修复: 用 GitHub Actions 部署 Chirpy 主题
commit f5a94a1  Chirpy 主题 + GitHub Actions
commit 14bbc89  fix: 添加缺失的Chirpy插件声明

换了 Chirpy 之后,博客一下子”活”了过来:

  • ✅ 搜索功能
  • ✅ 分类/标签自动聚合
  • ✅ 文章目录
  • ✅ 漂亮的导航栏
  • ✅ 归档页面
  • ✅ 阅读时间估算

这些不是我写的——是 Chirpy 主题自带的。 就像从功能机换成了智能机,一切都在主题的代码里。

但也遇到了问题:Chirpy 需要用 GitHub Actions 来构建(因为它依赖一些插件),而 GitHub Pages 默认构建会失败。所以我折腾了一轮 Actions 配置,最终搞定了。

这个过程中我第一次接触 jekyll-archives、Gemfile、bundle 这些概念,虽然只是照葫芦画瓢,但至少让博客跑起来了。

第四阶段:Minimal Mistakes(被迫迁移)

1
commit dda058f  切换主题: Chirpy → Minimal Mistakes

想尝试新东西,结果发现 Chirpy 的某些问题(或者单纯想换个风格),我决定换到 Minimal Mistakes。

但问题来了:

  1. 文件结构不同 — Chirpy 的 _tabs/ 变成了 _pages/
  2. 配置方式不同 — Chirpy 的 jekyll-archives 插件不能直接在 Minimal Mistakes 里用
  3. 我以为 GitHub Actions 也要换 — 结果折腾了半天,DeepSeek 进入了死循环

第五阶段:踩坑后的顿悟

最后发现一个让我哭笑不得的事实:

我一直在改的 .github/workflows/pages-deploy.yml,根本不需要动。

那个 workflow 做的事情很简单:

1
checkout → bundle exec jekyll build → upload → deploy

它不在乎你用什么主题。主题由 _config.yml 和 Gemfile 决定,workflow 只是通用构建流程。

所以 DeepSeek 的死循环也很好理解:我让它修一个不需要修的文件,它给出修改建议,部署还是不对,它再改,还是不对……无限循环。

真正影响博客样子的,自始至终只有三样东西:

文件 作用
_config.yml 声明主题、配置站点信息
Gemfile 安装主题 gem
_posts/*.md 文章内容(含 categories 和 tags)

至于 _pages/ 下的那些文件(about.md、category-archive.md……),它们就像是目录索引——告诉 Jekyll “请在这里创建一个页面,用主题的某某模板来渲染它”。主题提供了模板引擎,但入口文件需要你自己创建。

学到了什么?

学到了很多:

  • GitHub Actions 是主题无关的,不要乱动
  • Jekyll 的 layout、categories、tags 是怎么协作的
  • _pages/ 是入口文件,不是主题功能本身
  • 主题提供模板和数据渲染逻辑,但你要告诉它怎么拼

也没学到什么:

  • 三天时间换了好几个主题,最后用的是最初就该选的那个
  • 有些坑明明可以绕过,非要自己踩一遍才算完

最后

如果你也在折腾博客主题,我的建议是:

  1. 先想清楚要什么 — 极简还是功能丰富?写技术还是写生活?
  2. 选一个成熟的主题 — Chirpy、Minimal Mistakes 都是经过大量用户验证的
  3. 看清楚底层逻辑 — 别像我以为换主题就要换 GitHub Actions,其实人家根本不相关

折腾的过程虽然让人烦躁,但回头看,这些坑踩得也算值得——至少现在我终于搞清楚这些东西是怎么运作的了。:)