URI: 
       Fix taxonomy term with backing file regression - hugo - [fork] hugo port for 9front
  HTML git clone git@git.drkhsh.at/hugo.git
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
   DIR commit caba6ba6e78dfd124a60cee321de441f8b21ae11
   DIR parent f4575e5f29a04fd8613014d91b6bc63e83d37e69
  HTML Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Fri,  9 Feb 2024 15:18:13 +0200
       
       Fix taxonomy term with backing file regression
       
       Fixes #12020
       
       Diffstat:
         M hugolib/content_map_page.go         |       8 +++++++-
         M hugolib/page__new.go                |       1 +
         M hugolib/taxonomy_test.go            |      39 +++++++++++++++++++++++++++++++
       
       3 files changed, 47 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/hugolib/content_map_page.go b/hugolib/content_map_page.go
       @@ -1511,6 +1511,8 @@ 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
                                                }
        
                                                if s == "" {
       @@ -1882,11 +1884,15 @@ func (m *pageMap) CreateSiteTaxonomies(ctx context.Context) error {
                                                if taxonomy == nil {
                                                        return true, fmt.Errorf("missing taxonomy: %s", viewName.plural)
                                                }
       +                                        if p.m.term == "" {
       +                                                panic("term is empty")
       +                                        }
                                                k := strings.ToLower(p.m.term)
       +
                                                err := m.treeTaxonomyEntries.WalkPrefix(
                                                        doctree.LockTypeRead,
                                                        paths.AddTrailingSlash(s),
       -                                                func(s string, wn *weightedContentNode) (bool, error) {
       +                                                func(ss string, wn *weightedContentNode) (bool, error) {
                                                                taxonomy[k] = append(taxonomy[k], page.NewWeightedPage(wn.weight, wn.n.(page.Page), wn.term.Page()))
                                                                return false, nil
                                                        },
   DIR diff --git a/hugolib/page__new.go b/hugolib/page__new.go
       @@ -148,6 +148,7 @@ func (h *HugoSites) newPage(m *pageMeta) (*pageState, *paths.Path, error) {
                                                        m.pageConfig.Kind = kinds.KindTaxonomy
                                                } else {
                                                        m.pageConfig.Kind = kinds.KindTerm
       +                                                m.term = m.pathInfo.Unnormalized().BaseNameNoIdentifier()
                                                }
                                        }
                                } else if m.f != nil {
   DIR diff --git a/hugolib/taxonomy_test.go b/hugolib/taxonomy_test.go
       @@ -776,3 +776,42 @@ Len Book Authors: {{ len (index .Site.Taxonomies $taxonomy) }}
        
                b.AssertFileContent("public/index.html", "Len Book Authors: 2")
        }
       +
       +func TestTaxonomiesListTermsHome(t *testing.T) {
       +        files := `
       +-- hugo.toml --
       +baseURL = "https://example.com"
       +[taxonomies]
       +tag = "tags"
       +-- content/_index.md --
       +---
       +title: "Home"
       +tags: ["a", "b", "c", "hello world"]
       +---
       +-- content/tags/a/_index.md --
       +---
       +title: "A"
       +---
       +-- content/tags/b/_index.md --
       +---
       +title: "B"
       +---
       +-- content/tags/c/_index.md --
       +---
       +title: "C"
       +---
       +-- content/tags/d/_index.md --
       +---
       +title: "D"
       +---
       +-- content/tags/hello-world/_index.md --
       +---
       +title: "Hello World!"
       +---
       +-- layouts/home.html --
       +Terms: {{ range site.Taxonomies.tags }}{{ .Page.Title }}: {{ .Count }}|{{ end }}$
       +`
       +        b := Test(t, files)
       +
       +        b.AssertFileContent("public/index.html", "Terms: A: 1|B: 1|C: 1|Hello World!: 1|$")
       +}