diff --git a/templates/archive.html b/templates/archive.html index 46b9348..0bf581a 100644 --- a/templates/archive.html +++ b/templates/archive.html @@ -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 %} -
  • -

    {{ year }}

    - -
  • - {% 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 %} +
  • +

    {{ year }}

    + +
  • + {% endif %} {% endfor %}