Lately — this is not pinnable to a version number, it just stopped working, after August 12th — I am unable to use hugo server -D
due to type casting errors:
hugo server
:
❯ hugo server
Watching for changes in /home/patrick/github.com/davidsneighbour/kollitsch.dev/{archetypes,assets,content,data,documentation,i18n,layouts,package.json,postcss.tailwind.config.js,static,tailwind.config.js}
Watching for config changes in /home/patrick/github.com/davidsneighbour/kollitsch.dev/config/_default, /home/patrick/github.com/davidsneighbour/kollitsch.dev/config/development, /home/patrick/github.com/davidsneighbour/kollitsch.dev/go.mod
Start building sites …
hugo v0.133.0-c9777473d1369f812d727a6c07dc57ad7be7bf62+extended linux/amd64 BuildDate=2024-08-17T19:57:41Z VendorInfo=gohugoio
| EN
-------------------+-------
Pages | 836
Paginator pages | 92
Non-page files | 193
Static files | 67
Processed images | 1181
Aliases | 231
Cleaned | 0
Built in 3609 ms
Environment: "development"
Serving pages from disk
Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
Press Ctrl+C to stop
hugo server -D
:
❯ hugo server -D
Watching for changes in /home/patrick/github.com/davidsneighbour/kollitsch.dev/{archetypes,assets,content,data,documentation,i18n,layouts,package.json,postcss.tailwind.config.js,static,tailwind.config.js}
Watching for config changes in /home/patrick/github.com/davidsneighbour/kollitsch.dev/config/_default, /home/patrick/github.com/davidsneighbour/kollitsch.dev/config/development, /home/patrick/github.com/davidsneighbour/kollitsch.dev/go.mod
Start building sites …
hugo v0.130.0-9b1b11c8a59a900458e9e460f197a44367c022ee+extended linux/amd64 BuildDate=2024-07-29T13:51:56Z VendorInfo=gohugoio
Built in 228783 ms
Error: error building site: render: failed to render pages: render of "home" failed: "/home/patrick/github.com/davidsneighbour/kollitsch.dev/layouts/index.html:27:22": execute of template failed: template: index.html:27:22: executing "main" at <partials.Include>: error calling Include: "/home/patrick/github.com/davidsneighbour/kollitsch.dev/layouts/partials/content/post.html:5:31": execute of template failed: template: partials/content/post.html:5:31: executing "partials/content/post.html" at <partials.IncludeCached>: error calling IncludeCached: "/home/patrick/.cache/hugo_cache/modules/filecache/modules/pkg/mod/github.com/davidsneighbour/hugo-modules/modules/functions@v1.2024.19/layouts/partials/func/getArticleClasses.html:2:23": execute of template failed: template: partials/func/getArticleClasses.html:2:23: executing "partials/func/getArticleClasses.html" at <.IsHome>: nil pointer evaluating interface {}.IsHome
The template in question is this:
{{- $classes := collections.Slice -}}
{{- if compare.Eq true .IsHome -}}{{/* <-- the error points here */}}
{{- $classes = $classes | collections.Append "is-home" -}}
{{- end -}}
{{- if compare.Eq true .IsNode -}}
{{- $classes = $classes | collections.Append "is-node" -}}
{{- end -}}
{{- if compare.Eq true .IsPage -}}
{{- $classes = $classes | collections.Append "is-page" -}}
{{- end -}}
{{- if compare.Eq true .IsSection -}}
{{- $classes = $classes | collections.Append (fmt.Printf "section section-%s" .Section ) -}}
{{- end -}}
{{- $classes = $classes | collections.Append (fmt.Printf "kind-%s" .Kind) -}}
{{- $classes = $classes | collections.Append (fmt.Printf "type-%s" .Type) -}}
{{- if compare.Eq true .Draft -}}
{{- $classes = $classes | collections.Append "draft" -}}
{{- end -}}
{{- $classes = collections.Delimit $classes " " -}}
{{- return $classes -}}
and it worked before, I am pretty sure.
The only thing that changed is the version of Golang in my system (installed via Snap).
Could it be that something changed with the way Hugo works with typecasting? I can change the template by wrapping it with {{ with . }}
, but then another template error takes over, this time complaining about another undefined value.
Error: error building site: render: failed to render pages: render of "home" failed: "/home/patrick/github.com/davidsneighbour/kollitsch.dev/layouts/index.html:27:22": execute of template failed: template: index.html:27:22: executing "main" at <partials.Include>: error calling Include: "/home/patrick/github.com/davidsneighbour/kollitsch.dev/layouts/partials/content/post.html:51:18": execute of template failed: template: partials/content/post.html:51:18: executing "partials/content/post.html" at <partials.Include>: error calling Include: "/home/patrick/github.com/davidsneighbour/hugo-modules/modules/hooks/layouts/partials/func/hook.html:37:24": execute of template failed: template: partials/func/hook.html:37:24: executing "partials/func/hook.html" at <partials.Include>: error calling Include: "/home/patrick/github.com/davidsneighbour/kollitsch.dev/layouts/partials/hooks/post-after.html:1:29": execute of template failed: template: partials/hooks/post-after.html:1:29: executing "partials/hooks/post-after.html" at <.context.Params.tags>: nil pointer evaluating interface {}.Params
I tried to minimize the frontmatter of the draft post, to no change. As soon as I have any post with draft: true
in it’s frontmatter hugo server -D
gives up.
Basically trying to use drafts results in my install having issues with undefined values that did not exist before.
My repo is a github.com/davidsneighbour/kollitsch.dev.