2014-09-11 3 views
11

Wie kann ich eine Seite in Jekyll ausblenden? Ich habe eine Kontaktseite (als Google Docs-Formular), und es gibt eine Antwortseite. Wenn es erstellt wird, wird es in der Navigation als Kind der Kontaktseite angezeigt, aber ich möchte nicht, dass es überhaupt angezeigt wird.Eine Seite in der Jekyll-Website ausblenden, die von GitHub bereitgestellt wird

ich zur Zeit gesetzt haben dies in der Titelei so zusammen:

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

Antwort

1

Nur eine show_in_nav: false in Ihnen Seite Titelei hinzufügen und in der Navigationsleiste, tun ein:

<ul> 
{% for p in pages %} 
    {% unless show_in_nav == false %} 
    <li><a href="{{ site.baseurl }}{{ p.url }}">{{ p.title }}</a></li> 
    {% endunless %} 
{% endfor %} 
</ul> 

Diese verhindert, dass Ihre Seite in der Navigationsleiste angezeigt wird.

10

Wenn Sie keinen Titel auf der Seite eingeben, wird er nicht in der Navigationsleiste angezeigt. So etwas wie

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

Dies ist die richtige Antwort für alle, die unter Verwendung von Jekyll für Github Seiten. – Xogle

+0

funktionierte nicht für mich - immer noch ein Menüelement generieren – rhoerbe

10

Anstatt ‚opting-out‘ von bestimmten Seiten einschließlich, Sie können ‚Opt-in‘, um nur die Seiten, die Sie tun in Ihrer Navigation enthalten sein sollen. Dies ist nützlich, wenn Sie eine große Anzahl von Seiten haben.

Fügen Sie eine menu Variable in der Titelei jeder Seite, die Sie tun in der Navigation enthalten sein sollen:

--- 
layout: blog 
title: Blog 
menu: main 
permalink: /blog/ 
--- 

und fügen Sie dann eine if-Anweisung wo Ihre Navigation erzeugt wird:

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

Dank David Jaquels Antwort auf diese Frage zur Inspiration: Excluding page from Jekyll navigation bar

in Ihrer Titelei
+0

Wie ändern Sie, wo die Navigation in einem GITHUB PAGES Setup generiert wird? – Xogle

+0

Ich bin mir nicht sicher, was Sie meinen, könnten Sie ein Beispiel geben? – Sam

-1

docs Laut, auf false gesetzt veröffentlicht:

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

Front Matter

+0

Dies ist nicht der richtige Ansatz. Dies würde für die 404-Seite nicht funktionieren, die Sie nicht in der Kopfzeile sehen möchten, aber dennoch wollte, dass sie veröffentlicht wird. – Xogle

+0

Ich denke, meine Lösung ist eher für Posts als für Seiten geeignet. Aber das OP möchte eine Seite ausblenden und die vordefinierte globale Variable 'published: false' funktioniert. Außerdem ist 'title' keine vordefinierte Variable in Jekyll (das ist eine benutzerdefinierte Variable) und Ihre Lösung beruht auf der Überprüfung, ob 'title' in der Front vorhanden ist (' {% for my_page in site.pages%} '' {% if my_page.title%} '), es sei denn, es wird in GitHub-Seiten behandelt und kann nicht geändert werden. – kimbaudi

Verwandte Themen