将活动类添加到Jekyll中当前选定的类别归档页面

时间:2017-01-04 09:56:18

标签: jekyll liquid jekyll-paginator

我正在使用category-archive plugin作为我的Jekyll项目。我希望每个类别存档页面都有一个类别列表菜单,以便用户可以在不同的类别存档之间导航。我想将class =“active”添加到当前查看的类别归档页面的类别列表链接中。我通过将page.url与navitem.url进行比较来为网站导航做类似的事情,区别在于对于网站导航,我在config.yml中指定了navitem.urls的列表,对于类别存档,类别名称列表是根据帖子本身指定的类别生成,我在使用{{category | {%if%}运算符中的第一个}}变量,所以我可以检查“==”或“包含”

这就是我目前所拥有的,但它似乎无法正常工作

<ul class="product-categories">
{% for category in site.categories %}
  {% if page.url == {{ category | first }} %}
    {% assign class = "active" %}
  {% else %}
    {% assign class = "" %}
  {% endif %}
<li>
  <a href="/{{ category | first }}/" class="{{ class }}">{{ category | first }}</a>
</li>
{% endfor %}

请帮助=)

1 个答案:

答案 0 :(得分:0)

类液体变量在for循环中,所以当你在范围外使用它时,它也是空的,它也应该是“包含”而不是==因为路径包含的更多字符不会出现在类别中

<ul class="product-categories"> 
{% assign class = "" %}
{% for category in site.categories %}
{% assign cat=category|first %} 
{% if page.url contains cat %}
 {% assign class = "active" %} 
{% endif %} 
<li> 
<a href="/{{ category | first }}/" class="{{ class }}">{{ category | first }}</a>
 </li> 
{% endfor %}