HUGO
News Docs Themes Community GitHub

Page

Returns the Page object of the given page.

Syntax

PAGE.Page

Returns

page.Page

This is a convenience method, useful within partial templates that are called from both shortcodes and page templates.

layouts/shortcodes/foo.html
{{ partial "my-partial.html" . }}

When the shortcode calls the partial, it passes the current context (the dot). The context includes identifiers such as Page, Params, Inner, and Name.

layouts/_default/single.html
{{ partial "my-partial.html" . }}

When the page template calls the partial, it also passes the current context (the dot). But in this case, the dot is the Page object.

layouts/partials/my-partial.html
The page title is: {{ .Page.Title }}

To handle both scenarios, the partial template must be able to access the Page object with Page.Page.

And yes, that means you can do .Page.Page.Page.Page.Title too.

But don’t.