Taxonomy Variables
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.
<section>
<ul>
{{ range $taxonomyname, $taxonomy := .Site.Taxonomies }}
<li><a href="{{ "/" | relLangURL}}{{ $taxonomyname | urlize }}">{{ $taxonomyname }}</a>
<ul>
{{ range $key, $value := $taxonomy }}
<li> {{ $key }} </li>
<ul>
{{ range $value.Pages }}
<li><a href="{{ .Permalink}}"> {{ .LinkTitle }} </a> </li>
{{ end }}
</ul>
{{ end }}
</ul>
</li>
{{ end }}
</ul>
</section>