Je cherche un moyen de construire une navigation qui est peuplée avec un fichier .yaml. Je peux itérer sur le yaml pour créer les éléments nav et corriger les URLs qui ajoutent également une classe active à l'élément nav lorsque vous êtes sur cette URL particulière. J'uploadé une capture d'écran de la navigation existante nav getting populated with active classComment remplir un nav avec yaml dans Jekyll qui contient des accordéons
mon fichier YAML
nav:
- page: Home
url: /index.html
- page: Getting Started
url: /getting-started.html
- title: Delivery
subfolderitems:
- page: Intro
url: /Delivery/delivery-intro.html
- page: Set Up
url: /Delivery/delivery-deploy.html
- page: Thing 3
url: /thing3.html
- title: Group 2
subfolderitems:
- page: Piece 1
url: /piece1.html
- page: Piece 2
url: /piece2.html
- page: Piece 3
url: /piece3.html
- title: Group 3
subfolderitems:
- page: Widget 1
url: /widget1.html
- page: Widget 2
url: /widget2.html
- page: Widget 3
url: /widget3.html
mon fichier html
<nav>
<ul id="nav-menu" class="nav nav-list">
{% for item in site.data.static-nav.nav %}
<li class="{% if item.url == page.url %} active-item {% endif %}">
<a href="{{ item.url }}">{{ item.page }}</a>
</li>
{% if item.subfolderitems[0] %}
{% for subitem in item.subfolderitems %}
{% if subitem.url == page.url %}
{% assign activesubitem = true %}
{% endif %}
{% endfor %}
<li class="parent {% if activesubitem == true %}collapsibleListOpen{% else %}collapsibleListClosed{% endif %}">
<div class="subtree-name">{{ item.title }}</div>
<ul class="nav nav-list">
{% for subitem in item.subfolderitems %}
<li class="{% if subitem.url == page.url %} active-item {% endif %}">
<a href="{{ subitem.url }}">{{ subitem.page }}</a>
</li>
{% endfor %}
</ul>
</li>
{% endif %}
{% endfor %}
</ul>
</nav>
Je suis en cours d'exécution dans un problème avec les éléments de sous-dossier étant en Accordéons et ayant la l'accordéon parent étant basculé lorsque l'un des sous-éléments correspond à l'URL en cours et est donc actif. Y at-il loin de trouver l'élément parent avec yaml et liquide? Puis je pourrais vérifier si un élément de nav parent contient un sous-élément actif?
Je ne comprends pas vraiment cette question. Vous demandez de trouver le parent d'un sous-élément, mais vous avez déjà la variable 'item' qui est son parent. Y a-t-il un autre parent que vous cherchez? – flyx