Jekyll:For循环中的替代类

时间:2015-03-09 14:56:07

标签: for-loop jekyll cycle

我想知道是否有办法在for循环中的类之间交替。

目前,我正在重复<article>块,并添加.clearfix  在第二个<article>之后的div。

{% for post in site.posts %}
  {% capture thecycle %}{% cycle 'odd', 'even' %}{% endcapture %}
  {% if thecycle == 'odd' %}
    <article class="md-col-5">
      ...
    </article>
  {% else %}
    <article class="md-col-5 md-col-offset-2">
      ...
    </article>
    <div class="clearfix"></div>
  {% endif %}
{% endfor %}

有没有更好的方法来处理这个问题,所以我不必重复代码,因此当输出到HTML时只有一个.clearfix div。

我希望输出看起来像这样:

<article class="md-col-5"></article>

<article class="md-col-5 md-col-offset-2"></article>

<div class="clearfix"></div>

<article class="md-col-5"></article>

<article class="md-col-5 md-col-offset-2"></article>

Jekyll有可能吗?

感谢任何帮助。提前谢谢!

1 个答案:

答案 0 :(得分:2)

您无需实际检查evenodd,您可以使用cycle - 帮助程序在需要时实际分配其他类。此外,您可以检查该字符串,只在需要时添加clearfix:

{% for post in site.posts %}
    {% capture thecycle %}{% cycle 'md-col-offset-2', '' %}{% endcapture %}

    <article class="md-col-5 {{ thecycle }}">
        ...
    </article>

    {% if thecycle == 'md-col-offset-2' %}
        <div class="clearfix"></div>
    {% endif %}
{% endfor %}