Jekyll 反复浏览帖子列表并比较日期
这是我对帖子列表视图的标记:Jekyll 反复浏览帖子列表并比较日期,jekyll,liquid,Jekyll,Liquid,这是我对帖子列表视图的标记: <ul class="eventlist"> {% for post in site.posts reversed %} <li class="eventlist-element"> {% if post.href %} <a class="eventlist-element__link" href="{{ post.href }}"> {% else %} &l
<ul class="eventlist">
{% for post in site.posts reversed %}
<li class="eventlist-element">
{% if post.href %}
<a class="eventlist-element__link" href="{{ post.href }}">
{% else %}
<a class="eventlist-element__link" href="{{ post.url | prepend: site.baseurl }}">
{% endif %}
<time datetime="{{ post.date | date: "%Y-%m-%d" }}"class="eventlist-element__date">
<span class="eventlist-element__date-day">{{ post.date | date: "%d" }}</span>
<span class="eventlist-element__date-day-name">{{ post.date | date: "%a" }}</span>
</time>
<div class="eventlist-elemnt-infowrap">
<span class="eventlist-element__title">{{ post.title }}</span>
<span class="eventlist-element__venue">{{ post.venue }}</span><span class="eventlist-element__time">{{ post.time }}</span><span class="eventlist-element__ticket">{{ post.ticket }}</span>
</div>
<span class="eventlist-element__bullets"></span>
</a>
</li>
{% endfor %}
</ul>
我想迭代所有帖子,并比较post.date。如果我们在同一天发布了3篇文章,我想为第1篇文章以及第2篇和第3篇文章添加标记a。我尝试了一些方法,但到目前为止没有任何效果。尝试以下方法:
{% assign previousDate = site.date %}
{% for post in site.posts %}
{% if post.date == previousDate %}
// some other class
{% endif %}
{% assign previousDate = post.date %}
{% endfor %}
基本上,您将上一篇文章的日期指定给某个变量,并将其与当前文章的日期进行比较。如果它们相同,则应用不同的样式。不确定是否可以按原样使用日期,它是否也包含小时、分钟等,。。?如果是这样的话,您需要对其进行过滤,以便只显示年、月、日。一些代码:
{% assign defaultStyle = 'defaultStyle' %}
{% assign alternateStyle = 'alternateStyle' %}
{% assign counter = 1 %}
{% for post in site.posts %}
{% if previousPostDate %}
{% if previousPostDate == post.date %}
{% capture counter %}{{ counter | plus: 1 }}{% endcapture %}
{% else %}
{% assign counter = 1 %}
{% endif %}
{% endif %}
{% if counter | to_number > 1 %}
{% assign defaultStyle = alternateStyle %}
{% endif %}
<div class="{{ defaultStyle }}">
<h3>{{ post.title }}</h3>
<p>{{ post.date }}</p>
</div>
{% assign previousPostDate = post.date %}
{% endfor %}
该代码实现:
如果我不是约会小组的第一个帖子,我的风格就不同了
你的逻辑是
如果我不是一个由三篇或更多文章组成的日期组中的第一篇文章,那么我的风格就不同了
包含三篇或更多文章的part date组意味着您已经知道有多少篇相同日期的文章,这使得代码更加复杂