私はJekyllサイトで作業しており、行divにネストされた3つの列divを出力しようとしています。Liquidcycle
は、フィルターを使用してこれを非常に簡単にします。
{% 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 %}
ただし、これは3、6、9などの投稿がある場合にのみ実際に機能します。投稿の総数が3の倍数でない場合、<div class="row">
決して閉じられません。forループは、終了タグがclose rows
サイクルの一部として出力される前に終了します。
Ruby、PHP、またはその他の言語では、モジュラス演算子を使用してこれを簡単に修正できるため、close rows
サイクルに加えて</div>
、if site.categories.size % 3 == 0
。ただし、Liquidは安全なテンプレート言語であるため、モジュラスをサポートしていません。
<div class="row">
投稿の総数が3の倍数でない場合、適切に閉じるために他に何ができますか?