diff options
| author | 2023-12-15 09:11:47 +0800 | |
|---|---|---|
| committer | 2023-12-15 09:11:47 +0800 | |
| commit | be8de118db913711eb72ae5187d26e54a0055727 (patch) | |
| tree | 96cd6c012dafa3f4015e54edef90df5eaaab0ddb /src/templates/partials/nav-item.html | |
| parent | 9b2d27ba1d91a0d5531bc9c0d52c3887a2dfb2aa (diff) | |
| download | infini-be8de118db913711eb72ae5187d26e54a0055727.tar.gz infini-be8de118db913711eb72ae5187d26e54a0055727.zip | |
refactor(docs): optmst `docs` dir & `deps`
Diffstat (limited to 'src/templates/partials/nav-item.html')
| -rw-r--r-- | src/templates/partials/nav-item.html | 249 |
1 files changed, 0 insertions, 249 deletions
diff --git a/src/templates/partials/nav-item.html b/src/templates/partials/nav-item.html deleted file mode 100644 index 24d74a1a..00000000 --- a/src/templates/partials/nav-item.html +++ /dev/null @@ -1,249 +0,0 @@ -<!-- - 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 --> -{% 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> - - <!-- 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 %} - {% if nav_item.is_index and not index is defined %} - {% set _ = indexes.append(nav_item) %} - {% 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 --> - {% if not indexes %} - {% set tabindex = "0" if not is_section %} - <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 }}" - > - {{ 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 }}" - > - <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 }}" - > - <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) }} - {% endif %} - {% 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 --> - {% 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" - > - {{ 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"> - {{ render_content(nav_item) }} - </a> - </li> - {% endif %} -{% endmacro %} |