refactor to use feeds macro

This commit is contained in:
welpo 2025-04-26 20:53:30 +02:00
parent 153f48c312
commit d3560c33c5
No known key found for this signature in database
GPG key ID: A2F978CF4EC1F5A6
5 changed files with 27 additions and 13 deletions

View file

@ -1,12 +1,13 @@
{% import "macros/feed_utils.html" as feed_utils %}
{% import "macros/format_date.html" as macros_format_date %}
{% import "macros/list_posts.html" as macros_list_posts %}
{% import "macros/page_header.html" as macros_page_header %}
{% import "macros/rel_attributes.html" as macros_rel_attributes %}
{% import "macros/series_page.html" as macros_series_page %}
{% import "macros/settings.html" as macros_settings %}
{% import "macros/table_of_contents.html" as macros_toc %}
{% import "macros/translate.html" as macros_translate %}
{% import "macros/series_page.html" as macros_series_page %}
{% import "macros/target_attribute.html" as macros_target_attribute %}
{% import "macros/translate.html" as macros_translate %}
{# Load the internationalisation data for the current language from
the .toml files in the user's '/i18n' folder, falling back to the theme's.

View file

@ -0,0 +1,17 @@
{#- Feed utility macros -#}
{#- Zola 0.19.0 uses `generate_feeds`. Prior versions use `generate_feed` -#}
{%- macro get_generate_feed() -%}
{{- config.generate_feeds | default(value=config.generate_feed) -}}
{%- endmacro get_generate_feed -%}
{%- macro get_feed_url() -%}
{{- config.feed_filenames[0] | default(value=(config.feed_filename)) -}}
{%- endmacro get_feed_url -%}
{#- Check footer feed icon conditions -#}
{%- macro should_show_footer_feed_icon() -%}
{%- set generate_feed = config.generate_feeds | default(value=config.generate_feed) -%}
{%- set feed_url = config.feed_filenames[0] | default(value=(config.feed_filename)) -%}
{{- generate_feed and config.extra.feed_icon and feed_url -}}
{%- endmacro should_show_footer_feed_icon -%}

View file

@ -2,18 +2,17 @@
{% 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 }}
{{ title -}}
{% if show_feed_icon %}
{%- set feed_url = feed_utils::get_feed_url() -%}
<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

@ -5,10 +5,8 @@
{%- set blank_target = macros_target_attribute::target_attribute(new_tab=config.markdown.external_links_target_blank) -%}
{#- Feed icon -#}
{#- Zola 0.19.0 uses `generate_feeds`. Prior versions use `generate_feed` -#}
{%- set generate_feed = config.generate_feeds | default(value=config.generate_feed) -%}
{%- set feed_url = config.feed_filenames[0] | default(value=(config.feed_filename)) -%}
{%- set should_show_feed = generate_feed and config.extra.feed_icon and feed_url -%}
{%- set feed_url = feed_utils::get_feed_url() -%}
{%- set should_show_feed = feed_utils::should_show_footer_feed_icon() -%}
{%- set should_show_footer_icons = should_show_feed or config.extra.socials or config.extra.email -%}

View file

@ -3,9 +3,8 @@
{% block main_content %}
{#- 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 generate_feed = feed_utils::get_generate_feed() -%}
{%- set feed_url = feed_utils::get_feed_url() -%}
{%- set feed_pre_conditions = generate_feed and feed_url and taxonomy.feed -%}
{%- set show_feed_icon = feed_pre_conditions and term.pages | filter(attribute="date") | length > 0 -%}