hugo/docs/content/en/functions/go-template/template.md
Bjørn Erik Pedersen 61a286595e
Some checks are pending
Test / test (1.23.x, ubuntu-latest) (push) Waiting to run
Test / test (1.23.x, windows-latest) (push) Waiting to run
Test / test (1.24.x, ubuntu-latest) (push) Waiting to run
Test / test (1.24.x, windows-latest) (push) Waiting to run
Merge commit 'b3d87dd0fd'
2025-04-24 10:23:16 +02:00

2 KiB

title description categories keywords params
template Executes the given template, optionally passing context.
functions_and_methods
aliases returnType signatures
template NAME [CONTEXT]

Use the template function to execute any of these embedded templates:

For example:

{{ range (.Paginate .Pages).Pages }}
  <h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ end }}
{{ template "_internal/pagination.html" . }}

You can also use the template function to execute a defined template:

{{ template "foo" (dict "answer" 42) }}

{{ define "foo" }}
  {{ printf "The answer is %v." .answer }}
{{ end }}

The example above can be rewritten using an inline partial template:

{{ partial "inline/foo.html" (dict "answer" 42) }}

{{ define "partials/inline/foo.html" }}
  {{ printf "The answer is %v." .answer }}
{{ end }}

The key distinctions between the preceding two examples are:

  1. Inline partials are globally scoped. That means that an inline partial defined in one template may be called from any template.
  2. Leveraging the partialCached function when calling an inline partial allows for performance optimization through result caching.
  3. An inline partial can return a value of any data type instead of rendering a string.

{{% include "/_common/functions/go-template/text-template.md" %}}