Jekyll 杰基尔:循环使用过期日期

Jekyll 杰基尔:循环使用过期日期,jekyll,Jekyll,所以我想展示最新的5个即将到来的事件。我把所有的东西都从数据文件中提取出来。但我注意到,当一个事件过期并保留在数据文件中时,主页显示的是5减去过期事件的数量 例如,如果有1个事件过期,主页将只显示4个即将到来的事件,而不是跳过过期的事件并循环。有人能帮忙吗?谢谢 {% assign eventPost = site.data.events | sort: 'date' %} {% for event in eventPost limit:5 %}

所以我想展示最新的5个即将到来的事件。我把所有的东西都从数据文件中提取出来。但我注意到,当一个事件过期并保留在数据文件中时,主页显示的是5减去过期事件的数量

例如,如果有1个事件过期,主页将只显示4个即将到来的事件,而不是跳过过期的事件并循环。有人能帮忙吗?谢谢

{% assign eventPost = site.data.events | sort: 'date' %}
            {% for event in eventPost limit:5 %}
            {% assign curDate = site.time | date: '%Y-%m-%d' %}
            {% assign postStartDate = event.date | date: '%Y-%m-%d' %}
            {% if postStartDate >= curDate %}
            <div class="content--block">
                <div class="event--info">
                    <p class="content--date">{{ event.date | date: '%B %-d, %Y' }}</p>
                    <h3 class="content--title">{{ event.title }}</h3>
                    {% if event.time %}
                    <p class="content--location"><strong>{{ event.location }}</strong> at <strong>{{ event.time }}</strong></p>
                    {% else %}
                    <p class="content--location"><strong>{{ event.location }}</strong></p>
                    {%  endif %}
                    {% if event.subheader %}
                    <p class="content--description">{{ event.subheader }}</p>
                    {% endif %}
                </div>
                {% if event.button == true %}
                <a href="{{ event.eventlink }}" target="_blank"><button class="outline">Attend</button></a>
                {% endif %}
            </div>
            {% endif %}
            {% endfor %}
{%assign eventPost=site.data.events | sort:'date%}
{eventPost限制中事件的百分比:5%}
{%assign curDate=site.time |日期:'%Y-%m-%d'%}
{%assign postStartDate=event.date |日期:'%Y-%m-%d'%}
{%if postStartDate>=curDate%}

{{event.date | date:'%B%-d,%Y'}

{{event.title}} {%if event.time%}

{{event.location}at{{event.time}

{%else%}

{{event.location}}

{%endif%} {%if event.subheader%}

{{event.subheader}

{%endif%} {%if event.button==true%} {%endif%} {%endif%} {%endfor%}
{%for event-in-eventPost-limit:5%}
指示liquid创建一个包含5个first
eventPost
元素的临时数组。你的循环肯定是在5个元素上循环,而不是更多

改用计数器。注意,为了简洁起见,我在打印循环中删掉了代码

{% assign eventPost = site.data.events | sort: 'date' %}
{% assign eventsNumber = 5 %}
{% assign printedEvents = 0 %}

{% for event in eventPost %}
    {% assign curDate = site.time | date: '%Y-%m-%d' %}
    {% assign postStartDate = event.date | date: '%Y-%m-%d' %}
    {% if (postStartDate >= curDate) and (printedEvents < eventsNumber) %}
        {% assign printedEvents = printedEvents | plus: 1 %}
        <p>{{ event.date | date: '%B %-d, %Y' }} - {{ event.title }}</p>
    {% endif %}
{% endfor %}
{%assign eventPost=site.data.events | sort:'date%}
{%assign eventsNumber=5%}
{%assign printedEvents=0%}
{eventPost%中事件的%s}
{%assign curDate=site.time |日期:'%Y-%m-%d'%}
{%assign postStartDate=event.date |日期:'%Y-%m-%d'%}
{%if(postStartDate>=curDate)和(printedEvents
{%endif%}
{%endfor%}

然后,您只需更改
事件编号
即可更改打印事件的数量。

因此,我意识到这个问题已经存在4年了……但这种方法是否需要在每次您想要更新即将到来的事件列表时重新部署站点,即使您只想让日期自动滚动?