Hop Step GoHugo!

私がブログの更新を円滑に行うために工夫していることを紹介します。
今回はフローについて少し。
次回はそのフローを実現するためのスクリプトを紹介します。
目次 - CLICKで開閉します -
はじめに
ブログに1件投稿するのは、とても簡単なことだと思いますか?
物書きが好きだったり、アイキャッチ画像を作るのが楽しくてたまらない人だったり、既に生活の一部となっている人にとってはなんでもなかったりするかもしれません。
私の場合はまだ経験が浅いということと、物書きも画像加工も得意ではないです。
おまけに今はテレワークでもないし、趣味とトレーニングに費やす時間を考えると、ブログを書く時間は可能な限り短くしたいと考えています。
ブログ更新のフロー
フローは大きく分けて三つです。
- 記事と、アイキャッチ画像を作成する。
- 記事を編集して、投稿可能な状態にする。
- 投稿して公開する。
これだけ見ると少なそうですが、実際には、
- 記事と、アイキャッチ画像を作成する。
- コマンドで記事を生成する
- 記事にタイトルやタグ、カテゴリ、公開日を記述する
- GIMPでアイキャッチ画像を作成する
- 記事を編集して、投稿可能な状態にする。
- 記事を編集する
- 記事のドラフトフラグを解除して公開日を再設定する
- developブランチにマージする
- 投稿して公開する。
- developブランチからmainブランチにマージする
- mainブランチにpushする(ビルドと公開は既に自動化しています)
簡単に見積もってもこれだけのステップがあり、ブランチマージ時にはコミットメッセージも手作業で書く必要があります。 マージ作業は1分程度の作業ですが、私はコミットメッセージを書くのも省きたいのです。(笑)
既に上記の幾つかは自動化に成功し、運用を始めていますが全てを手作業でやった場合、60分で執筆する記事(文字だけ)であったとしても、その他にかかる作業で1〜2時間を要していました。手作業で行うので、作業ミスが発生しないようにも気をつけなければなりません。
ブランチ運用イメージ

上の画像はブランチ運用の概要イメージです。
フローは大きく、Develop, Drafting, Release, Bug Fixに分かれます。
一般的なGitフローと似ていると思います。
Developフェーズ
開発フェーズです。
ブログ自体の新機能実装や改善、ショートコードを作ったりするのがここになります。
Draftingフェーズ
日々ブログを書くフェーズです。Developフェーズと並行して進みます。
Releaseフェーズ
書き終わったブログや、実装が完了した機能をリリース(本番環境に反映)します。
流れ作業で個人のブログということもあって量も少ないので、そこまで大変な作業ではないです。
Hot Fixフェーズ
本番環境で発生した重要な不具合(やTypo等の表記ミス)の対応をします。
mainブランチから緊急対応用のブランチを作成し、実装したらmainブランチへ即時反映します。
構想を具象化する
前項で挙げたブランチ運用の中で、頻度が多く手間がかかる(手間をかけたくない)のはDraftフェーズと、そこでの成果物をReleaseフェーズで実施するときの作業です。
このフェーズでの作業を可能な限り楽にする手段として、ショートコードを作成したり、テンプレートを使いやすいものにしたり、アイキャッチ画像自動生成プログラムを導入したりしました。
ただし、これらを駆使したとしても、リリースに向けた投稿日時の書き換えであったり、コミット時のメッセージは手動で入力する必要があります。
手間を短縮する次のステップとして、
『記事操作の便利コマンドを作成する』
のが今の自分にとって一番効率が良いことと考えました。
次回の『Hop Step Go Hugo』では、Python言語を使って記事操作のコマンドスクリプトを作っていきます。
それでは、良いCoffeeを。
関連記事
- Python argparseでHugo投稿用のコマンドセットを作る. [Vol.1] 要件編
- ブログを改良しました。
- hugoのsyntax highlightを簡易カスタマイズ
- Macで自動スリープを簡単に止める方法