hugo/content/variables/taxonomy.md
Bjørn Erik Pedersen ec4e6f9df2 Squashed 'docs/' content from commit f887bd7b
git-subtree-dir: docs
git-subtree-split: f887bd7b4e3e7c7e76cd63951e5b0d37d8fe0ac7
2017-08-10 17:18:22 +02:00

2.8 KiB

title linktitle description date publishdate lastmod categories 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
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 >}}