Render
Renders the given template with the given page as context.
Syntax
PAGE.Render NAME
Returns
template.HTML
Typically used when ranging over a page collection, the Render method on a Page object renders the given template, passing the given page as context.
{{ range site.RegularPages }}
  <h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
  {{ .Render "summary" }}
{{ end }}In the example above, note that the template (“summary”) is identified by its file name without directory or extension.
Although similar to the partial function, there are key differences.
Render method | partial function | 
|---|---|
The Page object is automatically passed to the given template. You cannot pass additional context. | You must specify the context, allowing you to pass a combination of objects, slices, maps, and scalars. | 
| The path to the template is determined by the content type. | You must specify the path to the template, relative to the layouts/partials directory. | 
Consider this layout structure:
layouts/
├── _default/
│   ├── baseof.html
│   ├── home.html
│   ├── li.html      <-- used for other content types
│   ├── list.html
│   ├── single.html
│   └── summary.html
└── books/
    ├── li.html      <-- used when content type is "books"
    └── summary.htmlAnd this template:
<ul>
  {{ range site.RegularPages.ByDate }}
    {{ .Render "li" }}
  {{ end }}
</ul>When rendering content of type “books” the Render method calls:
layouts/books/li.htmlFor all other content types the Render methods calls:
layouts/_default/li.htmlSee content views for more examples.
Last updated:
March 5, 2025
:
content: Remove "related" array from function and method pages (2fcd21ee5)
Improve this page
