2014-09-11 2 views
11

Как скрыть страницу в Jekyll? У меня есть страница «Контакты» (как форма Документов Google), и есть страница ответа. Когда он создан, он отображается в навигации как ребенок на странице «Контакты», но я не хочу, чтобы он отображался вообще.Скрыть страницу на сайте Jekyll, обслуживаемую GitHub

я в настоящее время этот набор в передней материи, как это:

--- 
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

+0

не работал для меня - все еще генерирует пункт меню – rhoerbe

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> 

Благодаря ответу Дэвида Жакеля на этот вопрос для вдохновения: Excluding page from Jekyll navigation bar

+0

Как вы изменяете, где создается справка в настройке GITHUB PAGES? – Xogle

+0

Я не уверен, что вы имеете в виду, не могли бы вы привести пример? – Sam

-1

Согласно документации, набор опубликовал ложь в переднем деле:

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

Front Matter

+0

Это неправильный подход. Это не сработало бы на 404 странице, которую вы бы не хотели видеть в заголовке, но все же хотел, чтобы она была опубликована. – Xogle

+0

Я думаю, что мое решение более подходит для сообщений вместо страниц. Но OP хочет скрыть страницу и установить предопределенную глобальную переменную 'опубликовано: false'. Кроме того, 'title' не является предопределенной переменной в Jekyll (ее обычае), и ваше решение полагается на проверку, чтобы увидеть, существует ли' title' в переднем вопросе ('{% для my_page в site.pages%}' '{% if my_page.title%} '), если только так оно не обрабатывается на страницах GitHub и не может быть изменено. – kimbaudi

Смежные вопросы