gpt4 book ai didi

arrays - Jekyll forloop.last --> 最后一个?

转载 作者:行者123 更新时间:2023-12-02 09:23:41 25 4
gpt4 key购买 nike

我在 Jekyll 3.2.1 中创建了一个虚拟的“相关帖子”,解决方案如下:

    {% for post in site.posts limit: 4 %}
{% if page.author == post.author and page.title != post.title %}
<div class="post-stream-item">
<a href="{{ post.url | prepend: site.baseurl }}" title="{{ post.title }}"><div class="post-stream-content">
<img src="{{ post.thumbnail }}" width="80" height="auto" /><span class="post-stream-item-meta"><h3>{{ post.title }}</h3><p>{{ post.author }} on {{ post.date | date: "%b %-d, %Y" }} • {% assign words = post.content | number_of_words %}
{% if words <= 160 %}
1 min
{% else %}
{{ words | plus: 159 | divided_by:160 }} mins
{% endif %} read</p></span></div></a></div>{% if forloop.last == false %}<hr>{% endif %}

{% endif %}
{% endfor %}
  1. for 循环遍历站点中的帖子列表并给出这是一个限制
  2. 如果当前帖子的作者与当前帖子的作者相同重复发帖,但是标题不一样,那就补上神社绑定(bind)。

问题在于 {% if forloop.last == false %}<hr>{% endif %} 部分,因为如果forloop中有更多的iterable(post),它会显示 <hr> 标签,即使它是向用户显示的最后一个元素

是否有任何属性可以引用列表的倒数第二个元素或对此有更好的解决方案?

最佳答案

对此不会有简单的开箱即用的单行解决方案。以这种方式思考:您本质上是在请求一个能够及时预测并确定这是否是最后一次 if 的功能。语句将评估为 true . Jekyll 是伟大的,但它不能预测 future !

您可以使用两个循环自己完成此操作:一个循环并计算有多少 <hr>你应该展示的元素。然后另一个实际打印出来的东西,检查你想出的计数来决定是否打印 <hr>元素。

或者您可以只使用 CSS 隐藏最后一个 <hr>元素。 Google 是您的 friend 。

关于arrays - Jekyll forloop.last --> 最后一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39725144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com