这非常烦人 . 我试图在Jekyll中从静态切换到动态导航,但现在我不再能够根据其URL为链接分配类 .
这是怎么回事 .
<nav class="site-nav">
<a href="{{ site.baseurl }}/about/" class="{% if page.url == '/about/' %}active{% endif %}">About</a>
<a href="{{ site.baseurl }}/archive/" class="{% if page.url == '/archive/' %}active{% endif %}">Archive</a>
<a href="{{ site.baseurl }}/resources/" class="{% if page.url == '/resources/' %}active{% endif %}">Resources</a>
<a href="{{ site.baseurl }}/books/" class="{% if page.url == '/books/' %}active{% endif %}">Books</a>
<a href="{{ site.baseurl }}/subscribe/" class="{% if page.url == '/subscribe/' %}active{% endif %}">Subscribe</a>
<a href="{{ site.baseurl }}/sample/" class="{% if page.url == '/sample/' %}active{% endif %}">sample</a>
</nav>
有效 . 然后,我把它改成了
<nav>
{% for menu in site.data.navigation[page.lang] %}
<a href="{{site.baseurl}}{{ menu[1].url }}" class="{% if page.url == '{{ menu[1].url | prepand: site.baseurl }}' %}active{% endif %}">{{ menu[1].title }}</a>
{% endfor %}
</nav>
现在它不起作用 . 任何的想法?目标是针对导航菜单URL(menu [1] .url)检查page.url,如果它的相同应用类“active” . menu [1] .url是指_data / navigation的内容,是一个yml文件,带有基于page.lang的两个不同导航的菜单列表 .
数据文件如下所示:
en:
about:
title: "about"
url: "/about/"
archive:
title: "archive"
url: "/archive/"
resources:
title: "resources"
url: "/resources/"
books:
title: "books"
url: "/books/"
sample:
title: "sample"
url: "/sample/"
it:
about:
title: "about"
url: "/about/"
archive:
title: "archive"
url: "/archive/"
resources:
title: "resources"
url: "/resources/"
books:
title: "books"
url: "/books/"
sample:
title: "sample"
url: "/sample/"
1 回答
这是我实现这一目标的方式 .
文件架构
en
或fr
文件夹中的所有帖子和页面Lang配置
在
_config.yml
添加:主导航
为了在导航栏中对我的页面进行排序,我在页面前面添加了一个
weight
变量 .代码将根据当前页面lang生成导航 .