Template helpers
This is a reference of Handlebars helpers, which Bard provides to templates.
eq a b
A basic equality check; returns true when a JSON value a equals b.
contains object key
Returns true when a JSON object contains a value under key.
cat args…
Concatenates any number of arguments as one string.
For example {{ cat "Hello, " "World!" }} will render "Hello, World!".
default value default
Returns value if it is not null; otherwise, returns default.
matches string regex
Return true if string matches the regular expression regex.
math a op b
Evaluates a math expression.
Examples:
{{ math 5 "+" 3 }}renders8.{{ math 23.8 "/" -1.4 }}renders-17.0.
Supported operators:
| Op | Meaning |
|---|---|
+ | Addition |
- | Subtraction |
* | Multiplication |
/ | Decimal division (integers are converted to floats) |
// | Integer division (both numbers must be integers) |
% | Modulo |
& | Bitwise and (integers only) |
| | Bitwise or (integers only) |
^ | Bitwise xor (integers only) |
<< | Bitwise shift left (integers only) |
>> | Bitwise shift right (integers only) |
img_w path
Returns the pixel width of an image at path.
img_h path
Returns the pixel height of an image at path.
px2mm size
Converts a size in pixels to millimetres using the output’s dpi settings.
See also scale and Images - DPI for more details.
Only in TeX templates.
pre text
Performs TeX escaping of the string with spaces replaced by ~.
It is recommended to use this helper in triple braces {{{ pre ... }}}, which suppresses the default escaping function.
Only in TeX templates.
Example: {{{ pre "Hello, World!" }}}
scale size
Multiplies a size by the dpi factor in the output’s settings.
The result is rounded to the nearest integer.
See also px2mm and Images - DPI for more details.
Only in HTML templates.
version_check version
Performs a version check. The running Bard program compares the version specified with its internal AST version
and outputs a warning in case the version is incompatible.
Example: {{~ version_check "1.2.0" ~}}