HCM

Happy Coding Monkey

博客迁移至Hugo

2020-05-30


作为一个Gopher, 今天终于将博客从Jeklly迁移到了Hugo. 并不是一帆风顺, 折腾了大半天.

首先, Hugo同Jeklly Markdown文件的元数据有区别. 为了转为Hugo格式, 使用了一个工具ConvertToHugo, 是Python 2写的. 转换后的文件, date字段缺失. 因为之前时间是从文件名截取的(如: 2019-03-02-go-http-timeout.md), 所以自己写了个脚本解决.

其次, git submodule用得少, 碰到一些问题, 特别是删除submodule, 最后在stackoverflow找到的答案.

git submodule deinit <asubmodule>    
git rm <asubmodule>
# Note: asubmodule (no trailing slash)
# or, if you want to leave it in your working tree
git rm --cached <asubmodule>
rm -rf .git/modules/<asubmodule>

还有, 为了提交.md文件后, 博客能自动渲染, 使用Github Action建立了个CD流程.

name: Push to GitHub Pages on push to master
on:
  push:
    branches:
      - master

jobs:
  build:
    name: Deploy
    runs-on: ubuntu-latest
    steps:
      - name: Checkout master
        uses: actions/checkout@v1
        with:
          submodules: 'true' ## 使用了submodule

      - name: Deploy the site
        uses: benmatselby/hugo-deploy-gh-pages@v1.4.0
        env:
          HUGO_VERSION: 0.71.1
          TARGET_REPO: bopjiang/bopjiang.github.io
          TOKEN: ${{ secrets.TOKEN }} ## access token, 可惜不能给单个库做授权.

最后, 建立两个代码仓库:

做完的效果就是, Markdown格式的博客文件提交后, 1分钟内网站bopjiang.github.io上就能看到效果. 整个流程在github上搞定, 没有其他依赖.

参考