hugoの更新してたら出たエラー対処色々
久しぶりにローカルでhugoを建てていじろうと思ったらエラー出てしまったのでその対処ログ。
環境
hugo:0.150.0+extended テーマ:mainroad
_default/baseof.html
can’t evaluate field IsServer in type page.Site
↑となっているのでbaseof.htmlの .Site.IsServer を hugo.IsServer に書き換える。
.Site.IsMultilingual
.Site.IsMultilingualを片っ端から見つけてすべてhugo.IsMultilingualに書き換える。
.Site.Author
Site.Authorを片っ端から見つけてSite.Paramに書き換える。
なおhugo.tomlのような設定ファイルで
[Author]
name
avater
↑のようになっていたら
[Param]
name
avater
としてParamにすべて入れる。
_partials/comments.html
たぶんこれはテーマによるところが大きいと思います。
{{ if and hugo.Services.Disqus.Shortname (index .Params "comments" | default "false") (not hugo.IsServer) }}
<section class="comments">
{{ template "_internal/disqus.html" . }}
</section>
{{ end }
↑Mainroadはいじっていなければこうなっている。いた。
これの問題としてのエラーメッセージは
: can’t evaluate field Services in type interface {}
これはDisqusを使ったコメントについてなのだがこの機能自体使っていないのでとりあえず楽に変更。
{{ if (index .Site.Params "comments" | default false) }}
<section class="comments">
{{ template "_internal/disqus.html" . }}
</section>
{{ end }}
↑にしてhugo.tomlで[Params]の中にcomments=true/falseで決めればon/offできる感じに。
Google Analytics
hugo.tomlの書き方を変更
googleAnalytics = "hogehoge"
[services]
[services.googleAnalytics]
ID = "hogehoge"
.Site.GoogleAnalyticsをhugo.Services.GoogleAnalytics.IDに片っ端から変更。
その他
なんかローカルとgithub actionのバージョン合わせてもうまくいかず原因探ったらテーマのbaseof.htmlのファイルだったみたいでgithubから最新のbaseof.htmlファイルをテーマリポジトリからコピーしたら直った。
hugoは仕組み上しょうがないですがテーマの更新はしないのでたまには気にしたほうがいいかもですね。
感想・雑記
正直このブログに新機能とかはほとんど加える気はないのでhugoのバージョンを固定してしまってもいい気はするがなんとなく最新にしておきたい。それでエラー対処の時間増えているならあんまりな気もするが。