全局函数 (Global Functions)
以下为一些内置的全局函数
range([start], stop, [step])
如果你需要遍历固定范围的数字可以使用 range
,start
(默认为 0) 为起始数字,stop
为结束数字,step
为间隔 (默认为 1)。
{% for i in range(0, 5) -%}
{{ i }},
{%- endfor %}
上面输出 0,1,2,3,4
.
cycler(item1, item2, …itemN)
cycler
可以循环调用你指定的一系列的值。
{% set cls = cycler("odd", "even") %}
{% for row in rows %}
<div class="{{ cls.next() }}">{{ row.name }}</div>
{% endfor %}
上面的例子中奇数行的 class 为 "odd",偶数行的 class 为 "even"。你可以使用current
属性来获取当前项(在上面的例子中对应cls.current
)。
joiner([separator])
当合并多项的时候,希望在他们之间又分隔符 (像逗号),但又不希望第一项也输出。joiner
将输出分割符 (默认为 ",") 除了第一次调用。
{% set comma = joiner() %}
{% for tag in tags -%}
{{ comma() }} {{ tag }}
{%- endfor %}
如果 tags
为 ["food", "beer", "dessert"]
, 上面将输出 food, beer, dessert
。