mirror of
				https://github.com/pawroman/zola-theme-terminimal.git
				synced 2025-10-31 16:10:24 +01:00 
			
		
		
		
	 2bb4eb9ee2
			
		
	
	
		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.
		
			
				
	
	
		
			84 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			84 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 %}
 | |
| 
 |