Ich kann nicht herausfinden, wie man einen Filter oder ein Tag in einem jekyll-plugin erstellt, so dass ich ein Verzeichnis zurückgeben und seinen Inhalt durchlaufen kann. Ich habe diese gefunden:
Bisher habe ich:
%Vor%Ich kann die Liste der Bilder erfolgreich als Zeichenfolge zurückgeben und sie mit:
drucken %Vor%Aber für das Leben von mir kann ich das Array nicht durchlaufen, egal wie ich Array / Hash von Dir.glob zurückgebe. Ich will nur tun können:
%Vor%Ich muss in der Lage sein, für die verschiedenen Sammlungen, die ich auf der Site verwenden werde, ständig Arrays von Dingen zurückgeben zu können. Ich brauche nur ein Barebones-Plugin, auf das ich aufbauen kann.
Danke!
UPDATE: Ich habe es teilweise gelöst. Diese Methode funktioniert, erfordert aber die Verwendung von endloop_directory anstelle von endfor, was mir etwas hässlich vorkommt. Außerdem kann der Filter keinen Parameter wie *. {Jpg, png} verwenden, da es keine Möglichkeit gibt, dem {} im HTML zu entkommen. Öffnen Sie Vorschläge zum Übergeben einer Regex-Zeichenfolge in einem Attribut ...
%Vor%Ich habe hier ein Plugin gefunden: Wie listet man Dateien auf? ein Verzeichnis mit Liquid? , das den Trick machen könnte:
Jekyll :: DirectoryTag Mit diesem Tag können Sie über Dateien in einem bestimmten Pfad iterieren. Das Verzeichnis-Tag liefert ein Dateiobjekt und ein Forloop-Objekt. Wenn Dateien dem Jekyll-Standardformat JJJJ-MM-TT-Datei entsprechen, werden diese Attribute für dieses Dateiobjekt aufgefüllt.
Es gibt eine Pull-Anforderung auf dem Github-Master-Zweig für dieses Feature, das darauf wartet, mit dem Jekyll 1.0.0beta zusammengeführt zu werden; Sie warten nur auf die endgültige Genehmigung durch den Schöpfer TPW.
Sie können den Code jetzt ansehen und für Ihre eigenen Zwecke kopieren. Achten Sie darauf, wann er zusammengeführt wird. Dann können Sie den zusammengeführten Jekyll mit dieser Funktion herunterladen und ohne Plug-in verwenden, indem Sie:
gem install jekyll --pre
Was dir die Edge-Version von Github bringt.
Hier ist das PR - New Liquid Tag zum Auflisten von Dateien: Verzeichnis:
Gibt es einen bestimmten Grund, warum Sie Jekyll benutzen? Es scheint, als ob Sie etwas dynamischeres wollen, während Jekyll entworfen wurde, um flache HTML-Dateien zu erzeugen.
Sie könnten glücklicher sein, etwas wie Sinatra zu benutzen, wo Sie etwas sehr Einfaches tun können, um die Liste von Dateien zu greifen und über sie in einer Vorlage zu iterieren.