]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
Fix mixed case Page params handling in content adapters
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 15 May 2024 09:59:03 +0000 (11:59 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 15 May 2024 10:39:33 +0000 (12:39 +0200)
Fixes #12497

hugolib/pagesfromdata/pagesfromgotmpl_integration_test.go
resources/page/pagemeta/page_frontmatter.go

index f09fa3dc1022a2bed2cbbfe9419da5ff5a485791..75283a1229ca1747986105151b0d7147b7f5bf42 100644 (file)
@@ -494,3 +494,27 @@ disableKinds = ['home','section','rss','sitemap','taxonomy','term']
 
        b.AssertFileExists("public/s-1.2.3/p-4.5.6/index.html", true)
 }
+
+func TestPagesFromGoParamsIssue12497(t *testing.T) {
+       t.Parallel()
+
+       files := `
+-- hugo.toml --
+disableKinds = ['home','section','rss','sitemap','taxonomy','term']
+-- content/_content.gotmpl --
+{{ .AddPage (dict "path" "p1" "title" "p1" "params" (dict "paraM1" "param1v" )) }}
+{{ .AddResource (dict "path" "p1/data1.yaml" "content" (dict "value" "data1" ) "params" (dict "paraM1" "param1v" )) }}
+-- layouts/_default/single.html --
+{{ .Title }}|{{ .Params.paraM1 }}
+{{ range .Resources }}
+{{ .Name }}|{{ .Params.paraM1 }}
+{{ end }}
+`
+
+       b := hugolib.Test(t, files)
+
+       b.AssertFileContent("public/p1/index.html",
+               "p1|param1v",
+               "data1.yaml|param1v",
+       )
+}
index d5ed1e401b3400803b7e3f1d968fe0dcf60c48ec..10ba2a991af176d1558124307fac8bab58133012 100644 (file)
@@ -151,6 +151,11 @@ func (p *PageConfig) Compile(basePath string, pagesFromData bool, ext string, lo
                p.Path = path.Join(basePath, p.Path)
        }
 
+       if p.Params == nil {
+               p.Params = make(maps.Params)
+       }
+       maps.PrepareParams(p.Params)
+
        if p.Content.Markup == "" && p.Content.MediaType == "" {
                if ext == "" {
                        ext = "md"