jekyll page.url不';它不能正常工作

jekyll page.url不';它不能正常工作,jekyll,Jekyll,假设是代码片段: <ul> {% assign navigation = site.data.nav %} {% for link in navigation %} {% assign active = nil %} {% for sublink in link.submenu %} {% if page.url contains sublink.url %} {% assign active = 'active' %}

假设是代码片段:

<ul>
{% assign navigation = site.data.nav %}
{% for link in navigation %}
    {% assign active = nil %}
    {% for sublink in link.submenu %}
        {% if page.url contains sublink.url %}
            {% assign active = 'active' %}
        {% endif %}
    {% endfor %}
    {% if page.url contains link.url %}
        {% assign active = 'active' %}
    {% endif %}
    <li class="{{ active }}>
        <a href="{{ site.baseurl }}{{ link.url }}">{{ link.text }}</a>
        {% if link.submenu %}
        <ul>
            {% for sublink in link.submenu %}
            <li {% if page.url contains sublink.url %}class="active"{% endif %}>
                <a href="{{ site.baseurl }}{{ sublink.url }}">{{ sublink.text }}</a>
            </li>
            {% endfor %}
        </ul>
        {% endif %}
    </li>
{% endfor %}
</ul>
因此,每一个菜单项都呈现出应有的效果,并且工作正常。但我在这里得到的唯一问题是,变量active没有根据这些变量进行更新,而是保持为零。此外,即使page.url包含sublink.url或link.url,下一行也不会呈现该活动类

<li {% if page.url contains sublink.url %}class="active"{% endif %}>


可能是什么问题???

是因为那些link.url或sublink.url实际上是模块的url吗??那么,如何真正比较当前加载的页面url是否包含该sublink.url或link.url??有什么想法吗??我尝试了site.url而不是page.url,但没有得到任何结果。我解决了这个问题,将nav、yml中的url分为三部分,并将模块名称与page.categories进行比较:)
<li {% if page.url contains sublink.url %}class="active"{% endif %}>