-
-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adapt to mkdocs-material version 7.3
Rely on its own support of section index. Now the template code needs only a tiny tweak.
- Loading branch information
Showing
2 changed files
with
192 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,185 @@ | ||
# https://github.com/squidfunk/mkdocs-material/blob/149b0dbc475fd77a2cf00fdd6365078a900c023b/material/partials/nav-item.html | ||
input: | | ||
{#- | ||
This file was automatically generated - do not edit | ||
-#} | ||
{% macro render(nav_item, path, level) %} | ||
{% set class = "md-nav__item" %} | ||
{% if nav_item.active %} | ||
{% set class = class ~ " md-nav__item--active" %} | ||
{% endif %} | ||
{% if nav_item.children %} | ||
{% if "navigation.sections" in features and level == 1 + ( | ||
"navigation.tabs" in features | ||
) %} | ||
{% set class = class ~ " md-nav__item--section" %} | ||
{% endif %} | ||
<li class="{{ class }} md-nav__item--nested"> | ||
{% set checked = "checked" if nav_item.active %} | ||
{% if "navigation.expand" in features and not checked %} | ||
<input class="md-nav__toggle md-toggle" data-md-toggle="{{ path }}" data-md-state="indeterminate" type="checkbox" id="{{ path }}" checked> | ||
{% else %} | ||
<input class="md-nav__toggle md-toggle" data-md-toggle="{{ path }}" type="checkbox" id="{{ path }}" {{ checked }}> | ||
{% endif %} | ||
{% set indexes = [] %} | ||
{% if "navigation.indexes" in features %} | ||
{% for item in nav_item.children %} | ||
{% if item.is_index and not index is defined %} | ||
{% set _ = indexes.append(item) %} | ||
{% endif %} | ||
{% endfor %} | ||
{% endif %} | ||
{% if not indexes %} | ||
<label class="md-nav__link" for="{{ path }}"> | ||
{{ nav_item.title }} | ||
<span class="md-nav__icon md-icon"></span> | ||
</label> | ||
{% else %} | ||
{% set index = indexes | first %} | ||
{% set class = "md-nav__link--active" if index == page %} | ||
<div class="md-nav__link md-nav__link--index {{ class }}"> | ||
<a href="{{ index.url | url }}">{{ nav_item.title }}</a> | ||
{% if nav_item.children | length > 1 %} | ||
<label for="{{ path }}"> | ||
<span class="md-nav__icon md-icon"></span> | ||
</label> | ||
{% endif %} | ||
</div> | ||
{% endif %} | ||
<nav class="md-nav" aria-label="{{ nav_item.title }}" data-md-level="{{ level }}"> | ||
<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> | ||
{% for nav_item in nav_item.children %} | ||
{% if "navigation.indexes" in features and nav_item.is_index %} | ||
{% else %} | ||
{{ render(nav_item, path ~ "_" ~ loop.index, level + 1) }} | ||
{% endif %} | ||
{% endfor %} | ||
</ul> | ||
</nav> | ||
</li> | ||
{% elif nav_item == page %} | ||
<li class="{{ class }}"> | ||
{% set toc = page.toc %} | ||
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc"> | ||
{% set first = toc | first %} | ||
{% if first and first.level == 1 %} | ||
{% set toc = first.children %} | ||
{% endif %} | ||
{% if toc %} | ||
<label class="md-nav__link md-nav__link--active" for="__toc"> | ||
{{ nav_item.title }} | ||
<span class="md-nav__icon md-icon"></span> | ||
</label> | ||
{% endif %} | ||
<a href="{{ nav_item.url | url }}" class="md-nav__link md-nav__link--active"> | ||
{{ nav_item.title }} | ||
</a> | ||
{% if toc %} | ||
{% include "partials/toc.html" %} | ||
{% endif %} | ||
</li> | ||
{% else %} | ||
<li class="{{ class }}"> | ||
<a href="{{ nav_item.url | url }}" class="md-nav__link"> | ||
{{ nav_item.title }} | ||
</a> | ||
</li> | ||
{% endif %} | ||
{% endmacro %} | ||
{{ render(nav_item, path, level) }} | ||
output: | | ||
{#- | ||
This file was automatically generated - do not edit | ||
-#} | ||
{% macro render(nav_item, path, level) %} | ||
{% set class = "md-nav__item" %} | ||
{% if nav_item.active %} | ||
{% set class = class ~ " md-nav__item--active" %} | ||
{% endif %} | ||
{% if nav_item.children %} | ||
{% if "navigation.sections" in features and level == 1 + ( | ||
"navigation.tabs" in features | ||
) %} | ||
{% set class = class ~ " md-nav__item--section" %} | ||
{% endif %} | ||
<li class="{{ class }} md-nav__item--nested"> | ||
{% set checked = "checked" if nav_item.active %} | ||
{% if "navigation.expand" in features and not checked %} | ||
<input class="md-nav__toggle md-toggle" data-md-toggle="{{ path }}" data-md-state="indeterminate" type="checkbox" id="{{ path }}" checked> | ||
{% else %} | ||
<input class="md-nav__toggle md-toggle" data-md-toggle="{{ path }}" type="checkbox" id="{{ path }}" {{ checked }}> | ||
{% endif %} | ||
{% set indexes = [nav_item] if nav_item.url else [] %} | ||
{% if "navigation.indexes" in features %} | ||
{% for item in nav_item.children %} | ||
{% if item.is_index and not index is defined %} | ||
{% set _ = indexes.append(item) %} | ||
{% endif %} | ||
{% endfor %} | ||
{% endif %} | ||
{% if not indexes %} | ||
<label class="md-nav__link" for="{{ path }}"> | ||
{{ nav_item.title }} | ||
<span class="md-nav__icon md-icon"></span> | ||
</label> | ||
{% else %} | ||
{% set index = indexes | first %} | ||
{% set class = "md-nav__link--active" if index == page %} | ||
<div class="md-nav__link md-nav__link--index {{ class }}"> | ||
<a href="{{ index.url | url }}">{{ nav_item.title }}</a> | ||
{% if nav_item.children | length > 1 %} | ||
<label for="{{ path }}"> | ||
<span class="md-nav__icon md-icon"></span> | ||
</label> | ||
{% endif %} | ||
</div> | ||
{% endif %} | ||
<nav class="md-nav" aria-label="{{ nav_item.title }}" data-md-level="{{ level }}"> | ||
<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> | ||
{% for nav_item in nav_item.children %} | ||
{% if "navigation.indexes" in features and nav_item.is_index %} | ||
{% else %} | ||
{{ render(nav_item, path ~ "_" ~ loop.index, level + 1) }} | ||
{% endif %} | ||
{% endfor %} | ||
</ul> | ||
</nav> | ||
</li> | ||
{% elif nav_item == page %} | ||
<li class="{{ class }}"> | ||
{% set toc = page.toc %} | ||
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc"> | ||
{% set first = toc | first %} | ||
{% if first and first.level == 1 %} | ||
{% set toc = first.children %} | ||
{% endif %} | ||
{% if toc %} | ||
<label class="md-nav__link md-nav__link--active" for="__toc"> | ||
{{ nav_item.title }} | ||
<span class="md-nav__icon md-icon"></span> | ||
</label> | ||
{% endif %} | ||
<a href="{{ nav_item.url | url }}" class="md-nav__link md-nav__link--active"> | ||
{{ nav_item.title }} | ||
</a> | ||
{% if toc %} | ||
{% include "partials/toc.html" %} | ||
{% endif %} | ||
</li> | ||
{% else %} | ||
<li class="{{ class }}"> | ||
<a href="{{ nav_item.url | url }}" class="md-nav__link"> | ||
{{ nav_item.title }} | ||
</a> | ||
</li> | ||
{% endif %} | ||
{% endmacro %} | ||
{{ render(nav_item, path, level) }} |