hugo/docs/content/functions/GetPage.md

1.8 KiB

title description godocref date publishdate lastmod categories menu signature workson hugoversion relatedfuncs deprecated aliases
.GetPage Gets a `Page` of a given `Kind` and `path`. 2017-02-01 2017-02-01 2017-02-01
functions
docs
parent
functions
.GetPage TYPE PATH
false

Every Page has a Kind attribute that shows what kind of page it is. While this attribute can be used to list pages of a certain kind using where, often it can be useful to fetch a single page by its path.

.GetPage looks up a page of a given Kind and path.

{{ with .Site.GetPage "section" "blog" }}{{ .Title }}{{ end }}

This method wil return nil when no page could be found, so the above will not print anything if the blog section isn't found.

For a regular page:

{{ with .Site.GetPage "page" "blog" "my-post.md" }}{{ .Title }}{{ end }}

Note that the path can also be supplied like this:

{{ with .Site.GetPage "page" "blog/my-post.md" }}{{ .Title }}{{ end }}

The valid page kinds are: page, home, section, taxonomy and taxonomyTerm.

.GetPage Example

This code snippet---in the form of a partial template---allows you to do the following:

  1. Grab the index object of your tags taxonomy.
  2. Assign this object to a variable, $t
  3. Sort the terms associated with the taxonomy by popularity.
  4. Grab the top two most popular terms in the taxonomy (i.e., the two most popular tags assigned to content.

{{< code file="grab-top-two-tags.html" >}}

    {{ $t := $.Site.GetPage "taxonomyTerm" "tags" }} {{ range first 2 $t.Data.Terms.ByCount }}
  • {{.}}
  • {{ end }}
{{< /code >}}