1
0
Fork 0
hugo/docs/content/en/methods/taxonomy/ByCount.md

2.2 KiB
Raw Permalink Blame History

title description categories keywords action toc
ByCount Returns an ordered taxonomy, sorted by the number of pages associated with each term.
related returnType signatures
methods/taxonomy/Alphabetical
page.OrderedTaxonomy
TAXONOMY.ByCount
true

The ByCount method on a Taxonomy object returns an ordered taxonomy, sorted by the number of pages associated with each term.

While a Taxonomy object is a map, an ordered taxonomy is a slice, where each element is an object that contains the term and a slice of its weighted pages.

{{% include "methods/taxonomy/_common/get-a-taxonomy-object.md" %}}

Get the ordered taxonomy

Now that we have captured the “genres” Taxonomy object, lets get the ordered taxonomy sorted by the number of pages associated with each term:

{{ $taxonomyObject.ByCount }}

To reverse the sort order:

{{ $taxonomyObject.ByCount.Reverse }}

To inspect the data structure:

<pre>{{ debug.Dump $taxonomyObject.ByCount }}</pre>

{{% include "methods/taxonomy/_common/ordered-taxonomy-element-methods.md" %}}

Example

With this template:

{{ range $taxonomyObject.ByCount }}
  <h2><a href="{{ .Page.RelPermalink }}">{{ .Page.LinkTitle }}</a> ({{ .Count }})</h2>
  <ul>
    {{ range .Pages.ByTitle }}
      <li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
    {{ end }}
  </ul>
{{ end }}

Hugo renders:

<h2><a href="/genres/suspense/">suspense</a> (3)</h2>
<ul>
  <li><a href="/books/and-then-there-were-none/">And then there were none</a></li>
  <li><a href="/books/death-on-the-nile/">Death on the nile</a></li>
  <li><a href="/books/jamaica-inn/">Jamaica inn</a></li>
</ul>
<h2><a href="/genres/romance/">romance</a> (2)</h2>
<ul>
  <li><a href="/books/jamaica-inn/">Jamaica inn</a></li>
  <li><a href="/books/pride-and-prejudice/">Pride and prejudice</a></li>
</ul>