taxonomy.md (2863B)
1 ---
2 title: Taxonomy Variables
3 linktitle:
4 description: 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.
5 date: 2017-02-01
6 publishdate: 2017-02-01
7 lastmod: 2017-02-01
8 categories: [variables and params]
9 keywords: [taxonomies,terms]
10 draft: false
11 menu:
12 docs:
13 parent: "variables"
14 weight: 30
15 weight: 30
16 sections_weight: 30
17 aliases: []
18 toc: true
19 ---
20
21 ## Taxonomy Terms Page Variables
22
23 [Taxonomy terms pages][taxonomytemplates] are of the type `Page` and have the following additional variables.
24
25 For example, the following fields would be available in `layouts/_defaults/terms.html`, depending on how you organize your [taxonomy templates][taxonomytemplates]:
26
27 .Data.Singular
28 : The singular name of the taxonomy (e.g., `tags => tag`)
29
30 .Data.Plural
31 : The plural name of the taxonomy (e.g., `tags => tags`)
32
33 .Data.Pages
34 : The list of pages in the taxonomy
35
36 .Data.Terms
37 : The taxonomy itself
38
39 .Data.Terms.Alphabetical
40 : The taxonomy terms alphabetized
41
42 .Data.Terms.ByCount
43 : The Terms ordered by popularity
44
45 Note that `.Data.Terms.Alphabetical` and `.Data.Terms.ByCount` can also be reversed:
46
47 * `.Data.Terms.Alphabetical.Reverse`
48 * `.Data.Terms.ByCount.Reverse`
49
50 ## Use `.Site.Taxonomies` Outside of Taxonomy Templates
51
52 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*.
53
54 ## The `.Taxonomy` Variable
55
56 The `.Taxonomy` variable, available, for example, as `.Site.Taxonomies.tags`, contains the list of tags (values) and, for each tag, their corresponding content pages.
57
58 ### Example Usage of `.Site.Taxonomies`
59
60 The following [partial template][partials] 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][taxonomytemplates].
61
62 {{< code file="all-taxonomies-keys-and-pages.html" download="all-taxonomies-keys-and-pages.html" >}}
63 <section>
64 <ul>
65 {{ range $taxonomyname, $taxonomy := .Site.Taxonomies }}
66 <li><a href="{{ "/" | relLangURL}}{{ $taxonomyname | urlize }}">{{ $taxonomyname }}</a>
67 <ul>
68 {{ range $key, $value := $taxonomy }}
69 <li> {{ $key }} </li>
70 <ul>
71 {{ range $value.Pages }}
72 <li><a href="{{ .Permalink}}"> {{ .LinkTitle }} </a> </li>
73 {{ end }}
74 </ul>
75 {{ end }}
76 </ul>
77 </li>
78 {{ end }}
79 </ul>
80 </section>
81 {{< /code >}}
82
83 [partials]: /templates/partials/
84 [taxonomytemplates]: /templates/taxonomy-templates/