2016-07-30 9 views
4

Ich dachte, dass das Festlegen der (github PR) -Eigenschaft würde mir helfen, meine Dateien organisiert zu halten, ohne meine gewünschte Ausgabe zu kompromittieren, aber es wird ignoriert/nicht für die Erstellung von Dateien verwendet. Ich möchte nicht, dass sich meine Sammlungen im Stammverzeichnis befinden, weil es für mich verwirrend ist, ~ 10 Sammlungsordner neben _assets, _data, _includes, _layouts und anderen zu haben.Verwenden von Jekylls Sammlung relative_directory zum Organisieren von Seiten/Sammlungen

Fixes oder alternative Lösungen sind willkommen, solange die Ausgabe gleich ist, und meine Seiten sind in einem eigenen Verzeichnis, ohne permalink Front-Angelegenheit auf jeder einzelnen Seite zu setzen.

_config.yaml

collections: 
    root: 
    relative_directory: '_pages/root' 
    output: true 
    permalink: /:path.html 
    root-worthy: 
    relative_directory: '_pages/root-worthy' 
    output: true 
    permalink: /:path.html 
    docs: 
    relative_directory: '_pages/docs' 
    output: true 
    permalink: /docs/:path.html 

Verzeichnisstruktur:

├── ... 
├── _layouts 
├── _pages 
│   ├── root 
│   │ ├── about.html 
│   │ └── contact.html 
│   ├── root_worthy 
│   │ ├── quickstart.html 
│   │ └── seo-worthy-page.html 
│   └── docs 
│    ├── errors.html 
│    └── api.html 
├── _posts 
└── index.html 

gewünschte Ausgabe:

├── ... 
├── _site 
│   ├── about.html 
│   ├── contact.html 
│   ├── quickstart.html 
│   ├── seo-worthy-page.html 
│   └── docs 
│    ├── errors.html 
│    └── api.html 
└── ... 

Antwort

2

Es scheint, t Hat die PR, die Sie erwähnen, noch nicht zusammengeführt?

Für 3.1.6 und 3.2 nächste, jekyll code is still:

@relative_directory ||= "_#{label}" 

Aber the requester made a plugin die wie folgt aussieht:

_plugins/collection_relative_directory.rb

module Jekyll 
    class Collection 
    def relative_directory 
     @relative_directory ||= (metadata['relative_directory'] && site.in_source_dir(metadata['relative_directory']) || "_#{label}") 
    end 
    end 
end 
+1

Dank für den Fang meines Fehlers (noch nicht zusammengeführt). Leider hilft mir das relative_directory-Plugin, das da ist, immer noch nicht, Dateien in den Pfad auszugeben, den ich möchte. Die Variable: path enthält das gesamte relative_directory, so dass ich URLs wie www.example.com/collection/_pages/collection/page.html – KFunk

+0

erhalten kann. Haben Sie jemals eine Lösung gefunden? – lux