You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
6.6 KiB
HTML
131 lines
6.6 KiB
HTML
{%- set separator = config.extra.separator | default(value="•") -%}
|
|
|
|
{%- set rel_attributes = macros_rel_attributes::rel_attributes() | trim -%}
|
|
|
|
{%- if config.markdown.external_links_target_blank -%}
|
|
{%- set blank_target = "target=_blank" -%}
|
|
{%- else -%}
|
|
{%- set blank_target = "" -%}
|
|
{%- endif -%}
|
|
|
|
<footer>
|
|
<section>
|
|
<nav class="socials nav-navs">
|
|
{%- if config.extra.socials or config.extra.email %}
|
|
<ul>
|
|
{# 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)) %}
|
|
|
|
{%- if generate_feed and config.extra.feed_icon and feed_url -%}
|
|
<li>
|
|
<a class="nav-links no-hover-padding social" rel="{{ rel_attributes }}" {{ blank_target }} href="{{ get_url(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>
|
|
</li>
|
|
{%- endif -%}
|
|
|
|
{# Mail icon #}
|
|
{%- if config.extra.email -%}
|
|
{%- set email_already_encoded = (config.extra.email is not containing("@")) -%}
|
|
{%- set email_needs_decoding = email_already_encoded or config.extra.encode_plaintext_email -%}
|
|
|
|
{%- if email_already_encoded -%}
|
|
{%- set encoded_email = config.extra.email -%}
|
|
{# Verify the pre-encoded e-mail is valid (i.e. contains an '@') #}
|
|
{%- set decoded_email = encoded_email | base64_decode -%}
|
|
{%- if '@' not in decoded_email -%}
|
|
{{ throw(message="ERROR: The provided e-mail appears to be base64-encoded, but does not decode to a valid e-mail address.")}}
|
|
{%- endif -%}
|
|
{%- elif config.extra.encode_plaintext_email -%}
|
|
{%- set encoded_email = config.extra.email | base64_encode -%}
|
|
{%- endif -%}
|
|
|
|
<li class="{% if email_needs_decoding %}js{% endif %}">
|
|
{%- if email_needs_decoding -%}
|
|
<a class="nav-links no-hover-padding social" href="#" data-encoded-email="{{ encoded_email | safe }}">
|
|
{%- else -%}
|
|
<a class="nav-links no-hover-padding social" href="mailto:{{ config.extra.email | safe }}">
|
|
{%- endif -%}
|
|
<img loading="lazy" alt="email" title="email" src="{{ get_url(path='social_icons/email.svg') }}">
|
|
</a>
|
|
</li>
|
|
{%- endif -%}
|
|
|
|
{%- if config.extra.socials %}
|
|
{% for social in config.extra.socials %}
|
|
<li>
|
|
<a class="nav-links no-hover-padding social" rel="{{ rel_attributes }} me" {{ blank_target }} href="{{ social.url | safe }}">
|
|
<img loading="lazy" alt="{{ social.name }}" title="{{ social.name }}" src="{{ get_url(path='social_icons/' ~ social.icon ~ '.svg') }}">
|
|
</a>
|
|
</li>
|
|
{% endfor %}
|
|
{% endif %}
|
|
</ul>
|
|
{% endif %}
|
|
</nav>
|
|
|
|
{# Footer menu #}
|
|
<nav class="nav-navs">
|
|
{%- if config.extra.footer_menu %}
|
|
<small>
|
|
<ul>
|
|
{% for menu in config.extra.footer_menu %}
|
|
<li>
|
|
{%- set trailing_slash = menu.trailing_slash | default(value=true) -%}
|
|
|
|
{%- if menu.url == "sitemap.xml" -%}
|
|
{%- set url = get_url(path=menu.url, trailing_slash=trailing_slash) -%}
|
|
{%- elif menu.url is starting_with("http") -%}
|
|
{%- if menu.trailing_slash -%}
|
|
{%- set url = menu.url ~ "/" -%}
|
|
{%- else -%}
|
|
{%- set url = menu.url -%}
|
|
{%- endif -%}
|
|
{%- else -%}
|
|
{%- set url = get_url(path=menu.url, lang=lang, trailing_slash=trailing_slash) -%}
|
|
{%- endif -%}
|
|
|
|
<a class="nav-links no-hover-padding" href="{{ url }}">
|
|
{{ macros_translate::translate(key=menu.name, default=menu.name, language_strings=language_strings) }}
|
|
</a>
|
|
</li>
|
|
{% endfor %}
|
|
</ul>
|
|
</small>
|
|
{% endif %}
|
|
</nav>
|
|
|
|
<div class="credits">
|
|
<small>
|
|
{% include "partials/copyright.html" %}
|
|
|
|
{# Shows "Powered by Zola & tabi" notice #}
|
|
{{ macros_translate::translate(key="powered_by", default="Powered by", language_strings=language_strings) }}
|
|
<a rel="{{ rel_attributes }}" {{ blank_target }} href="https://www.getzola.org">Zola</a>
|
|
{{ macros_translate::translate(key="and", default="&", language_strings=language_strings) }}
|
|
<a rel="{{ rel_attributes }}" {{ blank_target }} href="https://github.com/welpo/tabi">tabi</a>
|
|
|
|
{# Shows link to remote repository #}
|
|
{%- if config.extra.remote_repository_url and config.extra.show_remote_source | default(value=true) -%}
|
|
{{ separator }}
|
|
<a rel="{{ rel_attributes }}" {{ blank_target }} href="{{ config.extra.remote_repository_url }}">
|
|
{{ macros_translate::translate(key="site_source", default="Site source", language_strings=language_strings) }}
|
|
</a>
|
|
{%- endif -%}
|
|
</small>
|
|
</div>
|
|
</section>
|
|
|
|
{# Load the decoding script if email is encoded #}
|
|
{%- if email_needs_decoding -%}
|
|
<script src="{{ get_url(path='js/decodeMail.min.js') }}" async></script>
|
|
{%- endif -%}
|
|
|
|
{# Modal structure for search #}
|
|
{%- if config.build_search_index -%}
|
|
{% include "partials/search_modal.html" %}
|
|
{%- endif -%}
|
|
</footer>
|