我正在建立一個靜態網站gh-pages使用jekyllliquid。我正在從數據文件中正確生成一個簡單的兩級導航。我的問題是我被困在試圖做兩件事情:Jekyll液體子導航沒有正確選擇
- 將「選定」類應用到當前頁面鏈接項目。
- 當存在子鏈接菜單時,將「打開」類應用於父列表項。
下面是我用我的_data/nav.yml
文件格式
- title: Top Level Nav Item
url: level-1/
sublinks:
- title: Child Nav Item 1
url: child-1/
- title: Child Nav Item 2
url: child-2/
這裏是我如何建立我的導航:
{% assign current_page = page.url | remove: 'index.html' %}
<ul class="-nav">
{% for nav in include.nav %}
{% assign current = null %}
{% if nav.url == current_page %}
{% assign current = ' _selected' %}
{% endif %}
{% if nav.url contains current_page %}
{% assign open = ' _open' %}
{% endif %}
<li class="-item{{ current }}{{ open }}">
<a href="{{ site.url }}{{ nav.url }}">{{ nav.title }}</a>
{% if nav.sublinks and current_page contains nav.url %}
{% include navigation.html nav=nav.sublinks%}
{% endif %}
</li>
{% endfor %}
</ul>
這同樣正確地建立我的導航,但它不不適用選擇課程或公開課程。
這裏是我想什麼它看起來像在最後:
我在做什麼錯?
不確定這對於輸出而言很重要,但是您的值有不一致的引用。另外,當你刪除'{%assign current = null%}'語句時會發生什麼? –
@JoelGlovier當我移除「{%assign current = null%}」時沒有任何反應。 – Hynes