Во-первых, я очень извиняюсь за мой плохой английский.
Мне очень хочется создать выпадающее меню для сайта с джекилом (github pages).Я использую шаблон, который имеет только фиксированное меню (не выпадающее меню), и я настраиваю его там, где мне нужно.
Сайт выделяет страницу, отображаемую посетителем, как "активную страницу" (класс css"active") и мой код работает нормально, но только на страницах, отображаемых в меню первого уровня.
Если я просматриваю страницу второго уровня, активный класс не выбран и немного странно:)
_data / navigation.yml
- title: Home
url: /
- title: Lo Squadrone
url: /about/
- title: Blog
url: /blog/
- title: Il Gioco
sublinks:
- title: Elite Dangerous
url: /elite/
- title: Background Simulation
url: /bgs/
_includes / nav.html
<!-- This finds the current page so it can be highlighted. -->
{% for entry in site.data.navigation %}
{% capture fullurl %}{{ site.baseurl }}{{ entry.url }}{% endcapture %}
{% if fullurl == page.url %}
{% assign current_page = fullurl %}
{% break %}
{% elsif page.url contains fullurl %}
{% assign current_page = fullurl %}
{% endif %}
{% endfor %}
<!-- Then we build the nav bar. -->
<ul class="links">
{% for entry in site.data.navigation %}
{% if entry.url == current_page %}
{% assign current = ' class="active"' %}
{% else %}
{% assign current = null %}
{% endif %}
{% assign sublinks = entry.sublinks %}
{% if sublinks %}
<li{{ current }}>
<a href="{{ site.baseurl }}{{ entry.url }}" class="trigger-drop">{{ entry.title }} ▼</a>
<ul class="drop" style="list-style: none;">
{% for sublink in sublinks %}
<li class="active"><a href="{{ site.baseurl }}{{ sublink.url }}">{{ sublink.title }}</a></li>
{% endfor %}
</ul>
</li>
{% else %}
<li{{ current }}><a href="{{ site.baseurl }}{{ entry.url }}">{{ entry.title }}</a></li>
{% endif %}
{% endfor %}
</ul>