HUGOのブログ更新をほぼ自動化して楽にする
WordPressが面倒でHUGOに移行したけど、
毎回更新日を入れたり、Pushするの面倒だね。
もうチョット楽にしたいな。
HUGOでブログ更新しているなら、更新作業は自動化できます!
更新日も入れなくて良いし、Pushも自動でできます。
今回はHUGOでのブログ更新を最強に楽にする方法を紹介します。
この方法でブログ更新ができなかったら、単純にブログとは縁がなかった。と思ったほうがいいレベルでブログ更新が楽になります。
30分くらいでサクッと設定するだけで自動更新されるブログが手にはいります。
費用も0円なので、導入しない手はありません。
HUGOのブログ更新を自動化する前に
HUGOのブログを自動更新する前に自動化のメリットなどをチェックしていきましょう。
- ブログ更新を自動化するアプローチ
- 自動化できること・できないこと
- ブログ更新を自動化するメリット・デメリット
それぞれ、掘り下げていきます!
ブログ更新を自動化するアプローチ
HUGOのブログ更新を自動化するアプローチはシンプルです。
- HUGOの記事を少しでも触ったら更新日が入る設定にする
- git用のプログラムを書く
- 書いたプログラムを自動で定期実行する
ローカルのテスト環境のような自動更新とはなりませんが、この方法を使うとテキストエディタ以外一切触れないでブログ更新できます。
一般的なブログ更新と比べると圧倒的に負担が少ないのがわかるでしょう。
自動化できること・できないこと
本記事で紹介するHUGOブログ更新自動化で、自動化できる項目とできない項目を整理しましょう。
更新に関わる機能は、全て自動化できます。
ですが、ブログの執筆は自動化できないので自分でやりましょう。
ブログ更新を自動化するメリット・デメリット
ブログ更新を自動化するメリットとデメリットを見ていきましょう。
メリットはブログ更新の工数を減らしたり、更新のハードルを下げることですね。
デメリットはあまり思いつきません。
強いてあげるなら、最初に設定が必要なくらいです。
あと、下書きを絶対に見られたくない場合に、フロントマタ―をpublished: false
にする手間があるくらいでしょう。
自分は途中でも求めている人がいたら部分的にも出すほうが良いと思うんで、全公開してます。
画像が黒くなってる記事は画像を貼らないで先に公開したものです。
HUGOブログの更新自動化を実践3ステップ
では、HUGOブログの更新自動化を実際にやっていきましょう。
3ステップで自動でブログ更新ができるようになります。
- HUGOの更新日設定を調整する
- 自動更新用のスクリプトを書く
- macでcronを設定する
一つずつ順番にやっていきましょう。
HUGOの更新日設定を調整する
HUGOの更新日(lastmod)設定を変更しましょう。
変更箇所はconfig.tomlでlastmodに関する記載を変えます。
こちらの記事に詳しく書いています。
自動更新用のスクリプトを書く
次に自動更新用のスクリプトを書きましょう。
スクリプトっていうと大変そうに感じるかもしれませんが、シェルスクリプトなんでスグに書けます。
githubにコミット&プッシュできれば良いので数行です。
#!/bin/zsh
cd /リポジトリのあるディレクトリ/
git add .
git commit -m "自動更新"
git push origin
これだけでOKです。
ファイルの拡張子もいりません。
シェルがbashの人はzshからbashに変更して使ってください。
シェルスクリプトができたら一回手動実行して実行できるか確認しましょう。
最初のディレクトリの記述さえ間違わなければ、確実に実行できるはずです。
もし、zsh: permission deniedとエラーがでたら、シェルスクリプトのパーミッションに問題があるので修正しましょう。
以下のコマンドで対応できます。
cd /リポジトリのあるディレクトリ/
chmod 744 auto-hugo
シェルスクリプトを実行するには、実行権限が必要で、「chmod」はパーミッションを変更するコマンドです。
「744」の先頭の7が管理者の権限を表す数字で、ファイルの読み書き実行全てできるのは7なので、7にします。
後ろ2つは所有グループとそれ以外の人の権限で、「読み」だけができる4を付与しています。
あとは自動で実行するように設定するだけです。
macでcronを設定する
cronでシェルスクリプトの定期実行を設定しましょう。
cronのについて知らない人にカンタンに補足すると、Macとかのunix系OSに入ってる常駐プログラムで、ユーザーの指定通りにプログラムを定期的に起動してれます。
なので、cromでauto-hugoのファイルを定期的に自動実行させれば、HUGOブログが自動で更新されるということです。
cronは、「分 時 日 月 曜日 コマンド」を書くだけで設定できます。
最初は日時の書き方が難しいと思うので、cron作成ツール で日時を書くと楽です。
準備ができたら、ターミナルからcronを設定しましょう。
crontab -e
iを押すとインサートモードに入って、cronが書けるようになります。
毎日0時と12時に更新するなら、以下のように書きます。
0 0,12 * * * zsh ./ディレクトリ/auto-commit
記入したら、esc
を押して:wq
で保存完了です。
確認はcrontab -l
で出来ます。
まとめ:無料でHUGOブログの更新は自動化できる
無料で使える機能だけで、HUGOのブログ更新は自動化できます。
WordPressでブログを更新するのに比べたら負担は少ないですが、マメにプッシュするのは面倒ですよね。
チョットでも書いたら更新扱いになって、自動で反映してくれるとなるとブログ運営のハードルが一気に下がります。
30分もあれば設定できるので、スキマ時間に設定してみましょう。
まずは、HUGOのconfig.tomlの設定からやろう!