Hi there, this is my first post so I’ll do my best to respect the rules but be kind if I missed something out
I’m having an unexpected behavior while building a list page using Resources.
Here’s my content structure :
> my-section
_index.md
> some-branch-bundle
_index.md
> first-leaf-bundle
index.md
image-1.jpg
image-2.jpg
> second-leaf-bundle
index.md
image-1.jpg
image-2.jpg
on each leaf bundle index.md, I set a param named thumbnail
wich equals to the name of one of the images of said leaf bundle.
on the branch bundle I set the type
to my-section
.
In my layout structure, I have a my-section
folder which contains a list.html
So far so good (I hope) and my branch bundle use the list.html
to render.
Now here’s the code inside my list.html template :
{{ define "main" }}
<div class="container-fluid pt-5">
<div class="row justify-content-center">
{{ range .Pages.Reverse }}
<div class="col-sm-10 col-md-5 col-xl-3 mb-4">
<div class="card card-gallery text-center">
{{ $thumbnail := .Resources.GetMatch .Params.thumbnail }}
{{ $thumb_sd := $thumbnail.Fill "460x460 center" }}
{{ $thumb_hd := $thumbnail.Fill "920x920 center" }}
<img src="{{ $thumb_sd.RelPermalink }}" srcset="{{ $thumb_sd.RelPermalink }} 1x, {{ $thumb_hd.RelPermalink }} 2x" class="card-img-top" alt="">
<div class="card-img-overlay d-flex flex-column justify-content-between">
<h4 class="card-title">{{ .Title }}</h4>
<a href="{{ .Permalink }}" class="btn btn-block btn-secondary">
<i class="far fa-images"></i> Discover...
</a>
</div>
</div>
</div>
{{ end }}
</div>
</div>
{{ end }}
And of course this template fails to render, with the following error :
Error: Error building site: failed to render pages: render of "section" failed: "/my-project/layouts/my-section/list.html:7:68": execute of template failed: template: my-section/list.html:7:68: executing "main" at <.Params.thumbnail>: invalid value; expected string
First problem, I don’t understand why it fails, because if I just call {{ .Params.thumbnail }} I do get the string corresponding to the filename I specified. So I can’t figure out why I have this error.
But what’s even weirder is that while trying to debug, I discovered that if I launch hugo serve
without all my thumbnail generation code in the template AND THEN add it incrementaly while the live rendering is running, I don’t get any errors and the template renders fine!
But as soon as I stop hugo serve and relaunch, I’m again stuck with the error.
I hope the community will help me figure it out!
EDIT : An interesting point is that in this project, I have the almost exact same template for a list page in another section, with the same logic for thumbnail, the only difference is that the list is for the root section, not a nested branch bundle. And in this case, everything is rendering fine.