2014-09-11 116 views
11

如何在Jekyll中隐藏页面?我有一个联系我们页面(作为Google文档格式),并且有一个响应页面。创建时,它会显示在“联系我们”页面的子菜单中,但我不希望它显示出来。隐藏由GitHub提供的Jekyll网站的页面

我现在有这个成立于这样的扉页:

--- 
layout: page 
title: Thanks 
permalink: /contact/thanks/ 
--- 

回答

1

在你页面前面的问题只需添加一个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> 

这将阻止您的页面出现在导航栏中。

10

如果您没有在页面中放置任何标题,它不会显示在导航栏中。像

--- 
layout: page 
permalink: /contact/thanks/ 
--- 
+0

这是使用杰奇为Github的页面那些正确的答案。 – Xogle 2016-12-22 19:19:32

+0

不适用于我 - 仍然生成菜单项 – rhoerbe 2017-01-19 14:37:50

10

而不是一些包括特定页面的“选择退出”,可以“选择加入”只包含您要包含在导航页面。如果您有大量的页面,这非常有用。

包含在每一页的前面此事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

+0

如何修改GITHUB PAGES设置中导航的生成位置? – Xogle 2016-12-22 19:19:10

+0

我不确定你的意思,你能提供一个例子吗? – Sam 2017-01-04 05:45:25

-1

根据文档,设置发布到错误在你前面的问题:

--- 
layout: post 
title: Blogging Like a Hacker 
published: false 
--- 

Front Matter

+0

这不是正确的方法。这不适用于404页面,您不希望在页眉中看到该页面,但仍希望将其发布。 – Xogle 2016-12-22 19:20:05

+0

我想我的解决方案更适合于帖子而不是页面。但是OP想要隐藏一个页面并且设置预定义的全局变量'published:false'是可行的。此外,'title'不是Jekyll(它的自定义)中的预定义变量,您的解决方案依赖于检查是否在标题中存在'title'('{%for my_page in site.pages%}''{%if my_page.title%}'),除非它是如何在GitHub页面中处理的,并且不能被更改。 – kimbaudi 2016-12-22 23:44:10