4c5edacfecSpell config update (#1700)9df788b25Fix broken link (hugo modules) (#1710)9928a70d6Fix workspace formatting (#1707)55467e7c8Update partials.md9f4bd0023Update formats.md9b3913c86Remove footnoteAnchorPrefix and footnoteReturnLinkContents (#1704)94502a09bCode block render hooks are introduced in v0.93.0 (#1701)c447270efUpdate sitemap-template.md78665c1e0Update sitemap-template.md60653c17dUpdate the caddy error docs link (#1696)9a3675aadUpdate sitemap templates (#1699)e0d08cdbbAdd wpxr-to-static to list of migration tools (#1512)b53eb5a08Add page for deploying with rclone (#1511)4207c57ffnetlify: Hugo 0.96.0a18d646eadocs: Regen docshelpere3e0981eddocs: Regen CLI docsfda988d01Merge commit 'd276e901b36d2576ef8350ed96b17f66254eac1b'e4a26dbcatpl/crypto: Add optional encoding arg to hmac function git-subtree-dir: docs git-subtree-split:4c5edacfee
2.4 KiB
title, description, qref, date, publishdate, lastmod, keywords, categories, menu, toc, signature, workson, hugoversion, relatedfuncs, deprecated, draft, aliases
| title | description | qref | date | publishdate | lastmod | keywords | categories | menu | toc | signature | workson | hugoversion | relatedfuncs | deprecated | draft | aliases | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| default | Allows setting a default value that can be returned if a first value is not set. | Returns a default value if a value is not set when checked. | 2017-02-01 | 2017-02-01 | 2017-02-01 |
|
|
|
|
false | false |
default checks whether a given value is set and returns a default value if it is not. Set in this context means different things depending on the data type:
- non-zero for numeric types and times
- non-zero length for strings, arrays, slices, and maps
- any boolean or struct value
- non-nil for any other types
default function examples reference the following content page:
{{< code file="content/posts/default-function-example.md" >}}
title: Sane Defaults seo_title: date: 2017-02-18 font: oldparam: The default function helps make your templating DRYer. newparam:
{{< /code >}}
default can be written in more than one way:
{{ index .Params "font" | default "Roboto" }}
{{ default "Roboto" (index .Params "font") }}
Both of the above default function calls return Roboto.
A default value, however, does not need to be hard coded like the previous example. The default value can be a variable or pulled directly from the front matter using dot notation:
{{< code file="variable-as-default-value.html" nocopy="true" >}} {{$old := .Params.oldparam }}
{{ .Params.newparam | default $old }}
{{< /code >}}Which would return:
<p>The default function helps make your templating DRYer.</p>
And then using dot notation
{{< code file="dot-notation-default-value.html" >}}
{{< /code >}}Which would return
{{< output file="dot-notation-default-return-value.html" >}}
{{< /output >}}The following have equivalent return values but are far less terse. This demonstrates the utility of default:
Using if:
{{< code file="if-instead-of-default.html" nocopy="true" >}}
=> Sane Defaults {{< /code >}}Using with:
{{< code file="with-instead-of-default.html" nocopy="true" >}}
=> Sane Defaults {{< /code >}}