我在 Jekyll 网站上工作,并试图输出嵌套在行 div 中的三列 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 等帖子时才真正有效。当帖子的总数不是三的倍数时,<div class="row">
永远不会关闭 - for 循环在结束标记可以作为close rows
循环的一部分输出之前结束。
在 Ruby、PHP 或任何其他语言中,我可以使用模数运算符轻松解决此问题,因此除了close rows
循环之外,我还会输出</div>
when if site.categories.size % 3 == 0
。然而,Liquid,因为它是一种安全的模板语言,不支持模数。
<div class="row">
当帖子总数不是三的倍数时,我还能做些什么来正确关闭?