dotfiles

My PC Dotfiles & Website

menu.html (2332B)


{% macro menu(config, current_url) %} {%- if config.extra.main_menu_items and
config.extra.main_menu_items | length > 0 %} {%- set menu_items =
config.extra.main_menu_items -%} {%- set main_len = menu_items | length -%} {%-
if config.extra.main_menu_show -%} {%- set show_len =
config.extra.main_menu_show -%} {%- set menu_more = config.extra.main_menu_more
-%} {%- else -%} {%- set show_len = main_len -%} {%- set menu_more = "" -%} {%-
endif -%}
<nav class="menu-desktop" aria-label="Main navigation">
  <ul class="menu-inner menu-inner-desktop">
    {{ menu::items(menu=menu_items | slice(end=show_len),
    current_url=current_url)}} {%- if main_len > show_len -%}
    <li class="menu-inner-list">
      <button type="button" class="menu-inner-list-more-trigger" aria-controls="more-menu" aria-expanded="false">
        {{ menu_more }}      </button>
      <ul class="menu-inner-list-more" id="more-menu">
        {{ menu::items(menu=menu_items | slice(start=show_len),
        current_url=current_url) }}
      </ul>
    </li>
    {%- endif -%}
  </ul>
</nav>
<nav class="menu-mobile hidden" id="mobile-menu" aria-label="Main navigation">
  <ul class="menu-inner menu-inner-mobile">
    {{ menu::items(menu=menu_items, current_url=current_url) }}
  </ul>
</nav>
{% endif -%} {% endmacro menu %} {% macro items(menu, current_url) %} {%- for
item in menu %} {% if item.external %} {% continue %} {% endif -%} {%- set
abs_item_url = get_url(path=item.url) -%} {%- set is_current = current_url ==
abs_item_url ~ "/" or current_url == 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 %} {%- set current_item = base_item
-%} {% endif -%} {%- for item in menu -%} <li {%- if current_item and
current_item == item %} class="active" {%- endif %}> {%- if item.external -%} {{
url::external(url=item.url, text=item.name) }} {%- else -%} {%- if item.newtab
-%} {%- set newtab = true -%} {%- else -%} {%- set newtab = false -%} {%- endif
-%} {{ url::internal(path=item.url, text=item.name, newtab=newtab) }} {%- endif
-%} </li> {%- endfor -%} {% endmacro items %}