aboutsummaryrefslogtreecommitdiffstats
path: root/content/taxonomies/displaying.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/taxonomies/displaying.md')
-rw-r--r--content/taxonomies/displaying.md119
1 files changed, 119 insertions, 0 deletions
diff --git a/content/taxonomies/displaying.md b/content/taxonomies/displaying.md
new file mode 100644
index 0000000..d5779ba
--- /dev/null
+++ b/content/taxonomies/displaying.md
@@ -0,0 +1,119 @@
+---
+aliases:
+- /indexes/displaying/
+date: 2013-07-01
+linktitle: Displaying
+menu:
+ main:
+ parent: taxonomy
+next: /taxonomies/templates
+prev: /taxonomies/usage
+title: Displaying Taxonomies
+weight: 20
+---
+
+There are four common ways you can display the data in your
+taxonomies in addition to the automatic taxonomy pages created by hugo
+using the [list templates](/templates/list):
+
+1. For a given piece of content, you can list the terms attached
+2. For a given piece of content, you can list other content with the same
+ term
+3. You can list all terms for a taxonomy
+4. You can list all taxonomies (with their terms)
+
+## 1. Displaying taxonomy terms assigned to this content
+
+Within your content templates, you may wish to display
+the taxonomies that that piece of content is assigned to.
+
+Because we are leveraging the front matter system to
+define taxonomies for content, the taxonomies assigned to
+each content piece are located in the usual place
+(.Params.`plural`).
+
+### Example
+
+ <ul id="tags">
+ {{ range .Params.tags }}
+ <li><a href="tags/{{ . | urlize }}">{{ . }}</a> </li>
+ {{ end }}
+ </ul>
+
+## 2. Listing content with the same taxonomy term
+
+First, you may be asking why you would use this. If you are using a
+taxonomy for something like a series of posts, this is exactly how you
+would do it. It’s also an quick and dirty way to show some related
+content.
+
+
+### Example
+
+ <ul>
+ {{ range .Site.Taxonomies.series.golang }}
+ <li><a href="{{ .Url }}">{{ .Name }}</a></li>
+ {{ end }}
+ </ul>
+
+## 3. Listing all content in a given taxonomy
+
+This would be very useful in a sidebar as “featured content”. You could
+even have different sections of “featured content” by assigning
+different terms to the content.
+
+### Example
+
+ <section id="menu">
+ <ul>
+ {{ range $key, $taxonomy := .Site.Taxonomies.featured }}
+ <li> {{ $key }} </li>
+ <ul>
+ {{ range $taxonomy.Pages }}
+ <li hugo-nav="{{ .RelPermalink}}"><a href="{{ .Permalink}}"> {{ .LinkTitle }} </a> </li>
+ {{ end }}
+ </ul>
+ {{ end }}
+ </ul>
+ </section>
+
+
+## 4. Rendering a Site's Taxonomies
+
+If you wish to display the list of all keys for an taxonomy, you can find retrieve
+them from the `.Site` variable which is available on every page.
+
+This may take the form of a tag cloud, a menu or simply a list.
+
+The following example displays all tag keys:
+
+### Example
+
+ <ul id="all-tags">
+ {{ range $name, $taxonomy := .Site.Taxonomies.tags }}
+ <li><a href="/tags/{{ $name | urlize }}">{{ $name }}</a></li>
+ {{ end }}
+ </ul>
+
+### Complete Example
+This example will list all taxonomies, each of their keys and all the content assigned to each key.
+
+ <section>
+ <ul>
+ {{ range $taxonomyname, $taxonomy := .Site.Taxonomies }}
+ <li><a href="/{{ $taxonomyname | urlize }}">{{ $taxonomyname }}</a>
+ <ul>
+ {{ range $key, $value := $taxonomy }}
+ <li> {{ $key }} </li>
+ <ul>
+ {{ range $value.Pages }}
+ <li hugo-nav="{{ .RelPermalink}}"><a href="{{ .Permalink}}"> {{ .LinkTitle }} </a> </li>
+ {{ end }}
+ </ul>
+ {{ end }}
+ </ul>
+ </li>
+ {{ end }}
+ </ul>
+ </section>
+