【发布时间】:2016-09-13 17:54:11
【问题描述】:
我正在使用jekyll liquid 在gh-pages 上构建一个静态网站。我正在从数据文件正确生成一个简单的两级导航。我的问题是我一直在尝试做两件事:
- 将“选定”类应用于当前页面链接项。
- 当存在子链接菜单时,将“打开”类应用于父列表项。
这是我在_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 %}时没有任何反应。
标签: gh-pages jekyll liquid jekyll liquid github-pages