迭代标记
迭代标记用于重复运行/呈现一段代码。
的
重复执行一段代码。 最常用于迭代数组或词典中的项目。
在 for 标记块内,forloop 对象可用。
代码
{% for child_page in page.children %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
输出
<a href=/parent/child1/>Child 1</a>
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child3/>Child 3</a>
参数
for 的这些参数可以单独使用或组合使用。
限制
在指定项目数量后退出循环。
代码
{% for child_page in page.children limit:2 %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
输出
<a href=/parent/child1/>Child 1</a>
<a href=/parent/child2/>Child 2</a>
offset
在指定索引开始循环。
代码
{% for child_page in page.children offset:1 %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
输出
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child3/>Child 3</a>
range
定义循环通过的数字范围。
代码
{% assign n = 4 %}
{% for i in (2..n) %}
{{ i }}
{% endfor %}
{% for i in (10..14) %}
{{ i }}
{% endfor }}
输出
2 3 4
10 11 12 14
reversed
以颠倒的顺序循环,从最后一个项目开始。
代码
{% for child_page in page.children reversed %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
输出
<a href=/parent/child3/>Child 3</a>
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child1/>Child 1</a>
周期
在一组字符串中循环,并以它们作为参数传递的顺序输出。 每次调用周期时,作为参数传递的下一个字符串将输出。
代码
{% for item in items %}
<div class={% cycle 'red', 'green', 'blue' %}> {{ item }} </div>
{% end %}
输出
<div class=red> Item one </div>
<div class=green> Item two </div>
<div class=blue> Item three </div>
<div class=red> Item four </div>
<div class=green> Item five</div>
tablerow
生成 HTML 表。 必须在打开 <table> 和关闭 </table> HTML 标记时换行。
在 tablerow 标记块内,tablerowloop 可用。
代码
<table>
{% tablerow child_page in page.children %}
{{ child_page.title }}
{% endtablerow %}
</table>
输出
<table>
<tr class=row1>
<td class=col1>
Child Page 1
</td>
<td class=col2>
Child Page 2
</td>
<td class=col3>
Child Page 3
</td>
<td class=col4>
Child Page 4
</td>
</tr>
</table>
参数
tablerowcan 的这些参数可以单独使用或组合使用。
输出
<table>
<tr class=row1>
<td class=col1>
Child Page 1
</td>
<td class=col2>
Child Page 2
</td>
</tr>
<tr class=row2>
<td class=col3>
Child Page 3
</td>
<td class=col4>
Child Page 4
</td>
</tr>
</table>
代码
<table>
{% tablerow child_page in page.children cols:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
指明生成的表应有多少行。
cols
限制
在指定项目数量后退出循环。
代码
<table>
{% tablerow child_page in page.children limit:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
输出
<table>
<tr class=row1>
<td class=col1>
Child Page 1
</td>
<td class=col2>
Child Page 2
</td>
</tr>
</table>
offset
在指定索引开始循环。
代码
<table>
{% tablerow child_page in page.children offset:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
输出
<table>
<tr class=row1>
<td class=col1>
Child Page 3
</td>
<td class=col2>
Child Page 4
</td>
</tr>
</table>
range
定义循环通过的数字范围。
代码
<table>
{% tablerow i in (1..3) %}
{{ i }}
{% endtablerow %}
</table>