From 146aedd7aa74654ead8afce01f63c0756bc31e71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Tue, 6 Feb 2024 16:24:45 +0100 Subject: [PATCH] Fix site.Taxonomies for taxonomies with space in name Fixes #12001 --- hugolib/content_map_page.go | 5 ++--- hugolib/taxonomy_test.go | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/hugolib/content_map_page.go b/hugolib/content_map_page.go index 570e45bd4..75863acbd 100644 --- a/hugolib/content_map_page.go +++ b/hugolib/content_map_page.go @@ -1859,13 +1859,12 @@ func (m *pageMap) CreateSiteTaxonomies(ctx context.Context) error { LockType: doctree.LockTypeRead, Handle: func(s string, n contentNodeI, match doctree.DimensionFlag) (bool, error) { p := n.(*pageState) - plural := p.Section() switch p.Kind() { case kinds.KindTerm: - taxonomy := m.s.taxonomies[plural] + taxonomy := m.s.taxonomies[viewName.plural] if taxonomy == nil { - return true, fmt.Errorf("missing taxonomy: %s", plural) + return true, fmt.Errorf("missing taxonomy: %s", viewName.plural) } k := strings.ToLower(p.m.term) err := m.treeTaxonomyEntries.WalkPrefix( diff --git a/hugolib/taxonomy_test.go b/hugolib/taxonomy_test.go index 0db3e9c39..913f4c21d 100644 --- a/hugolib/taxonomy_test.go +++ b/hugolib/taxonomy_test.go @@ -753,3 +753,26 @@ Single. ` Test(t, files) } + +func TestTaxonomiesSpaceInName(t *testing.T) { + t.Parallel() + + files := ` +-- hugo.toml -- +[taxonomies] +authors = 'book authors' +-- content/p1.md -- +--- +title: Good Omens +book authors: + - Neil Gaiman + - Terry Pratchett +--- +-- layouts/index.html -- +{{- $taxonomy := "book authors" }} +Len Book Authors: {{ len (index .Site.Taxonomies $taxonomy) }} +` + b := Test(t, files) + + b.AssertFileContent("public/index.html", "Len Book Authors: 2") +}