mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-14 20:37:55 -05:00
29 lines
931 B
Markdown
29 lines
931 B
Markdown
---
|
|
title: templates.Exists
|
|
description: Reports whether a template file exists under the given path relative to the `layouts` directory.
|
|
categories: [functions]
|
|
keywords: []
|
|
menu:
|
|
docs:
|
|
parent: functions
|
|
function:
|
|
aliases: []
|
|
returnType: bool
|
|
signatures: [templates.Exists PATH]
|
|
namespace: templates
|
|
relatedFunctions: []
|
|
aliases: [/functions/templates.exists]
|
|
---
|
|
|
|
A template file is any file living below the `layouts` directories of either the project or any of its theme components including partials and shortcodes.
|
|
|
|
The function is particularly handy with dynamic path. The following example ensures the build will not break on a `.Type` missing its dedicated `header` partial.
|
|
|
|
```go-html-template
|
|
{{ $partialPath := printf "headers/%s.html" .Type }}
|
|
{{ if templates.Exists ( printf "partials/%s" $partialPath ) }}
|
|
{{ partial $partialPath . }}
|
|
{{ else }}
|
|
{{ partial "headers/default.html" . }}
|
|
{{ end }}
|
|
```
|