T M*_*ack 4 html loops for-loop liquid jekyll
我正在使用 jekyll 用博客文章填充我的博客页面。我希望每个div“row”类都有两个帖子,但我也希望每个第 4 个项目都是一个广告(跳过帖子并移动到下一行,但仍然包含其他不是帖子的内容)。
所以如果有 6 个帖子,输出应该是这样的
<div class="row"> <!-- 1st row -->
<div> {{ post.title }} </div> <!-- 1st post, no skip -->
<div> {{ post.title }} </div> <!-- 2nd post, no skip -->
</div>
<div class="row"> <!-- 2nd row -->
<div> {{ post.title }} </div> <!-- 3rd post, no skip -->
<div> THIS IS NOT A POST </div> <!-- skip post 4, put something else -->
</div>
<div class="row"> <!-- 3rd row -->
<div> {{ post.title }} </div> <!-- 4th post, because last item was skipped to display something else -->
<div> {{ post.title }} </div> <!-- 5th post, no skip -->
</div>
<div class="row"> <!-- 4th row -->
<div> {{ post.title }} </div> <!-- 6th post, no skip -->
</div>
<!-- and so on, so every 4th item is not a post, but the posts continue after the skipped post -->
Run Code Online (Sandbox Code Playgroud)
我有后期循环部分,但我不知道如何添加 SKIP
{% assign rows = site.posts.size | divided_by: 2.0 | ceil %}
{% for i in (1..rows) %}
{% assign offset = forloop.index0 | times: 2 %}
<div class="row blogitems">
{% for post in site.posts limit:2 offset:offset %}
<div class="col-md-6">
<p>{{ post.title }}</p>
</div>
{% endfor %}
</div>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我认为您可以在检查modulo 的同时浏览您的项目。像这样:
<div class="row blogitems">
{% for post in site.posts %}
{% assign mod3 = forloop.index | modulo: 3 %}
<div class="col-md-6"><p>{{ post.title }}</p></div>
{% if mod3 == 0 %}<div class="col-md-6"><p>THIS IS NOT A POST</p>{% endif %}
{% if mod3 == 0 or mod3 == 2 %}</div><div class="row blogitems">{% endif %}
{% endfor %}
</div>
Run Code Online (Sandbox Code Playgroud)