feat(feed): add feed icon tag pages

This commit is contained in:
tzinm 2025-04-14 21:21:33 +02:00
parent 9ffddc8b37
commit df1ac6e109
3 changed files with 32 additions and 4 deletions

View file

@ -196,7 +196,7 @@ article {
}
.section-title {
display: block;
display: flex;
margin: 0;
margin-top: -0.15em;
color: var(--text-color-high-contrast);

View file

@ -1,5 +1,19 @@
{% macro page_header(title) %}
{% macro page_header(title, show_feed_icon=false) %}
{% set rel_attributes = macros_rel_attributes::rel_attributes() | trim %}
{#- Zola 0.19.0 uses `generate_feeds` and `feed_filenames`. Prior versions use `feed_filename` -#}
{%- set feed_url = config.feed_filenames[0] | default(value=(config.feed_filename)) -%}
{%- set blank_target = macros_target_attribute::target_attribute(new_tab=config.markdown.external_links_target_blank) -%}
<h1 class="title-container section-title bottom-divider">
{{ title }}
{% if show_feed_icon %}
<a class="no-hover-padding social" rel="{{ rel_attributes }}" {{ blank_target }} href="{{ get_url(path=term.path ~ feed_url, lang=lang, trailing_slash=false) | safe }}">
<img loading="lazy" alt="feed" title="feed" src="{{ get_url(path='/social_icons/rss.svg') }}">
</a>
{% endif %}
</h1>
{% endmacro page_header %}
{% endmacro page_header %}

View file

@ -2,7 +2,21 @@
{% block main_content %}
{{ macros_page_header::page_header(title=term.name) }}
{#- Feed icon -#}
{#- Zola 0.19.0 uses `generate_feeds` and `feed_filenames`. Prior versions use `generate_feed` and `feed_filename` -#}
{%- set generate_feed = config.generate_feeds | default(value=config.generate_feed) -%}
{%- set feed_url = config.feed_filenames[0] | default(value=(config.feed_filename)) -%}
{%- set show_feed_icon = false -%}
{% if generate_feed and feed_url and taxonomy.feed %}
{% for page in term.pages %}
{% if page.date %}
{% set_global show_feed_icon = true %}
{% break %}
{% endif %}
{% endfor %}
{% endif %}
{{ macros_page_header::page_header(title=term.name, show_feed_icon=show_feed_icon) }}
{% set max = section.extra.max_posts | default(value=999999) %}
{{ macros_list_posts::list_posts(posts=term.pages, max=max, language_strings=language_strings) }}