在 Jekyll 网站上使用 Liquid 标签进行导航
Using Liquid tags for navigation on Jekyll site
我的 Jekyll 站点上有以下结构:
- Home
- Knowledge Base (/kb/)
- Post 1 (/kb/post1/)
- Post 2 (/kb/post2/)
- About
在除主页之外的每个页面上,我都有指向主页的导航。在帖子中,我有导航到知识库。我已经有了一些代码并且可以正常工作。但是有没有办法让它更简单呢?
导航代码:
<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>
From posts you can go only to knowledge base. From knowledge base and all other pages, except home, you can go to home page. On the home page there is no navigation.
<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>
无论如何,我会在 header(例如 page.template
)中使用不同的页面变量而不是 page.title
,而不是严格依赖于可能的特定页面标题(或语言)改变。
同时考虑将此代码片段作为单个文件包含在内,以便于维护。
我将所有帖子移至 _posts
内的 kb
文件夹,并最终使用此代码:
<nav>
{% if page.path contains '_posts/kb' %}
<a href="/kb/"></a>
{% elsif page.title != "Home" %}
<a href="/"></a>
{% endif %}
</nav>
我的 Jekyll 站点上有以下结构:
- Home
- Knowledge Base (/kb/)
- Post 1 (/kb/post1/)
- Post 2 (/kb/post2/)
- About
在除主页之外的每个页面上,我都有指向主页的导航。在帖子中,我有导航到知识库。我已经有了一些代码并且可以正常工作。但是有没有办法让它更简单呢?
导航代码:
<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>
From posts you can go only to knowledge base. From knowledge base and all other pages, except home, you can go to home page. On the home page there is no navigation.
<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>
无论如何,我会在 header(例如 page.template
)中使用不同的页面变量而不是 page.title
,而不是严格依赖于可能的特定页面标题(或语言)改变。
同时考虑将此代码片段作为单个文件包含在内,以便于维护。
我将所有帖子移至 _posts
内的 kb
文件夹,并最终使用此代码:
<nav>
{% if page.path contains '_posts/kb' %}
<a href="/kb/"></a>
{% elsif page.title != "Home" %}
<a href="/"></a>
{% endif %}
</nav>