以前までブログのコンテンツ管理システムとしてWordPressを使用していましたが、2023年の8月にHugoに移行しました。
その際に選択したテーマはClarityでしたが、 別のテーマも試してみたいと思い、いろいろなテーマを探してみたところBlowfishが良さそうだったので変更しました。
テーマの変更方法 #
Blowfishのインストール #
Hugoはインストール済みなので、Blowfishのインストールから始めています。
Blowfish ToolsというBlowfish管理専用のCLIも提供されていましたが、Git submoduleでインストールしました。
tomlの設定 #
config/_default/
内のファイルは一旦バックアップを取って、Blowfishのthemes/blowfish/config/_default
のファイルをconfig/_default/
にコピーしました。
Getting Startedに従いhugo.toml
の設定を行いました。
config.toml
、params.toml
などの設定は下記を参考にしました。
また、各種tomlファイルの設定は下記のサイトも参考にしました。
Shortcodesの修正 #
ClarityのShortcodesは削除し、BlowfishのShortcodesを追加しました。
外部サイトへのリンクカードについてはBlowfishのShortcodesに存在しないようなので、
下記のHugo公式サイトのCreate your own shortcodesを参考にlayouts/shortcodes/linkcard.html
を作成し、
その中に外部サイトへのリンクカードを表示するShortcodesを記述しました。
移行でエラーが発生したところ #
ShortcodesのArticleで循環参照が発生し、ビルドが終わらない #
BlowfishのShortcodesのArticleを使用すると、内部サイトへのリンクを下記のように表示することができます。
ただし、相互のページにArticleのShrtcodesを使用してリンクを張ると循環参照が発生し、ビルドが完了せず、タイムアウトでエラーが発生します。 どちらかのArticleのShortcodesを削除するか、リンクを直接貼るなどの対応が必要です。
faviconが表示されない #
Blowfishで独自のfaviconを表示したいときは、staticに置けば表示されるはずなのですが、ファイルを置いても表示されず、デフォルトのフグのアイコンが表示されてしまいました。
この場合、ブラウザのキャッシュが残っているようなので、強制リロード(Edgeの場合Ctrl+F5)行うと独自のfaviconが表示されました。
Cloudflareのデプロイでエラーが発生 #
GithubのリポジトリにHugoのファイルをプッシュするとCloudflareのPagesにデプロイされるように設定しています。 ローカル上でのビルドは問題なかったのですが、Cloudflareのデプロイで下記のエラーが表示され、デプロイが出来なくなってしまいました。
ERROR render of "page" failed:
"/opt/buildhome/repo/themes/blowfish/layouts/_default/baseof.html:8:4":
execute of template failed: template: _default/single.html:8:4:
executing "_default/single.html" at <partial "head.html" .>:
error calling partial:
"/opt/buildhome/repo/themes/blowfish/layouts/partials/head.html:48:48":
execute of template failed: template: partials/head.html:48:48
: executing "partials/head.html" at <resources.Concat>:
error calling Concat: slice []interface {} not supported in concat
Blowfishのpartials/head.html
の48行目でエラーが発生しているようなのですが、どう修正すればいいか分かりませんでした。
色々試してみたところHugoのバージョンをv0.117.0
からv0.135.0
にアップデートしたら、Cloudflareにデプロイできるようになりました。v0.136.0
以上だとローカルのビルドでエラーが発生するのでv0.135.0
を使用してます。
バージョンアップしたことにより、ローカルのビルド時間はそれほど変わらなかったですが、Cloudflareのデプロイ時間がかなり長くなるようになってしまいました。
バージョンアップ前は1分程度でデプロイされていたのが、バージョンアップ後は10分程度かかるようになってしまいました。
ビルド時間が長くなってしまったのは残念ですが、このまま使用したいと思います。
番外:コメント機能(giscus)の導入 #
Blowfishとは関係ないですが、問い合わせ関連の機能も変更しました。
WordpressからHugoに移行したときに、Googleフォームを使用して問い合わせフォームを作成しましたが、
GithubのDiscuss機能を利用して各ページにコメントを残せるgiscusに移行しました。
各ページの一番下にGithubアカウントを利用してコメントを残すことができます。
下記を参考にGithubのPublicリポジトリを作成します。
Githubのリポジトリを作成したら、下記のサイトを参考にgiscusを導入します。
Blowfishのコメント機能設定は公式サイトの下記のページを参考にしました。