2017-12-04 3 views
0

Ich bin mir bewusst, Sie _layouts verwenden können und in Ihre Seiten etwas tun, wieJekyll mehrere Seiten die gleiche Vorlage mit

--- 
layout: some_layout 
title: Home 
--- 

Also sage ich 20 Seiten haben. Alle mit der gleichen Vorlage, aber etwas andere Inhalte und Sachen drin.

Anstatt 20 verschiedene pages.html Dateien mit verschiedenen Namen und verschiedenen Permalinks zu erstellen.

Gibt es eine Möglichkeit, 1 page.html zu erstellen und basierend auf dem Permalink ändern was ist in der {{ content }}?

Antwort

0

Erstellen Sie einfach Ihre -slug.md-Dateien. Lassen Sie sie alle das gleiche Layout verwenden, wie folgt aus:

--- 
layout: some_layout 
title: Your title 
--- 

In der Layoutdatei (some_layout.html) Sie einige Logik setzen, wie folgt aus:

{% if page.url contains '/your-slug' %}Put this on the screen.{% endif %} 
0

Sie konnten die 20 Seiten unter a organisieren Sammeln und Zuweisen von Standardwerten für die Sammlung. Angenommen, Ihre Sammlung ist mit docs gekennzeichnet, dann müssen alle diese 20 Seiten in einem Verzeichnis mit dem Namen _docs im Stammverzeichnis Ihres Quellverzeichnisses abgelegt werden. Anschließend konfigurieren Sie Ihre Sammlung so, dass sie das Layout some_layout für ihre Dokumente verwendet.

# _config.yml 

# enable rendering on your collection(s) 
collections: 
    docs: 
    output: true 
    another_collection: 
    output: true 

# set defaults on your collection. (note the indentation..) 
defaults: 
    - 
    scope: 
     type: docs 
     path: _docs 
    values: 
     layout: some_layout # The layout for this collections' files 
    - 
    scope: 
     type: another_collection 
     [...] 
Verwandte Themen