mirror of
https://git.sr.ht/~adnano/kiln
synced 2024-10-30 01:13:08 +00:00
docs: Document built-in functions
This commit is contained in:
parent
ccb043d09e
commit
98be92555b
|
@ -266,6 +266,68 @@ Templates have certain data and functions available to them.
|
||||||
|
|
||||||
All templates have the following functions available to them:
|
All templates have the following functions available to them:
|
||||||
|
|
||||||
|
*and* _args..._
|
||||||
|
Returns the boolean AND of its arguments by returning the
|
||||||
|
first empty argument or the last argument, that is,
|
||||||
|
"and x y" behaves as "if x then y else x". All the
|
||||||
|
arguments are evaluated.
|
||||||
|
|
||||||
|
*call* _function_, _args..._
|
||||||
|
Returns the result of calling the first argument, which
|
||||||
|
must be a function, with the remaining arguments as parameters.
|
||||||
|
Thus "call .X.Y 1 2" is, in Go notation, dot.X.Y(1, 2) where
|
||||||
|
Y is a func-valued field, map entry, or the like.
|
||||||
|
The first argument must be the result of an evaluation
|
||||||
|
that yields a value of function type (as distinct from
|
||||||
|
a predefined function such as print). The function must
|
||||||
|
return either one or two result values, the second of which
|
||||||
|
is of type error. If the arguments don't match the function
|
||||||
|
or the returned error value is non-nil, execution stops.
|
||||||
|
|
||||||
|
*eq* _arg1_, _arg2_
|
||||||
|
Returns the boolean truth of _arg1_ == _arg2_.
|
||||||
|
|
||||||
|
*ge* _arg1_, _arg2_
|
||||||
|
Returns the boolean truth of _arg1_ >= _arg2_.
|
||||||
|
|
||||||
|
*gt* _arg1_, _arg2_
|
||||||
|
Returns the boolean truth of _arg1_ > _arg2_.
|
||||||
|
|
||||||
|
*html* _args..._
|
||||||
|
Returns the escaped HTML equivalent of the textual
|
||||||
|
representation of its arguments. This function is unavailable
|
||||||
|
in HTML templates, with a few exceptions.
|
||||||
|
|
||||||
|
*index* _collection_, _args..._
|
||||||
|
Returns the result of indexing its first argument by the
|
||||||
|
following arguments. Thus "index x 1 2 3" is, in Go syntax,
|
||||||
|
x[1][2][3]. Each indexed item must be a map, slice, or array.
|
||||||
|
|
||||||
|
*js* _args..._
|
||||||
|
Returns the escaped JavaScript equivalent of the textual
|
||||||
|
representation of its arguments.
|
||||||
|
|
||||||
|
*le* _arg1_, _arg2_
|
||||||
|
Returns the boolean truth of _arg1_ <= _arg2_.
|
||||||
|
|
||||||
|
*len* _list_
|
||||||
|
Returns the integer length of its argument.
|
||||||
|
|
||||||
|
*lt* _arg1_, _arg2_
|
||||||
|
Returns the boolean truth of _arg1_ < _arg2_.
|
||||||
|
|
||||||
|
*ne* _arg1_, _arg2_
|
||||||
|
Returns the boolean truth of _arg1_ != _arg2_.
|
||||||
|
|
||||||
|
*not* _arg_
|
||||||
|
Returns the boolean negation of its single argument.
|
||||||
|
|
||||||
|
*or* _args..._
|
||||||
|
Returns the boolean OR of its arguments by returning the
|
||||||
|
first non-empty argument or the last argument, that is,
|
||||||
|
"or x y" behaves as "if x then x else y". All the
|
||||||
|
arguments are evaluated.
|
||||||
|
|
||||||
*path.Base* _path_
|
*path.Base* _path_
|
||||||
Returns the last element of _path_.
|
Returns the last element of _path_.
|
||||||
|
|
||||||
|
@ -281,6 +343,17 @@ All templates have the following functions available to them:
|
||||||
*path.Join* _elem..._
|
*path.Join* _elem..._
|
||||||
Joins any number of path elements into a single path.
|
Joins any number of path elements into a single path.
|
||||||
|
|
||||||
|
*print* _args..._
|
||||||
|
Formats using the default formats for its operands and returns the resulting
|
||||||
|
string. Spaces are added between operands when neither is a string.
|
||||||
|
|
||||||
|
*printf* _format_, _args..._
|
||||||
|
Formats according to a format specifier and returns the resulting string.
|
||||||
|
|
||||||
|
*println* _args..._
|
||||||
|
Formats using the default formats for its operands and returns the resulting
|
||||||
|
string. Spaces are always added between operands and a newline is appended.
|
||||||
|
|
||||||
*reverse* _list_
|
*reverse* _list_
|
||||||
Returns a reversed copy of the provided slice or array.
|
Returns a reversed copy of the provided slice or array.
|
||||||
|
|
||||||
|
@ -302,6 +375,12 @@ All templates have the following functions available to them:
|
||||||
*site*
|
*site*
|
||||||
Returns site metadata (see *SITE METADATA*).
|
Returns site metadata (see *SITE METADATA*).
|
||||||
|
|
||||||
|
*slice* _list_, _args..._
|
||||||
|
slice returns the result of slicing its first argument by the
|
||||||
|
remaining arguments. Thus "slice x 1 2" is, in Go syntax, x[1:2],
|
||||||
|
while "slice x" is x[:], "slice x 1" is x[1:], and "slice x 1 2 3"
|
||||||
|
is x[1:2:3]. The first argument must be a string, slice, or array.
|
||||||
|
|
||||||
*strings.Count* _string_, _substr_
|
*strings.Count* _string_, _substr_
|
||||||
Counts the number of non-overlapping instances of _substr_ in _string_.
|
Counts the number of non-overlapping instances of _substr_ in _string_.
|
||||||
If _substr_ is an empty string, Count returns 1 + the number of Unicode code
|
If _substr_ is an empty string, Count returns 1 + the number of Unicode code
|
||||||
|
@ -388,6 +467,12 @@ All templates have the following functions available to them:
|
||||||
Returns _string_ without the provided trailing _suffix_ string. If _string_
|
Returns _string_ without the provided trailing _suffix_ string. If _string_
|
||||||
doesn't end with _suffix_, it is returned unchanged.
|
doesn't end with _suffix_, it is returned unchanged.
|
||||||
|
|
||||||
|
*urlquery* _args..._
|
||||||
|
Returns the escaped value of the textual representation of
|
||||||
|
its arguments in a form suitable for embedding in a URL query.
|
||||||
|
This function is unavailable in HTML templates, with a few
|
||||||
|
exceptions.
|
||||||
|
|
||||||
## SITE METADATA
|
## SITE METADATA
|
||||||
|
|
||||||
Site metadata contains the following data:
|
Site metadata contains the following data:
|
||||||
|
|
Loading…
Reference in a new issue