diff options
author | Joe Mooring <[email protected]> | 2024-04-11 12:42:57 -0700 |
---|---|---|
committer | Bjørn Erik Pedersen <[email protected]> | 2024-04-12 16:26:02 +0200 |
commit | a6e84391760ca3786bf580344e2a013ac54b4b4a (patch) | |
tree | 02a71d632c865818412a03b8b67eb1bab7574107 | |
parent | 38f68cd16282f7fe570c3800986da3651c4b195e (diff) | |
download | hugo-a6e84391760ca3786bf580344e2a013ac54b4b4a.tar.gz hugo-a6e84391760ca3786bf580344e2a013ac54b4b4a.zip |
resources/page: Add taxonomies Page method
Closes #12316
-rw-r--r-- | resources/page/taxonomy.go | 8 | ||||
-rw-r--r-- | resources/page/taxonomy_integration_test.go | 26 |
2 files changed, 34 insertions, 0 deletions
diff --git a/resources/page/taxonomy.go b/resources/page/taxonomy.go index 7258ec197..2732c8040 100644 --- a/resources/page/taxonomy.go +++ b/resources/page/taxonomy.go @@ -112,6 +112,14 @@ func (i Taxonomy) ByCount() OrderedTaxonomy { 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. func (ie OrderedTaxonomyEntry) Pages() Pages { return ie.WeightedPages.Pages() diff --git a/resources/page/taxonomy_integration_test.go b/resources/page/taxonomy_integration_test.go index a028857cb..70e204dd1 100644 --- a/resources/page/taxonomy_integration_test.go +++ b/resources/page/taxonomy_integration_test.go @@ -53,3 +53,29 @@ authors: [John Smith] "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/||") +} |