summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2024-02-06 16:24:45 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2024-02-06 18:17:30 +0100
commit146aedd7aa74654ead8afce01f63c0756bc31e71 (patch)
treea1d0cb4021c9b6920732d5301cec8d35f3da01bd
parentbd0200da6e5a1a3d635fdd62dfa267145a137edc (diff)
Fix site.Taxonomies for taxonomies with space in name
Fixes #12001
-rw-r--r--hugolib/content_map_page.go5
-rw-r--r--hugolib/taxonomy_test.go23
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")
+}