Индекс 1: пропустить
Индекс 2: начать перенос двух статей
Индекс 3: завершить перенос двух статей
Индекс 4: начать перенос двух статей
Указатель 5: конец двух статей
.
.
.
<div class="posts">
{% for post in site.posts %}
{% if forloop.first == true %}
<div class="row">
<article class="twelve columns"></article>
</div>
{% elsif forloop.index | modulo:2 == 0 %}
<div class="row">
<article class="six columns"></article>
{% else %}
<article class="six columns"></article>
</div>
{% endif %}
{% endfor %}
</div>
Хотя это создаст новую проблему.Он может работать для 3 или 5 статей, но не для 4 или 6 статей.
Нужно использовать вспомогательную переменную, чтобы отслеживать открытость последней строки div:
{% assign opendiv = false %}
<div class="posts">
{% for post in site.posts %}
{% assign remainder = forloop.index | modulo:2 %}
{% if forloop.first == true %}
<div class="row">
<article class="twelve columns"></article>
</div>
{% elsif forloop.last == true and opendiv == false %}
<div class="row">
<article class="six columns"></article>
</div>
{% elsif remainder == 0 %}
{% opendiv = true %}
<div class="row">
<article class="six columns"></article>
{% elsif opendiv == true %}
{% opendiv = false %}
<article class="six columns"></article>
</div>
{% endif %}
{% endfor %}
</div>