hugo/content/en/functions/templates/Exists.md
Bjørn Erik Pedersen 9b0050e9aa Squashed 'docs/' content from commit 5c085a37b
git-subtree-dir: docs
git-subtree-split: 5c085a37b297bf12f59efeaae591418ec025c10d
2024-01-27 10:48:33 +01:00

843 B

title description categories keywords action aliases
templates.Exists Reports whether a template file exists under the given path relative to the layouts directory.
aliases related returnType signatures
bool
templates.Exists PATH
/functions/templates.exists

A template file is any file within the layouts directory of either the project or any of its theme components.

Use the templates.Exists function with dynamic template paths:

{{ $partialPath := printf "headers/%s.html" .Type }}
{{ if templates.Exists ( printf "partials/%s" $partialPath ) }}
  {{ partial $partialPath . }}
{{ else }}
  {{ partial "headers/default.html" . }}
{{ end }}

In the example above, if a "headers" partial does not exist for the given content type, Hugo falls back to a default template.