]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
Fix term template lookup when its backed by a content file
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 25 Feb 2024 14:43:52 +0000 (15:43 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 25 Feb 2024 17:28:16 +0000 (18:28 +0100)
Closes #12146

hugolib/content_map_page.go
hugolib/taxonomy_test.go

index ba0c858fea790c3f86be1df5c7f2989e6c4e5758..89df951e93f161c249da53ce39962363f42e4f42 100644 (file)
@@ -1552,8 +1552,10 @@ func (sa *sitePagesAssembler) assembleTermsAndTranslations() error {
                                                }
                                                pages.InsertIntoValuesDimension(pi.Base(), n)
                                                term = pages.Get(pi.Base())
-                                       } else if term.(*pageState).m.term != v {
-                                               term.(*pageState).m.term = v
+                                       } else {
+                                               m := term.(*pageState).m
+                                               m.term = v
+                                               m.singular = viewName.singular
                                        }
 
                                        if s == "" {
index 629db185a19c9955c3d28ae078603db24237fe4f..5a48df3b7cf6f344f12b6a2896279942a4ed05f4 100644 (file)
@@ -885,3 +885,29 @@ build:
        b.AssertFileExists("public/tags/a/index.html", false)
        b.AssertFileContent("public/index.html", "|0|")
 }
+
+func TestTaxonomiesTermLookup(t *testing.T) {
+       t.Parallel()
+
+       files := `
+-- hugo.toml --
+baseURL = "https://example.com"
+[taxonomies]
+tag = "tags"
+-- content/_index.md --
+---
+title: "Home"
+tags: ["a", "b"]
+---
+-- layouts/taxonomy/tag.html --
+Tag: {{ .Title }}|
+-- content/tags/a/_index.md --
+---
+title: tag-a-title-override
+---
+`
+
+       b := Test(t, files)
+
+       b.AssertFileContent("public/tags/a/index.html", "Tag: tag-a-title-override|")
+}