hugo/docs/content/en/methods/page/Data.md
2024-08-09 15:17:43 +02:00

2.7 KiB

title description categories keywords action toc
Data Returns a unique data object for each page kind.
related returnType signatures
page.Data
PAGE.Data
true

The Data method on a Page object returns a unique data object for each page kind.

{{% note %}} The Data method is only useful within taxonomy and term templates.

Themes that are not actively maintained may still use .Data.Pages in list templates. Although that syntax remains functional, use one of these methods instead: Pages, RegularPages, or RegularPagesRecursive

{{% /note %}}

The examples that follow are based on this site configuration:

{{< code-toggle file=hugo >}} [taxonomies] genre = 'genres' author = 'authors' {{< /code-toggle >}}

And this content structure:

content/
├── books/
│   ├── and-then-there-were-none.md --> genres: suspense
│   ├── death-on-the-nile.md        --> genres: suspense
│   └── jamaica-inn.md              --> genres: suspense, romance
│   └── pride-and-prejudice.md      --> genres: romance
└── _index.md

In a taxonomy template

Use these methods on the Data object within a taxonomy template.

Singular
(string) Returns the singular name of the taxonomy.
{{ .Data.Singular }} → genre
Plural
(string) Returns the plural name of the taxonomy.
{{ .Data.Plural }} → genres
Terms
(page.Taxonomy) Returns the Taxonomy object, consisting of a map of terms and the weighted pages associated with each term.
{{ $taxonomyObject := .Data.Terms }} 

{{% note %}} Once you have captured the Taxonomy object, use any of the taxonomy methods to sort, count, or capture a subset of its weighted pages.

{{% /note %}}

Learn more about taxonomy templates.

In a term template

Use these methods on the Data object within a term template.

Singular
(string) Returns the singular name of the taxonomy.
{{ .Data.Singular }} → genre
Plural
(string) Returns the plural name of the taxonomy.
{{ .Data.Plural }} → genres
Term
(string) Returns the name of the term.
{{ .Data.Term }} → suspense

Learn more about term templates.