diff options
Diffstat (limited to 'docs/src/templates/partials/nav-item.html')
| -rw-r--r-- | docs/src/templates/partials/nav-item.html | 137 |
1 files changed, 11 insertions, 126 deletions
diff --git a/docs/src/templates/partials/nav-item.html b/docs/src/templates/partials/nav-item.html index 24d74a1a..5e880792 100644 --- a/docs/src/templates/partials/nav-item.html +++ b/docs/src/templates/partials/nav-item.html @@ -1,96 +1,45 @@ -<!-- - Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com> - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to - deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - IN THE SOFTWARE. ---> - -<!-- Render navigation link status --> +{#- + This file was automatically generated - do not edit +-#} {% macro render_status(nav_item, type) %} {% set class = "md-status md-status--" ~ type %} - - <!-- Render icon with title (or tooltip), if given --> {% if config.extra.status and config.extra.status[type] %} - <span - class="{{ class }}" - title="{{ config.extra.status[type] }}" - > + <span class="{{ class }}" title="{{ config.extra.status[type] }}"> </span> - - <!-- Render icon only --> {% else %} <span class="{{ class }}"></span> {% endif %} {% endmacro %} - -<!-- Render navigation link content --> {% macro render_content(nav_item, ref = nav_item) %} - - <!-- Navigation link icon --> {% if nav_item.is_page and nav_item.meta.icon %} {% include ".icons/" ~ nav_item.meta.icon ~ ".svg" %} {% endif %} - - <!-- Navigation link title --> <span class="md-ellipsis"> {{ ref.title }} </span> - - <!-- Navigation link status --> {% if nav_item.is_page and nav_item.meta.status %} {{ render_status(nav_item, nav_item.meta.status) }} {% endif %} {% endmacro %} - -<!-- Render navigation item (pruned) --> {% macro render_pruned(nav_item, ref = nav_item) %} {% set first = nav_item.children | first %} - - <!-- Recurse, if the first item has further nested items --> {% if first and first.children %} {{ render_pruned(first, ref) }} - - <!-- Navigation link --> {% else %} <a href="{{ first.url | url }}" class="md-nav__link"> {{ render_content(ref) }} - - <!-- Only render toggle if there's at least one nested item --> {% if nav_item.children | length > 0 %} <span class="md-nav__icon md-icon"></span> {% endif %} </a> {% endif %} {% endmacro %} - -<!-- Render navigation item --> {% macro render(nav_item, path, level) %} - - <!-- Determine classes --> {% set class = "md-nav__item" %} {% if nav_item.active %} {% set class = class ~ " md-nav__item--active" %} {% endif %} - - <!-- Navigation item with nested items --> {% if nav_item.children %} - - <!-- Determine all nested items that are index pages --> {% set indexes = [] %} {% if "navigation.indexes" in features %} {% for nav_item in nav_item.children %} @@ -99,93 +48,50 @@ {% endif %} {% endfor %} {% endif %} - - <!-- Determine whether to render item as a section --> {% set tabs = "navigation.tabs" in features %} {% set sections = "navigation.sections" in features %} {% if tabs and level == 1 or sections and tabs >= level - 1 %} {% set class = class ~ " md-nav__item--section" %} {% set is_section = true %} - - <!-- Determine whether to prune inactive item --> {% elif not nav_item.active and "navigation.prune" in features %} {% set class = class ~ " md-nav__item--pruned" %} {% set is_pruned = true %} {% endif %} - - <!-- Nested navigation item --> <li class="{{ class }} md-nav__item--nested"> {% if not is_pruned %} {% set checked = "checked" if nav_item.active %} - - <!-- Determine checked and indeterminate state --> {% set is_expanded = "navigation.expand" in features %} {% if is_expanded and not checked %} {% set indeterminate = "md-toggle--indeterminate" %} {% endif %} - - <!-- Active checkbox expands items contained within nested section --> - <input - class="md-nav__toggle md-toggle {{ indeterminate }}" - type="checkbox" - id="{{ path }}" - {{ checked }} - /> - - <!-- Toggle to expand nested items --> + <input class="md-nav__toggle md-toggle {{ indeterminate }}" type="checkbox" id="{{ path }}" {{ checked }}> {% if not indexes %} {% set tabindex = "0" if not is_section %} - <label - class="md-nav__link" - for="{{ path }}" - id="{{ path }}_label" - tabindex="{{ tabindex }}" - > + <label class="md-nav__link" for="{{ path }}" id="{{ path }}_label" tabindex="{{ tabindex }}"> {{ render_content(nav_item) }} <span class="md-nav__icon md-icon"></span> </label> - - <!-- Toggle to expand nested items with link to index page --> {% else %} {% set index = indexes | first %} {% set class = "md-nav__link--active" if index == page %} <div class="md-nav__link md-nav__container"> - <a - href="{{ index.url | url }}" - class="md-nav__link {{ class }}" - > + <a href="{{ index.url | url }}" class="md-nav__link {{ class }}"> {{ render_content(index, nav_item) }} </a> - - <!-- Only render toggle if there's at least one more page --> {% if nav_item.children | length > 1 %} {% set tabindex = "0" if not is_section %} - <label - class="md-nav__link {{ class }}" - for="{{ path }}" - id="{{ path }}_label" - tabindex="{{ tabindex }}" - > + <label class="md-nav__link {{ class }}" for="{{ path }}" id="{{ path }}_label" tabindex="{{ tabindex }}"> <span class="md-nav__icon md-icon"></span> </label> {% endif %} </div> {% endif %} - - <!-- Nested navigation --> - <nav - class="md-nav" - data-md-level="{{ level }}" - aria-labelledby="{{ path }}_label" - aria-expanded="{{ nav_item.active | tojson }}" - > + <nav class="md-nav" data-md-level="{{ level }}" aria-labelledby="{{ path }}_label" aria-expanded="{{ nav_item.active | tojson }}"> <label class="md-nav__title" for="{{ path }}"> <span class="md-nav__icon md-icon"></span> {{ nav_item.title }} </label> <ul class="md-nav__list" data-md-scrollfix> - - <!-- Nested navigation item --> {% for nav_item in nav_item.children %} {% if not indexes or nav_item != indexes | first %} {{ render(nav_item, path ~ "_" ~ loop.index, level + 1) }} @@ -193,52 +99,31 @@ {% endfor %} </ul> </nav> - - <!-- Pruned navigation item --> {% else %} {{ render_pruned(nav_item) }} {% endif %} </li> - - <!-- Currently active page --> {% elif nav_item == page %} <li class="{{ class }}"> {% set toc = page.toc %} - - <!-- State toggle --> - <input - class="md-nav__toggle md-toggle" - type="checkbox" - id="__toc" - /> - - <!-- Hack: see partials/toc.html for more information --> + <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc"> {% set first = toc | first %} {% if first and first.level == 1 %} {% set toc = first.children %} {% endif %} - - <!-- Navigation link to table of contents --> {% if toc %} <label class="md-nav__link md-nav__link--active" for="__toc"> {{ render_content(nav_item) }} <span class="md-nav__icon md-icon"></span> </label> {% endif %} - <a - href="{{ nav_item.url | url }}" - class="md-nav__link md-nav__link--active" - > + <a href="{{ nav_item.url | url }}" class="md-nav__link md-nav__link--active"> {{ render_content(nav_item) }} </a> - - <!-- Table of contents --> {% if toc %} {% include "partials/toc.html" %} {% endif %} </li> - - <!-- Navigation item --> {% else %} <li class="{{ class }}"> <a href="{{ nav_item.url | url }}" class="md-nav__link"> |
