我的 GitHub Pages

首次发布
最后更新

本文目录

  1. v2围绕个人网站的重新设计与技术迁移,记录 AI 辅助下的重构过程。
  2. v1首次发布

选择要比较的版本

  1. v2
  2. v1

前言

这篇文章记录我基于 Jekyll 和 Minimal Mistakes 主题搭建 GitHub Pages 的方法。几年前我就决定做这件事,但由于一些实际原因一直没有完成。现在很高兴将它写成我的第一篇文章。

网站源码可以在这里查看。

技术细节

Jekyll

按照 GitHub 的建议,我选择了静态站点生成器 Jekyll。学习基本概念时,可以从分步教程开始。后续开发则可以使用 Jekyll Docker 镜像完成构建和本地托管。

# 从 Jekyll Docker 镜像启动容器
# 端口 4000 用于在 http://localhost:4000 本地托管
# 镜像还公开了端口 35729
docker run -itd -p 35729:35729 -p 4000:4000 -v $HOME/workspace/sshawn9.github.io:/jekyll --name jekyll jekyll/jekyll bash

# 进入容器
docker exec -it jekyll bash

# Jekyll 容器中的一些常用命令
bundle init # 创建默认 Gemfile
bundle
bundle update
jekyll serve

Minimal Mistakes 主题

与从零开始相比,选择一个主题更加方便,可以专注于写作而不必过多考虑布局和样式。我一直在寻找优雅的主题,但真正符合要求的往往并不免费。下面是一些主题网站:

最终我回到了广为人知、以 MIT 许可证发布且可以免费使用的 Minimal Mistakes。可以通过主题模板 mm-github-pages-starter 创建自己的 GitHub Pages 仓库。

通过 Minimal Mistakes 模板创建 GitHub Pages 仓库的页面

不要遗漏其故障排查说明。尝试在本地托管由该模板建立的网站时,可能遇到下面的 Liquid 异常:

本地运行模板时出现 Liquid 异常的终端输出

修复方法如下:

  1. 在 _config.yml 中加入以下内容。
# 本地托管:
# 修改为自己的设置
PAGES_REPO_NWO: sshawn9/sshawn9.github.io
repository: sshawn9/sshawn9.github.io
  1. 在 Gemfile 中加入以下内容。
group :jekyll_plugins do
  gem "kramdown-parser-gfm"
  gem "webrick"
end

更多信息参见这里。对于 No GitHub API authentication could be found. Some fields may be missing or have incorrect data. 这条警告,我选择忽略。

部署到 GitHub

Jekyll 部署文档列出了多种方案,我选择 GitHub Actions。这里是我的 GitHub Actions 部署配置。

更多信息

网站图标

创建自己的 _includes/head/custom.html,具体方法参见这里。

待办事项