mirror of
https://github.com/pawroman/zola-theme-terminimal.git
synced 2025-01-09 20:21:06 +01:00
2bb4eb9ee2
There's some css rules for which prepending the name of the menu item as set in the config causes the <a> element to appear shifted down compared to the other <a> elements of the menu. I might have a look later, but for now this enables only the appeareance of the RSS icon, discarding entirely the name of the link.
85 lines
3.7 KiB
HTML
85 lines
3.7 KiB
HTML
{% macro menu(config, current_path) %}
|
|
{%- set current_item = false -%}
|
|
{%- if config.extra.menu_items %}
|
|
{%- set menu_items = config.extra.menu_items -%}
|
|
|
|
{%- for item in menu_items %}
|
|
{%- set abs_item_url = item.url | replace(from="$BASE_URL", to=config.base_url) -%}
|
|
{%- set is_current = current_url == abs_item_url ~ "/"
|
|
or current_url is starting_with(abs_item_url)
|
|
-%}
|
|
{%- set is_base = abs_item_url == config.base_url
|
|
or abs_item_url == config.base_url ~ "/"
|
|
-%}
|
|
|
|
{%- if is_base %}
|
|
{%- set_global base_item = item -%}
|
|
{% endif -%}
|
|
|
|
{%- if is_current and not is_base %}
|
|
{%- set_global current_item = item -%}
|
|
{% endif -%}
|
|
{% endfor -%}
|
|
|
|
{%- if not current_item and base_item %}
|
|
{# Did not match any menu URLs -- assume it's a blog post #}
|
|
{%- set current_item = base_item -%}
|
|
{% endif -%}
|
|
|
|
{{ menu_macros::menu_for(config=config, current_item=current_item) }}
|
|
{% endif -%}
|
|
{% endmacro menu %}
|
|
|
|
{% macro menu_for(config, current_item) %}
|
|
{%- if config.extra.menu_items %}
|
|
{%- set menu_items = config.extra.menu_items -%}
|
|
|
|
<nav class="menu">
|
|
<ul class="menu__inner">
|
|
{%- for item in menu_items %}
|
|
<li {%- if current_item and current_item == item %} class="active" {%- endif %}>
|
|
|
|
<!-- RSS -->
|
|
{%- set is_rss = item.url == "$BASE_URL/$FEED_FILENAME" -%}
|
|
|
|
{%- if config.extra.rss_icon_color %}
|
|
{%- set rss_icon_color = config.extra.rss_icon_color %}
|
|
{%- else %}
|
|
{%- set rss_icon_color = "#ee802f" %}
|
|
{%- endif %}
|
|
|
|
{%- if is_rss -%}
|
|
{%- if config.generate_feed %}
|
|
{%- if config.feed_filename == "rss.xml" %}
|
|
{% set feed_type = 'rss+xml' %}
|
|
{%- else %}
|
|
{% set feed_type = 'atom+xml' %}
|
|
{% endif -%}
|
|
|
|
<a type="application/{{feed_type}}" title="RSS" href="{{ get_url(path=config.feed_filename) | safe }}">
|
|
<svg id="rss-icon" xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 32 32" fill="none" stroke="{{rss_icon_color}}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-rss">
|
|
<g transform="translate(0,5)">
|
|
<path d="M4 11a9 9 0 0 1 9 9"></path>
|
|
<path d="M4 4a16 16 0 0 1 16 16"></path>
|
|
<circle cx="5" cy="19" r="1"></circle>
|
|
</g>
|
|
</svg>
|
|
</a>
|
|
{% endif -%}
|
|
|
|
{%- else -%}
|
|
{%- if item.newtab -%}
|
|
<a href="{{ item.url | replace(from="$BASE_URL", to=config.base_url) | safe }}" target="_blank" rel="noopener noreferrer">{{ item.name | safe }}</a>
|
|
{%- else -%}
|
|
<a href="{{ item.url | replace(from="$BASE_URL", to=config.base_url) | safe }}">{{ item.name | safe }}</a>
|
|
{%- endif -%}
|
|
{%- endif -%}
|
|
|
|
</li>
|
|
{% endfor -%}
|
|
</ul>
|
|
</nav>
|
|
{% endif -%}
|
|
{% endmacro menu %}
|
|
|