如何确定活跃的post类别?

How to determine active post category?

我有一个类别下拉菜单和其中的 posts。需要检查类别是否处于活动状态 - 打开 post 以使用活动 class 作为菜单类别。 帖子可以有新类别,它们不是预定义的。

前题标准:

---
layout: post
title:  "Some post title"
date:   2016-04-06 13:41:07 +0300
category: Events
---

为了在菜单中打开 post 时显示 class,我使用了一种常用技术

{% if page.url == post.url %}
<li class="active"><a href="{{post.url | prepend: site.baseurl}}" class="active">{{post.title}}</a></li>
{% else %}
<li><a href="{{post.url | prepend: site.baseurl}}">{{post.title}}</a></li>
{% endif %}

如何将 class 应用于存在打开 post 的下拉类别?

这是带有嵌套 post 输出标题的类别的完整代码,我目前有:

<ul class="nav navbar-nav">
Categories
<li class="dropdown active">
{% for category in site.categories %}
<li><a href="#" class="dropdown-toggle" data-toggle="dropdown" name="{{ category | first }}">{{ category | first }}</a>
<ul class="dropdown-menu">
{% for posts in category %}
{% for post in posts %}
{% if page.url == post.url %}
<li class="active"><a href="{{post.url | prepend: site.baseurl}}" class="active">{{post.title}}</a></li>
{% else %}
<li><a href="{{post.url | prepend: site.baseurl}}">{{post.title}}</a></li>
{% endif %}
{% endfor %}
{% endfor %}
</ul>
</li>
{% endfor %}
</li>
</ul>

你可以试试这个:

{% for category in site.categories %}

  {% assign categoryName = category | first %}

    <li>
      <a href="#" 
         class="dropdown-toggle {% if page.category == categoryName %} active{% endif %}" 
         data-toggle="dropdown" 
         name="{{ categoryName }}">{{ categoryName }}</a>
    ...