.yamlファイルが埋め込まれたナビゲーションを構築する方法を探しています。 yamlを繰り返して、navアイテムを作成し、urlを修正して、その特定のURLにいるときにnavアイテムにアクティブなクラスを追加することもできます。私は、サブフォルダ項目がアコーディオンにいるとなると問題に実行しています既存のNAV nav getting populated with active classアコーディオンを含むJekyllでyamlをnavに取り込む方法
私の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
私の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>
のスクリーンショットをアップロード副項目の1つが現在のURLと一致し、したがってアクティブであるときに、親アコーディオンが開かれます。 yamlと液体の親アイテムを見つけるために離れていますか?私は親ナビアイテムにアクティブなサブアイテムが含まれているかどうか調べることができましたか?
私は本当にこの質問を得ることはありません。あなたは副題の親を見つけるように頼んでいますが、あなたはすでにその親である 'item'変数を持っています。あなたが探している別の親がいますか? – flyx