有馬総一郎のブログ

(彼氏の事情)

2024年11月25日 07:24:50 JST - 2 minute read - Linux

hugoのバージョンを123から139に上げたらビルドエラー

hugoのバージョンを上げると、エラーが出たので、直した。

$ hugo version
hugo v0.123.8-5fed9c591b694f314e5939548e11cc3dcb79a79c linux/amd64 BuildDate=2024-03-07T13:14:42Z VendorInfo=gohugoio
$ /home/arimasou16/Downloads/hugo_0.139.2_linux-amd64/hugo version
hugo v0.139.2-770f548b47b39e6f0fd4da1cc80552024e5829e1 linux/amd64 BuildDate=2024-11-23T15:33:51Z VendorInfo=gohugoio

出た内容としてたものは、以下のとおり。

WARN  deprecated: site config key paginate was deprecated in Hugo v0.128.0 and will be removed in a future release. Use pagination.pagerSize instead.
Start building sites … 
hugo v0.139.2-770f548b47b39e6f0fd4da1cc80552024e5829e1 linux/amd64 BuildDate=2024-11-23T15:33:51Z VendorInfo=gohugoio

ERROR the "lastmod" front matter field is not a parsable date: see /home/arimasou16/Nextcloud/hugo-site/content/post/2010-12-04-00074.md
ERROR render of "page" failed: "/home/arimasou16/Nextcloud/hugo-site/themes/Hugo-Octopress/layouts/_default/single.html:9:11": execute of template failed: template: _default/single.html:9:11: executing "_default/single.html" at <partial "post_header.html" .>: error calling partial: "/home/arimasou16/Nextcloud/hugo-site/layouts/partials/post_header.html:6:15": execute of template failed: template: partials/post_header.html:6:15: executing "partials/post_header.html" at <.Site.DisqusShortname>: can't evaluate field DisqusShortname in type page.Site
ERROR render of "page" failed: "/home/arimasou16/Nextcloud/hugo-site/layouts/page/single.html:30:11": execute of template failed: template: page/single.html:30:11: executing "page/single.html" at <partial "post_footer.html" .>: error calling partial: "/home/arimasou16/Nextcloud/hugo-site/layouts/partials/post_footer.html:57:13": execute of template failed: template: partials/post_footer.html:57:13: executing "partials/post_footer.html" at <.Site.DisqusShortname>: can't evaluate field DisqusShortname in type page.Site
Total in 42824 ms
Error: error building site: render: failed to render pages: render of "page" failed: "/home/arimasou16/Nextcloud/hugo-site/layouts/page/single.html:30:11": execute of template failed: template: page/single.html:30:11: executing "page/single.html" at <partial "post_footer.html" .>: error calling partial: "/home/arimasou16/Nextcloud/hugo-site/layouts/partials/post_footer.html:57:13": execute of template failed: template: partials/post_footer.html:57:13: executing "partials/post_footer.html" at <.Site.DisqusShortname>: can't evaluate field DisqusShortname in type page.Site

非推奨サイト設定キーの使用

/home/arimasou16/Nextcloud/hugo-site/config.toml

# Number of blog posts in each pagination page
- paginate = 10
+ pagination.pagerSize = 10

paginateからpagination.pagerSizeに変更。

日付解析エラー

/home/arimasou16/Nextcloud/hugo-site/content/post/2010-12-04-00074.md

- lastmod: 2021-04-09T22:40:06+9:00
+ lastmod: 2021-04-09T22:40:06+09:00

0がないのでエラー。厳しくなったのね。

削除されたDisqusShortname

気がつくとDisqusに周囲に広告出るようになったんだよね…

Disqus

Getting started with Disqus Advertising | Disqus

4年前からそういった話は出てたのか…ともあれ削除しよう。

/home/arimasou16/Nextcloud/hugo-site/layouts/partials/post_header.html:6:15

-     {{ if .Site.DisqusShortname }} - <a href="{{ .Permalink }}#disqus_thread">Comments</a>{{ end }}

/home/arimasou16/Nextcloud/hugo-site/layouts/partials/post_footer.html:57:13

-  {{ if .Site.DisqusShortname }}
-    {{ if not (eq .Params.comments false) }}
-      {{ template "_internal/disqus.html" . }}
-    {{ end }}
-  {{ end }}

これでOK。

以下、おまけ

この間、ビルドしたものをアップしたら、URLがlocalhost:1313になっていた。

27:    <link rel="stylesheet" href="http://localhost:1313/css/custom.css">

あれ、と思って、そこらへん調べると、元々hugoには開発環境、商用環境というのがあって切り替えられるようになっている。

Hugo サーバーの BaseURL をオーバーライドする – Aral Balkan

hugo server -D --renderToDisk --baseURL=https://ar.al --appendPort=false

なんて技もあったが、そもそもhugo単体ならhugo --environment productionhugo serverとしたらhugo --environment developmentとなるらしい。

とはいえ、今まで特にそんなこと気にせずとも問題なかったが…ふうむ。

多分、単純にhugo serverして、確認した後、いつもはhugoしてビルドし直すはずが、そのまま上げてしまったんだろう

: 1732413208:0;hugo server
: 1732413242:0;aws s3 sync --delete public/ s3://arimasou16.com --size-only

コマンド履歴見るとhugo serverしてそのままaws s3 syncしている。やはりそうか、こんな単純な作業でもsh作ってやったほうがいいのかな…気を付けないと。