From fce8d82b79335394ee9102f5bb449d76a81f808f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Wed, 28 Feb 2024 18:33:42 +0100 Subject: [PATCH] Fix panic when cascading headless from site config to section that does not have an _index.md file Fixes #12172 --- hugolib/cascade_test.go | 26 ++++++++++++++++++++++++++ hugolib/page__meta.go | 2 +- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/hugolib/cascade_test.go b/hugolib/cascade_test.go index b9b80a3a1..8075f190f 100644 --- a/hugolib/cascade_test.go +++ b/hugolib/cascade_test.go @@ -766,3 +766,29 @@ path = '/p1.md' b := Test(t, files) b.AssertLogNotContains(`looks like a path with an extension`) } + +func TestCascadeIssue12172(t *testing.T) { + t.Parallel() + + files := ` +-- hugo.toml -- +disableKinds = ['rss','sitemap','taxonomy','term'] +[[cascade]] +headless = true +[cascade._target] +path = '/s1**' +-- content/s1/p1.md -- +--- +title: p1 +--- +-- layouts/_default/single.html -- +{{ .Title }}| +-- layouts/_default/list.html -- +{{ .Title }}| + ` + b := Test(t, files) + + b.AssertFileExists("public/index.html", true) + b.AssertFileExists("public/s1/index.html", false) + b.AssertFileExists("public/s1/p1/index.html", false) +} diff --git a/hugolib/page__meta.go b/hugolib/page__meta.go index 082e3145a..8c148923d 100644 --- a/hugolib/page__meta.go +++ b/hugolib/page__meta.go @@ -523,7 +523,7 @@ params: // pages. isHeadless := cast.ToBool(v) params[loki] = isHeadless - if p.File().TranslationBaseName() == "index" && isHeadless { + if isHeadless { pm.pageConfig.Build.List = pagemeta.Never pm.pageConfig.Build.Render = pagemeta.Never }