🐛 fix(archive): group multi-sourced posts by year

Closes #251.
main
welpo 1 year ago
parent c4e5a65908
commit 2c8a21d558
No known key found for this signature in database
GPG Key ID: A2F978CF4EC1F5A6

@ -25,24 +25,33 @@
{%- set_global all_posts = all_posts | concat(with=section_item.pages) -%}
{%- endfor %}
{% for year, posts in all_posts | group_by(attribute="year") %}
{% if posts | length > 0 %}
<li>
<h2 class="listing-title">{{ year }}</h2>
<ul class="listing">
{% for post in posts %}
<li class="listing-item">
<div class="post-time">
<span class="date">
{{ post.date | date(format="%d %b", locale=date_locale) }}
</span>
</div>
<a href="{{ post.permalink }}" title="{{ post.title }}">{{ post.title }}</a>
</li>
{% endfor %}
</ul>
</li>
{% endif %}
{# Group posts by year. #}
{% set posts_by_year = all_posts | group_by(attribute="year") %}
{% set years = [] %}
{% for year, ignored in posts_by_year %}
{% set_global years = years | concat(with=[year]) %}
{% endfor %}
{# Iterate over sorted & reversed years (newest to oldest). #}
{% for year in years | sort | reverse %}
{% set posts = posts_by_year[year] %}
{% if posts | length > 0 %}
<li>
<h2 class="listing-title">{{ year }}</h2>
<ul class="listing">
{% for post in posts %}
<li class="listing-item">
<div class="post-time">
<span class="date">
{{ post.date | date(format="%d %b", locale=date_locale) }}
</span>
</div>
<a href="{{ post.permalink }}" title="{{ post.title }}">{{ post.title }}</a>
</li>
{% endfor %}
</ul>
</li>
{% endif %}
{% endfor %}
</ul>
</div>

Loading…
Cancel
Save