stefafafan の fa は3つです

"すてにゃん" こと id:stefafafan のブログです

個人ブログの記事をGitHubで管理するようにした

現役はてな社員ということもあり、ドッグフーディングの意味も込めてずっとはてなブログを利用してきました。ブログを書く時は基本はてなブログの記事編集画面から直接編集してきましたが、このたび公式でGitHubテンプレートリポジトリが公開されていたので使ってみることにしました。(自分ははてなブログチーム所属ではありませんが、株式会社はてなのエンジニアなので宣伝記事ではあります)。

staff.hatenablog.com

セットアップについて

基本的にリポジトリのREADMEに書いてある通りぽちぽちしていれば簡単に記事を全部リポジトリに同期できて非常に楽でした。記事の同期の際に下書きエントリも公開状態になっちゃうのかと少し気になりましたが、そこは初期セットアップの際に下書きも取り込むかどうかのフラグがあったので安心ですね。

github.com

なお、自分はWebアプリケーションエンジニアであり日頃からGitHubで生活しているので何のハマりもありませんでしたが、非エンジニアがセットアップするのはちょっとGitHubに慣れないと難しそうではありました。

記事の公開までの流れ

こちらもREADMEに書いてあるのでそちらをご参照くださいという感じですが、Actionsの画面から手で下書きを作成するWorkflowをトリガーし、その後は該当するPull Request上で作業、終わったらマージして公開という流れでこちらもGitHub慣れしていれば非常にシンプルだとは思いました。

Actions を手で実行するという点について

下書きを作成するステップとして Actions の画面から create draft を選択するという流れになっていますが、エンジニアとしてはいちいちGitHub Web UIからActionsの画面から該当するWorkflowを探しにいくのが面倒に思いました。

ただ冷静になるとこれは gh コマンドで手元から発火できるのでこういうイメージで手元からWorkflowを発火させてからブランチ移動して下書きを作っていくと便利かもしれません。

# 下書きを作成するWorkflowを発火
$ gh workflow run create-draft.yaml -f title="個人ブログの記事をGitHubで管理するようにした"

# 実行状況の進捗確認 (STATUSが ✓ になったら完了)
$ gh run list --workflow=create-draft.yaml
STATUS  TITLE         WORKFLOW      BRANCH  EVENT              ID          ELAPSED  AGE
✓       create draft  create draft  main    workflow_dispatch  7157103609  36s      less than a minute ago
✓       create draft  create draft  main    workflow_dispatch  7150418376  29s      about 1 day ago

# 新しいブランチができているのでpullしてくる
$ git pull

# 新しいブランチに移動
$ git switch draft-entry-XXXX

# お好きなエディタを起動して draft_entries/ 以下にできたファイルを編集していく
$ code .

感想

自分で一から blogsync の使い方などを調べてやるよりも格段に楽で非常に体験がよかったですね。Actions の画面からWorkflowを実行するのは面倒だなと最初思いましたが、前述した gh コマンドを使えばそこも特に気にならなくなりました。

こうなってくると手元のVS Codeから直接記事プレビューもちょっとみたくなってきますね。とはいえブランチにpushしていけば勝手にはてなブログに反映され、下書きURLをひらけば見れるのでどうしてもほしいというほどでもないかもしれない。

そういえば各種Workflowで使われているReusuable Workflowのアップデートに追従したいなと思って以下のように dependabot.yml の配置を個人的にしたのでもしかしたらテンプレートリポジトリにもこういうのが入っていても良いのかもしれないですね。
github.com

上記のような「こうしてもいいかも?」と思ったことは何でもテンプレートリポジトリやその中で使っている Reusable Workflows へ気軽に issue や Pull Request が投げられるのでそこもかなり良いポイントですね。

この記事は すてにゃん Advent Calendar 2023 - Adventar 9日目の記事です。