Sto lavorando su un sito di Jekyll e sto provando a produrre tre div di colonna annidati in un div di riga. Liquid rende questo abbastanza facile con il loro filtro cycle
:in Ruby's Liquid engine
{% for p in site.categories.post %}
{% cycle 'add rows': '<div class="row">', nil, nil %}
<div class="column">
<a href="{{ p.url }}">{{ p.title }}</a>
</div>
{% cycle 'close rows': nil, nil, '</div>' %}
{% endfor %}
Tuttavia, questo funziona davvero solo quando ci sono 3, 6, 9, ecc messaggi. Quando il numero totale di post non è un multiplo di tre, <div class="row">
non viene mai chiuso - il ciclo for termina prima che il tag di chiusura possa essere emesso come parte del ciclo close rows
.
In Ruby, PHP, o qualsiasi altra lingua ho potuto facilmente risolvere questo problema con un operatore modulo, così oltre a close rows
ciclo avrei uscita </div>
quando if site.categories.size % 3 == 0
. Tuttavia, Liquid, perché è un linguaggio di templating sicuro, non supporta il modulo.
Cos'altro posso fare per chiudere correttamente <div class="row">
quando il numero totale di post non è un multiplo di tre?
Che funziona perfettamente! Grazie! – Andrew