resources/page: Add taxonomies Page method

Closes #12316
This commit is contained in:
Joe Mooring 2024-04-11 12:42:57 -07:00 committed by Bjørn Erik Pedersen
parent 38f68cd162
commit a6e8439176
2 changed files with 34 additions and 0 deletions

View file

@ -112,6 +112,14 @@ func (i Taxonomy) ByCount() OrderedTaxonomy {
return ia return ia
} }
// Page returns the taxonomy page or nil if the taxonomy has no terms.
func (i Taxonomy) Page() Page {
for _, v := range i {
return v.Page().Parent()
}
return nil
}
// Pages returns the Pages for this taxonomy. // Pages returns the Pages for this taxonomy.
func (ie OrderedTaxonomyEntry) Pages() Pages { func (ie OrderedTaxonomyEntry) Pages() Pages {
return ie.WeightedPages.Pages() return ie.WeightedPages.Pages()

View file

@ -53,3 +53,29 @@ authors: [John Smith]
"Robert Jones count: 1", "Robert Jones count: 1",
) )
} }
func TestTaxonomiesPage(t *testing.T) {
t.Parallel()
files := `
-- hugo.toml --
disableKinds = ['rss','section','sitemap']
[taxonomies]
tag = 'tags'
category = 'categories'
-- content/p1.md --
---
title: p1
tags: [tag-a]
---
-- layouts/_default/list.html --
{{- with site.Taxonomies.tags.Page }}{{ .RelPermalink }}{{ end }}|
{{- with site.Taxonomies.categories.Page }}{{ .RelPermalink }}{{ end }}|
-- layouts/_default/single.html --
{{ .Title }}
`
b := hugolib.Test(t, files)
b.AssertFileContent("public/index.html", "/tags/||")
}