ブログをリニューアルした

最近は、ビールの他に日本のワインにハマってる。
今日も bookroad のワインを買ってきた。
今日買ったのは、甲州(リンクなかった) と アジロンだった。
それは後日に取っておく。

今日は、奥出雲葡萄園杜のワイン の赤を飲んだ。
ライトだけど、ミディアムよりで美味しかった。

積読にしてた、Functional and Reactive Domain Modeling を読み始めた。

さてブログをn年ぶりm回目のホスティングをしてみた。
今回は、Hugoを使って GitHub Pages にホスティングしている。

├── config.toml # 設定ファイル
├── content
│   ├── about.md
│   └── posts
│       └── ....
├── deploy.sh
├── public # 静的ファイルの生成先でサブモジュールにして github.io 用のリポジトリに管理
│   ├── ...
└── themes
    └── simpleness # submodule

ブログ全体を管理するリポジトリにpushすると、 ./public を github.io のリポジトリにpushするのを GitHub Actions を使って自動化してる。

GitHub Actions の設定ファイルはこんな感じ

name: Deploy

on:
  push:
    branches: [ master ]

  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
        with:
          submodules: true
          fetch-depth: 0
          token: ${{ secrets.DEPLOY_TOKEN }} # Submoduleに最終的にpushするために bot の token じゃなくて Personal Acess Token を使ってる

      - name: sync submodule for static site
        run: git submodule update --remote public

      - name: Setup Hugo
        uses: peaceiris/actions-hugo@v2
        with:
          hugo-version: '0.79.0'

      - name: build static site
        run: hugo

      - name: deploy static page
        continue-on-error: true # commitに差分がないとエラーになるのでエラーにならないようにしている
        run: sh ./deploy.sh # `hugo` の結果の生成された変更を自動でcommitしてpushするだけ

GITHUB_TOKEN が bot のためのトークンであって、自分のトークンではないということを知った。
あとは、 actions/checkout@v2 でチェックアウトしたときには、ブランチのチェックアウトとかではないらしいので push するときに git push origin HEAD:master する必要があった。

管理も楽だししばらくはこれでブログを書いていこうかなと思う。