我正在建立一个静态网站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