Navigation 如何加上「;主动的;类到导航链接,如果您在Jekyll中的单个帖子页面上

Navigation 如何加上「;主动的;类到导航链接,如果您在Jekyll中的单个帖子页面上,navigation,jekyll,state,Navigation,Jekyll,State,我的孩子是在杰基尔身上长大的。此外,我还实现了active导航逻辑。因此,如果我点击“日记”,它会带我到列表页面,在那里你可以找到所有的帖子 导航项目: 家 日志 计划 关于 接触 现在我正在寻找一个解决方案,在我阅读一篇文章或一篇文章时,我可以给“日记”提供活动类 您可以考虑WordPress中的当前的后祖< /代码>、当前菜单父< 或当前POST父/代码> POST类,以便更好地理解这个问题。 提前感谢。如果“Journal”是“mysite.com/Journal”页面,并且您的帖子位于“

我的孩子是在杰基尔身上长大的。此外,我还实现了
active
导航逻辑。因此,如果我点击“日记”,它会带我到列表页面,在那里你可以找到所有的帖子

导航项目:

  • 日志
  • 计划
  • 关于
  • 接触
  • 现在我正在寻找一个解决方案,在我阅读一篇文章或一篇文章时,我可以给“日记”提供活动类

    您可以考虑WordPress中的<代码>当前的后祖< /代码>、<代码>当前菜单父< <代码>或<代码>当前POST父/代码> POST类,以便更好地理解这个问题。


    提前感谢。

    如果“Journal”是“mysite.com/Journal”页面,并且您的帖子位于“mysite.com/Journal/postdate/postname”上,您可以检查URL的第一部分是否与菜单项相等,如下所示:

    {% assign url_parts = page.url | split: '/' %}
    <li {% if url_parts[1] == 'journal' %}class="active"{% endif %}> ... </li>
    
    {%assign url_parts=page.url | split:'/'%}
    
    
    资料来源:


    这可能需要自定义永久链接。有关自定义永久链接的信息可以在上找到。

    每篇文章都有一个
    页面。path
    变量,如
    \u posts/postName.md
    。因此,对于您的代码,您可以使用
    page.path包含“\u posts/”
    ,如下所示:

    <li {% if page.url == '/journal/' or page.url == '/post.html/' or page.path contains "_posts/" %} class="active"{% endif %}>
      <a href="{{ site.baseurl }}/journal">Journal</a>
    </li>
    
    
    
    

    注意:似乎
    {%if page.url='/journal/'| | | | page.url='/post.html/'| | | | page.path包含“_posts/”%}
    不起作用。

    可能是由于其他一些permalink设置导致的,这意味着它不太适用于而不是另一个