Hugoのバージョンアップで発生したエラーを修正する

Hugoのバージョンアップで発生したエラーを修正する
目次


はじめに

このサイトは静的サイトジェネレータのhugoを使用して作成しています。

これまでV0.92.2(WSL)を使用していました。今回環境をV0.125.7(Windows)に変更したところ、何点がエラーが発生しました。エラーの原因と修正方法を紹介します。

今回の環境

  • 変更前 : v0.92.2+extended(wsl)
  • 変更後 : V0.125.7+extended(win10)
  • hugoのテーマ : Mainroad

発生したエラーと解決方法

languageキー仕様変更によるエラー

ERROR deprecated: config: languages.ja.dateformat: custom params on the language top level was deprecated in Hugo v0.112.0 and will be removed in Hugo 0.126.0. Put the value below [languages.ja.params]. See https://gohugo.io/content-management/multilingual/#changes-in-hugo-01120

日付を日本語表示にするため [languages.ja] キーの下に dateformat パラメータを設定していましたが、V0.126.0から廃止になったようです。 [languages.ja.params] の下に置けばよいらしいので、 config.toml を以下のように修正して解決しました。

変更前

[languages]
[languages.ja]
#日付フォーマット
dateFormat = "2006年1月2日"

変更後

[languages]
[languages.ja]
[languages.ja.params] # ← 追加
#日付フォーマット
dateFormat = "2006年1月2日"

"_internal/google_analytics_async.html" 廃止によるエラー

ERROR render of "taxonomy" failed: execute of template failed: html/template:_default/list.html:54:14: no such template "_internal/google_analytics_async.html"
ERROR render of "term" failed: execute of template failed: html/template:_default/list.html:54:14: no such template "_internal/google_analytics_async.html"
Error: error building site: render: failed to render pages: render of "home" failed: execute of template failed: html/template:index.html:54:14: no such template "_internal/google_analytics_async.html"

Googleアナリティクス用のテンプレートが廃止なったことにより、エラーがでました。 _internal/google_analytics_async.htmllayouts/_default/baseof.html で読み込んでいることがわかったので、以下のように変更して解決しました。

layouts/_default/baseof.html の以下の部分を削除。
<!-- -->でコメントアウトだとエラー回避できないので、必ず「削除」してください。

{{- if not .Site.IsServer }}
{{- if hasPrefix .Site.GoogleAnalytics "G-" }}
{{ template "_internal/google_analytics.html" . }}
{{- else }}
{{ template "_internal/google_analytics_async.html" . }}
{{- end }}
{{- end }}

config.toml の以下の行も必要ないので削除。

googleAnalytics = "xxxxxxx" # Enable Google Analytics by entering your tracking id

警告:ahthorキーが非推奨に

WARN  The author key in site configuration is deprecated. Use params.author.name instead.

まだ警告ですが、[author]キーが廃止のため[params.author]キーに変更します。しかし変更するとWARNは消えますが、オーサーボックスも表示されなくなります。

変更前

[author]
  name = "サイト管理者 : タカツ"

変更後

[params.author]
  name = "サイト管理者 : タカツ"

調べていくと 同じ問題 が起きていました。どうもテーマの方が対応していないとだめなようです。とりあえずサイトビルドはできるので、こちらは修正せずに今後対応しようと思います。

終わりに

以上、エラーの対処方法でした。

hugoは日本語の情報があまりまとまっていないので、引っかかるとシンドいですね。お役に立てば幸いです。