文章

再一次重配博客

最近研究了 iOS 小组件相关的内容, 需要将学习的新内容整理成之后能随时拿来用的文档. 所以第一想法就是放到自己博客上.

无奈博客已经很久没有更新过, 一顿操作之下 github action 一直过不去, 虽然可以直接将整个本地编译好的 blog 静态站全部推上 github.io, 但是总感觉这样不好, 这样一搞当时是能用了, 但是后续几乎就再也不用考虑更新版本了, 主要我不是专业前端, 随着之后更新的博客越多, 就越难以维护, 索性趁现在东西少, 重新推翻再来一遍, 顺便记录一下这次的完整操作, 之后如果再有问题能直接复用.

配置 jekyll 环境

这个环境依赖 gem / reby 环境, 由于本机已经有, 就不再赘述了.

快速创建一个本地网站步骤如下:

1
2
3
4
5
6
gem install bundler jekyll
jekyll new my-awesome-site
cd my-awesome-site
bundle exec jekyll serve

# => Now browse to http://localhost:4000

接下来就是选择主题, 我选择 chirpy 主题, 下面是使用该主题, 迁移自己原博客的主要步骤.

主要步骤:

  1. 使用 chirpy-starter 创建自己 xiaoyouPrince.github.io 仓库.
  2. clone 仓库到本地 && 执行 bundle 安装依赖
  3. 打开 _config.yml 配置所需字段, 如: url, avatar, timezone 这个直接将原来本地配置好的内容复制过来就行
  4. 配置完成, 本地验证 bundle exec jekyll s
  5. 部署发布

网站配置, 迁移原来内容

下面是配置完成的文件目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
.
├── CNAME               --> 自定义域名转换文件, 迁移
├── Gemfile
├── Gemfile.lock
├── LICENSE
├── README.md
├── _config.yml         --> 核心配置项, 迁移
├── _data
├── _plugins
├── _posts              --> 所有发布博客, 迁移
├── _site
├── _tabs               --> 内部 about.md 是自定义关于页面, 迁移
├── assets              --> 默认资源文件, img 子文件夹存网站 icon, 迁移
├── index.html
└── media               --> 自定义媒体文件夹, 存放图/音视频, 迁移

部署发布具体操作如下:

  1. 根目录执行 bundle lock --add-platform x86_64-linux 锁定特定平台的 Gemfile.lock 文件(这个是针对本地非 Linux 设备)
  2. 配置自己仓库的 GitHub Pages 服务. 部署方式选择 GitHub Actions, 自定义域名输入自己域名.
  3. 编辑网站文件并 push 到 Github 即可, 等会就能通过网址访问自己的网站了.

遇到的问题和解决

问题: 就是按照文档操作完成, push 到 Github 后, Github Actions 执行一直失败. 经查看是 setup ruby 环境时候有依赖项目导致失败.

问题解决: 再多次推到重来的操作中, 最后一次在设置 Github Pages 服务的时候, 发现下面有一个使用 jekyll 工作流选项, 直接选择了该选项, 自动创建了一个 jekyll workflow 此工作流能执行成功, 算是偶然解决了问题.

参考:

  1. https://chirpy.cotes.page/posts/getting-started/
  2. https://docs.github.com/zh/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll

THE END.

本文由作者按照 CC BY 4.0 进行授权