Hugo 自动化 CI V2

2020年4月13日 · 301 字 · 1 分钟 · Hugo CI

改进了一下自动化发布博客的 CI,代码在下面。

如果想拿去用的话只需要修改 env 下的值就行了。

name: blog

on: [push]

# 各种信息在此处设置
env:
  # config.toml 里 theme 的值
  THEME_NAME: left
  # 主题的 github 链接
  THEME_REPO: https://github.com/batkiz/left.git
  # github username
  USER_NAME: batkiz
  # github email
  EMAIL: batkiz@outlook.com
  # GitHub token
  GH_TOKEN: ${{ secrets.GH_TOKEN }}

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
      # 获取 repo 内文件
      - uses: actions/checkout@v2
      # 使用预编译的 Hugo 二进制文件
      - name: Setup Hugo
        uses: peaceiris/actions-hugo@v2
        with:
          hugo-version: "latest"
          extended: true

      # 新建站点
      - name: new site
        run: |
          hugo new site $HOME/blog          

      # 获取主题
      - name: get theme
        run: |
          git clone --depth=1 $THEME_REPO $HOME/blog/themes/$THEME_NAME          

      # 获取 $user.github.io 以保持 commit 记录
      - name: get username.github.io
        run: |
          git clone --no-checkout https://github.com/$USER_NAME/$USER_NAME.github.io.git $HOME/blog/public          

      # 将内容文件复制进入站点内
      - name: copy in
        run: |
          rm -rf $HOME/blog/config.toml $HOME/blog/content/
          /bin/cp -rf config.toml $HOME/blog/config.toml
          /bin/cp -rf content/ $HOME/blog/content/          

      # build
      - name: build
        run: |
          cd $HOME/blog
          HUGO_ENV=production hugo --gc --minify          

      # 将生成出的站点推向 user.github.io
      # 注意设置 github token
      - name: publish
        run: |
          git config --global user.name $USER_NAME
          git config --global user.email $EMAIL
          cd $HOME/blog/public
          git add .
          git commit -m "Auto Update: `date +'%Y-%m-%d %H:%M:%S'`"
          git push "https://$USER:$GH_TOKEN@github.com/$USER_NAME/$USER_NAME.github.io.git" master:master          

附赠本人用于存放 blog 内容仓库的 gitignore

用 C# 设置 Hugo Aliases

2020年1月5日 · 898 字 · 2 分钟 · Csharp Hugo

2020 年新年好!

相信细心的读者已经注意到了,本博客的文章链接已经全部从 blog.batkiz.com/:year/:month/:day/:filename/ 调整为了 blog.batkiz.com/posts/:year/:filename/ 的 url 格式。主要的原因是 url 的可读性:一则我个人认为让完整的日期出现在文章的 url 中对“人”非常之不友好。比如我曾想直接输入文章链接访问文章时,日期极大地为我原本就不太好的记忆力增加了负担。另一方面,具体而完整的时间对于读者也是不必要的,几乎没有人会关注文章是在几月几号几点写的,作为读者,更关注的点在于内容,在 url 中隐藏掉具体的时间,只给出一个年份,在我看来是某种程度上的平衡。

博客迁移至 Hugo 并实现自动化

2019年10月20日 · 2105 字 · 5 分钟 · Hugo

好久不见!

自 6 月以来,本人虽然没什么产出,但怎奈没动力写博客,至今只写了两篇不疼不痒的综述文章。但今天(2019/10/20)偶然在 v2ex 上看到了 hexo 释出 4.0 版本 的消息,而后想到自己曾数次想要脱离贵前端生态圈,摆脱令人脑壳痛的依赖问题,实现博客自动化等等等等事情。