Jekyll:在 For 循环中交替 Class

Jekyll: Alternate Class in For Loop

我想知道是否有一种方法可以在 for 循环中切换 类。

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

{% 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 可以吗?

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

您不需要实际检查 evenodd,如果需要,您可以使用 cycle-helper 实际分配额外的 class。此外,您可以检查该字符串并仅在需要时添加 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 %}