hugo/docs/content/en/variables/taxonomy.md

2.8 KiB

title linktitle description date publishdate lastmod categories keywords draft menu weight sections_weight aliases toc
Taxonomy Variables Taxonomy pages are of type `Page` and have all page-, site-, and list-level variables available to them. However, taxonomy terms templates have additional variables available to their templates. 2017-02-01 2017-02-01 2017-02-01
variables and params
taxonomies
terms
false
docs
parent weight
variables 30
30 30
true

Taxonomy Terms Page Variables

Taxonomy terms pages are of the type Page and have the following additional variables.

For example, the following fields would be available in layouts/_defaults/terms.html, depending on how you organize your taxonomy templates:

.Data.Singular
The singular name of the taxonomy (e.g., tags => tag)
.Data.Plural
The plural name of the taxonomy (e.g., tags => tags)
.Data.Pages
The list of pages in the taxonomy
.Data.Terms
The taxonomy itself
.Data.Terms.Alphabetical
The taxonomy terms alphabetized
.Data.Terms.ByCount
The Terms ordered by popularity

Note that .Data.Terms.Alphabetical and .Data.Terms.ByCount can also be reversed:

  • .Data.Terms.Alphabetical.Reverse
  • .Data.Terms.ByCount.Reverse

Use .Site.Taxonomies Outside of Taxonomy Templates

The .Site.Taxonomies variable holds all the taxonomies defined site-wide. .Site.Taxonomies is a map of the taxonomy name to a list of its values (e.g., "tags" -> ["tag1", "tag2", "tag3"]). Each value, though, is not a string but rather a Taxonomy variable.

The .Taxonomy Variable

The .Taxonomy variable, available, for example, as .Site.Taxonomies.tags, contains the list of tags (values) and, for each tag, their corresponding content pages.

Example Usage of .Site.Taxonomies

The following partial template will list all your site's taxonomies, each of their keys, and all the content assigned to each of the keys. For more examples of how to order and render your taxonomies, see Taxonomy Templates.

{{< code file="all-taxonomies-keys-and-pages.html" download="all-taxonomies-keys-and-pages.html" >}}

    {{ range $taxonomyname, $taxonomy := .Site.Taxonomies }}
  • {{ $taxonomyname }}
      {{ range $key, $value := $taxonomy }}
    • {{ $key }}
      • {{ range $value.Pages }}
      • {{ .LinkTitle }}
      • {{ end }}
      {{ end }}
  • {{ end }}
{{< /code >}}