如何在Jekyll中隐藏页面?我有一个联系我们页面(作为Google文档格式),并且有一个响应页面。创建时,它会显示在“联系我们”页面的子菜单中,但我不希望它显示出来。隐藏由GitHub提供的Jekyll网站的页面
我现在有这个成立于这样的扉页:
---
layout: page
title: Thanks
permalink: /contact/thanks/
---
如何在Jekyll中隐藏页面?我有一个联系我们页面(作为Google文档格式),并且有一个响应页面。创建时,它会显示在“联系我们”页面的子菜单中,但我不希望它显示出来。隐藏由GitHub提供的Jekyll网站的页面
我现在有这个成立于这样的扉页:
---
layout: page
title: Thanks
permalink: /contact/thanks/
---
在你页面前面的问题只需添加一个show_in_nav: false
并在导航栏上,做了:
<ul>
{% for p in pages %}
{% unless show_in_nav == false %}
<li><a href="{{ site.baseurl }}{{ p.url }}">{{ p.title }}</a></li>
{% endunless %}
{% endfor %}
</ul>
这将阻止您的页面出现在导航栏中。
如果您没有在页面中放置任何标题,它不会显示在导航栏中。像
---
layout: page
permalink: /contact/thanks/
---
而不是一些包括特定页面的“选择退出”,可以“选择加入”只包含您做要包含在导航页面。如果您有大量的页面,这非常有用。
包含在每一页的前面此事menu
变量,你做要包含在导航:
---
layout: blog
title: Blog
menu: main
permalink: /blog/
---
,然后添加一个如果在其中产生你的导航声明:
<ul>
{% for page in site.pages %}
{% if page.menu == 'main' %}
<li><a href="{{ page.url | prepend: site.baseurl }}">{{ page.title }}</a></li>
{% endif %}
{% endfor %}
</ul>
感谢David Jaquel在这个问题上的回答以获得灵感:Excluding page from Jekyll navigation bar
根据文档,设置发布到错误在你前面的问题:
---
layout: post
title: Blogging Like a Hacker
published: false
---
这不是正确的方法。这不适用于404页面,您不希望在页眉中看到该页面,但仍希望将其发布。 – Xogle 2016-12-22 19:20:05
我想我的解决方案更适合于帖子而不是页面。但是OP想要隐藏一个页面并且设置预定义的全局变量'published:false'是可行的。此外,'title'不是Jekyll(它的自定义)中的预定义变量,您的解决方案依赖于检查是否在标题中存在'title'('{%for my_page in site.pages%}''{%if my_page.title%}'),除非它是如何在GitHub页面中处理的,并且不能被更改。 – kimbaudi 2016-12-22 23:44:10
这是使用杰奇为Github的页面那些正确的答案。 – Xogle 2016-12-22 19:19:32
不适用于我 - 仍然生成菜单项 – rhoerbe 2017-01-19 14:37:50