Liquid 模板:获取符合条件的前 5 个帖子

Gre*_*urm 4 liquid jekyll

我想在我的 jekyll-blog 的主页上显示 5 个最近的帖子,这些帖子有一个缩略图。如何实现这一目标?

我将缩略图设置为帖子标题中的属性:

---
layout: post
title: Lorem Ipsum
thumb: images/thumb.jpg
---
Run Code Online (Sandbox Code Playgroud)

我试过

{% for post in site.posts | sort:"date" | reverse | limit: 5 %}
    {% if post.thumb %}
        <img src= ... />
    {% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

但是当然,如​​果五个中的一个恰好没有图片,则只会显示四个。有没有办法解决这个问题?

Dav*_*uel 5

尝试:

{% assign maxPost = 5 %}
{% assign counter = 0 %}
{% for post in site.posts | sort:"date" | reverse %}
    {% if post.thumb %}
        <img src= ... />
        {% assign counter = counter | plus: 1 %}
        {% if counter == maxPost %}
            {% break %} {% comment %}exit the for loop{% endcomment %}
        {% endif %}
    {% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)