{% macro list_posts(posts, max, language_strings="", section_path="blog") %} {%- set separator = config.extra.separator | default(value="•") -%}
{% for post in posts %} {% if loop.index <= max %} {% if loop.index == max %}
{% elif loop.last %}
{% else %}
{% endif %}
    {%- set allowed_post_listing_dates = ["date", "updated", "both"] -%} {%- set post_listing_date = config.extra.post_listing_date | default(value="date") -%} {%- if post_listing_date not in allowed_post_listing_dates -%} {{ throw(message="ERROR: Invalid value for config.extra.post_listing_date. Allowed values are 'date', 'updated', or 'both'.") }} {%- endif -%} {%- set show_date = post.date and post_listing_date == "date" or post.date and post_listing_date == "both" or post.date and post_listing_date == "updated" and not post.updated -%} {%- set show_updated = post.updated and post_listing_date == "updated" or post.updated and post_listing_date == "both" -%} {%- if show_date or show_updated -%} {%- if show_date -%}
  • {{- macros_format_date::format_date(date=post.date, short=false, language_strings=language_strings) -}}
  • {%- endif -%} {%- if show_date and show_updated -%}
  • {{- separator -}}
  • {%- endif -%} {%- if show_updated -%} {%- set last_updated_str = macros_translate::translate(key="last_updated_on", default="Updated on $DATE", language_strings=language_strings) -%} {%- set formatted_date = macros_format_date::format_date(date=post.updated, short=true, language_strings=language_strings) -%} {%- set updated_str = last_updated_str | replace(from="$DATE", to=formatted_date) -%}
  • {{ updated_str }}
  • {%- endif -%} {%- endif -%} {% if post.draft %}
  • {{ macros_translate::translate(key="draft", default="DRAFT", language_strings=language_strings) }}
  • {% endif %}

{{ post.title }}

{% if post.taxonomies.tags %}
{% for tag in post.taxonomies.tags %} {{ tag }} {% endfor %}
{% endif %}
{% if post.description %}

{{ post.description }}

{% elif post.summary %}

{{ post.summary | striptags | trim_end_matches(pat=".") | safe }}…

{% endif %}
{{ macros_translate::translate(key="read_more", default="Read more", language_strings=language_strings) }} 
{% endif %} {% if not loop.last %} {% if loop.index == max %} {% endif %} {% endif %} {% endfor %}
{% endmacro %}