- CSS only solution using "check-box hack" - Add new UI text label `menu_label` in _data/ui-text.yml - Close #607
47 lines
1.7 KiB
Text
47 lines
1.7 KiB
Text
{% assign navigation = site.data.navigation[include.nav] %}
|
|
|
|
<nav class="nav__list">
|
|
{% if page.sidebar.title %}<h3 class="nav__title" style="padding-left: 0;">{{ page.sidebar.title }}</h3>{% endif %}
|
|
<input id="ac-toc" name="accordion-toc" type="checkbox" />
|
|
<label for="ac-toc">{{ site.data.ui-text[site.locale].menu_label | default: "Toggle Menu" }}</label>
|
|
<ul class="nav__items">
|
|
{% for nav in navigation %}
|
|
<li>
|
|
{% if nav.url %}
|
|
{% comment %} internal/external URL check {% endcomment %}
|
|
{% if nav.url contains "://" %}
|
|
{% assign domain = "" %}
|
|
{% else %}
|
|
{% assign domain = site.url | append: site.baseurl %}
|
|
{% endif %}
|
|
|
|
<a href="{{ domain }}{{ nav.url }}"><span class="nav__sub-title">{{ nav.title }}</span></a>
|
|
{% else %}
|
|
<span class="nav__sub-title">{{ nav.title }}</span>
|
|
{% endif %}
|
|
|
|
{% if nav.children != null %}
|
|
<ul>
|
|
{% for child in nav.children %}
|
|
{% comment %} internal/external URL check {% endcomment %}
|
|
{% if child.url contains "://" %}
|
|
{% assign domain = "" %}
|
|
{% else %}
|
|
{% assign domain = site.url | append: site.baseurl %}
|
|
{% endif %}
|
|
|
|
{% comment %} set "active" class on current page {% endcomment %}
|
|
{% if child.url == page.url %}
|
|
{% assign active = "active" %}
|
|
{% else %}
|
|
{% assign active = "" %}
|
|
{% endif %}
|
|
|
|
<li><a href="{{ domain }}{{ child.url }}" class="{{ active }}">{{ child.title }}</a></li>
|
|
{% endfor %}
|
|
</ul>
|
|
{% endif %}
|
|
</li>
|
|
{% endfor %}
|
|
</ul>
|
|
</nav> |