Marcas de iteração
As marcas da iteração são usadas para executar/renderizar um bloco de códigos repetidamente.
para
Executa um pacote de código repetidas vezes. É mais comum serem usadas para iterar os itens de uma matriz ou dicionário.
No bloco de marca for, o objeto forloop está disponível.
Código
{% for child_page in page.children %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Saída
<a href=/parent/child1/>Child 1</a>
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child3/>Child 3</a>
Parâmetros
Esses parâmetros de para podem ser usados de modo individual ou combinado.
limite
Sai do loop depois de um determinado número de itens.
Código
{% for child_page in page.children limit:2 %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Saída
<a href=/parent/child1/>Child 1</a>
<a href=/parent/child2/>Child 2</a>
deslocamento
Inicia o loop em um determinado índice.
Código
{% for child_page in page.children offset:1 %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Saída
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child3/>Child 3</a>
intervalo
Define um intervalo de números para percorrer.
Código
{% assign n = 4 %}
{% for i in (2..n) %}
{{ i }}
{% endfor %}
{% for i in (10..14) %}
{{ i }}
{% endfor }}
Saída
2 3 4
10 11 12 14
inverso
Percorre o loop em ordem inversa, a partir do último item.
Código
{% for child_page in page.children reversed %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Saída
<a href=/parent/child3/>Child 3</a>
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child1/>Child 1</a>
ciclo
Percorre um grupo de cadeias de caracteres e as gera na ordem em que foram passadas como parâmetros. Toda vez que o ciclo de tempo é chamado, a próxima cadeia de caracteres que foi passada como parâmetro é gerada.
Código
{% for item in items %}
<div class={% cycle 'red', 'green', 'blue' %}> {{ item }} </div>
{% end %}
Saída
<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
Gera uma tabela HTML. Deve ser colocada entre marcas HTML de <table> de abertura e </table> de fechamento.
Com o bloco de marca tablerow, o tablerowloop está disponível.
Código
<table>
{% tablerow child_page in page.children %}
{{ child_page.title }}
{% endtablerow %}
</table>
Saída
<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>
Parâmetros
Esses parâmetros de tablerow podem ser usados de modo individual ou combinado.
Saída
<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>
Código
<table>
{% tablerow child_page in page.children cols:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
Determina quantas linhas a tabela gerada deve conter.
colunas
limite
Sai do loop depois de um determinado número de itens.
Código
<table>
{% tablerow child_page in page.children limit:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
Saída
<table>
<tr class=row1>
<td class=col1>
Child Page 1
</td>
<td class=col2>
Child Page 2
</td>
</tr>
</table>
offset
Inicia o loop em um determinado índice.
Código
<table>
{% tablerow child_page in page.children offset:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
Saída
<table>
<tr class=row1>
<td class=col1>
Child Page 3
</td>
<td class=col2>
Child Page 4
</td>
</tr>
</table>
intervalo
Define um intervalo de números para percorrer.
Code
<table>
{% tablerow i in (1..3) %}
{{ i }}
{% endtablerow %}
</table>