hugo/docs/content/en/functions/cond.md
2023-05-22 16:47:07 +02:00

1 KiB

title description categories menu signature relatedfuncs
cond Return one of two arguments, depending on the value of a third argument.
functions
docs
parent
functions
cond CONTROL VAR1 VAR2
default

cond returns VAR1 if CONTROL is true, or VAR2 if it is not.

Example:

{{ cond (eq (len $geese) 1) "goose" "geese" }}

Would emit "goose" if the $geese array has exactly 1 item, or "geese" otherwise.

{{% note %}} Whenever you use a cond function, both variable expressions are always evaluated. This means that a usage like cond false (div 1 0) 27 will throw an error because div 1 0 will be evaluated even though the condition is false.

In other words, the cond function does not provide short-circuit evaluation and does not work like a normal ternary operator that will pass over the first expression if the condition returns false. {{% /note %}}