在Jekyll网站上使用Liquid标签进行导航

时间:2015-01-08 13:42:48

标签: jekyll liquid

我的Jekyll网站上有以下结构:

- Home
- Knowledge Base (/kb/)
 - Post 1 (/kb/post1/)
 - Post 2 (/kb/post2/)
- About

在除Home之外的每个页面上,我都有导航到主页的导航。在帖子中,我有导航到知识库。我已经有了一些代码,但它确实有用。但有没有办法让它更简单?

导航代码:

<nav>
 {% if page.title == 'Knowledge Base' %}
   <a href="/"></a>
 {% elsif page.path contains 'kb' %}
   {% unless page.title == 'Knowledge Base' %}
     <a href="/kb/"></a>
   {% endunless %}
 {% elsif page.title != 'Home' %}
   <a href="/"></a>
 {% endif %}
</nav>

2 个答案:

答案 0 :(得分:0)

  

从帖子中您只能访问知识库。从知识库和除家庭以外的所有其他页面,您可以转到主页。在主页上没有导航。

<nav>
 {% if page.title == 'Knowledge Base' and page.title == 'About'% %}
    <a href="/"></a>
 {% endif %}

 {% if page.title != 'Home' 
       and page.title != 'Knowledge Base' 
       and page.title != 'About' %}
       <a href="/kb/"></a>
 {% endif %}
</nav>

无论如何,我会在标题中使用不同的页面变量(例如page.title),而不是严格依赖于可能更改的特定页面标题(或语言),而不是page.template

另外,请考虑将此代码段作为单个文件包含,以便更轻松地进行维护。

答案 1 :(得分:0)

我将所有帖子移至kb内的_posts文件夹,最后使用此代码:

<nav>
  {% if page.path contains '_posts/kb' %}
    <a href="/kb/"></a>
  {% elsif page.title != "Home" %}
    <a href="/"></a>
  {% endif %}
</nav>