Jekyll for Schleife über alle Bilder in einem Ordner?
Ich würde gerne eine Schmutz-einfache portfolio von Arten, die auf meinem jekyll-blog. Ich habe alle meine Bild-Dateien in einem Ordner.
Derzeit, ich habe es generieren der Fotos Seite wie diese:
<p style="line-height: 100px;">
<img src="photos/01.jpg"><br>
<img src="photos/02.jpg"><br>
<img src="photos/03.jpg"><br>
<img src="photos/04.jpg"><br>
<img src="photos/05.jpg"><br>
<img src="photos/06.jpg"><br>
<img src="photos/07.jpg"><br>
<img src="photos/08.jpg"><br>
<img src="photos/09.jpg"><br>
<img src="photos/10.jpg"><br>
</p>
Das ist nicht bequem, wenn ich will, zu entfernen oder fügen Sie neue Fotos. Ist es möglich, etwas zu tun, wie die for-Schleife habe ich für Beiträge:
{% for post in site.posts %}
<h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
{% endfor %}
Außer eine Schleife über alle Bilder?
Dank!
InformationsquelleAutor der Frage viraj_os | 2013-07-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser arbeitete wie ein Charme für mich. Keine plugins erforderlich.
Meine Bilder sind in einem
assets/images/slider
Verzeichnis.Den
image.path contains 'images/slider'
stellt sicher, dass nur Bilder in dem Ordner eingefügt.Weiter Lesen hier und auf jekylltalk.
InformationsquelleAutor der Antwort Arrowcatch
Hier ist eine andere Lösung (mit mehreren Galerie-Seiten), die nicht mit plugins, so funktioniert es mit GitHub Pages.
Habe ich in einem blog-Beitrag mit einer genaueren Erklärung hier:
Generiert eine Bilder-Galerie mit Jekyll und Lightbox2
Hier ist die kurze version:
Erstellen Sie eine YAML-Daten-Datei (
_data/galleries.yml
) mit der Liste der Bilder:Für eine Liste der verfügbaren Galerien, einfach in einer Schleife durch die Daten-Datei:
Erstellen Sie eine layout-Datei (
_layouts/gallery.html
) , alle Galerien basierend auf:(in meinem Beispiel, ich bin mit Lightbox2um die Bilder anzuzeigen, so gibt es weitere HTML in meinem Beispiel, dass Sie nicht sogar brauchen, wenn Sie gerade verwenden möchten
<img src="photos/01.jpg">
)Für jede Galerie-Seite, erstellen Sie eine
.html
oder.md
- Datei, die enthält nur drei Zeilen YAML front-matter:Den
layout: gallery
Zeile bezieht sich auf die layout-Datei aus Schritt 3.Die
galleryid: gallery1
Zeile bezieht sich auf die Daten-Datei aus Schritt 1, so dass die layout-Datei "weiß", dass es hat, zeigen die Bilder der ersten Galerie.Das ist es.
Diese Lösung nicht automatisch die Schleife über die Bilder-Ordner, aber Sie müssen nur fügen Sie neue Bilder in der Daten-Datei, die ist weniger langweilig als das erstellen der
<img src="photos/01.jpg">
HTML-Zeilen von hand (vor allem, wenn der HTML-Code wird komplexer ist, als dass, wie in meinem Lightbox2 Beispiel oben).Plus, wie ich am Anfang gesagt habe: Es funktioniert auf GitHub-Pages, die alle Lösungen mit plugins (mit denen es möglich ist, Schleife den image-Ordner) nicht.
InformationsquelleAutor der Antwort Christian Specht
Ideal, Sie möchten, um ein Bild zu Scannen-Verzeichnis, dann erstellen Sie eine Liste von Dateien von dort. Jekyll doesn ' T haben eine Funktion dafür, die ich kenne. Es ist aber durchaus erweiterbar, so haben Sie ein paar Optionen:
Wenn Sie nicht wissen, Ruby, könntest du überlegen, Generierung von speziellen Galerie HTML-Seiten mit einem externen Skript oder Programm, und darunter dann die generierten Dateien in Ihre Vorlagen. Hier ist ein shell-oneliner als Beispiel:
find . -name \*.jpg | sed 's:./::' | sed 's/^/<img src="/' | sed 's/$/"><br>/'
Wenn du bist okay, mit festhalten an Ihre Namenskonvention, Sie könnten einfach auch fake, und nur mit einer regelmäßigen Schleife:
Aber das würde bedeuten, Sie würden immer noch daran denken, halten Sie die '10' Anzahl aktualisiert.
Die zweite option und Dritte Optionen sind weniger sauber, aber beide haben den Vorteil, dass Sie die Arbeit mit GitHub pages (wenn es das ist, was Sie verwenden), während die erste nicht.
InformationsquelleAutor der Antwort Wander Nauta
Liste der jpg-Dateien im aktuellen Verzeichnis in Jekyll können Sie das wie folgt:
Einen schönen multi-purpose-Lösung. Mehr zu dieser Lösung finden Sie hier: http://jekyllrb.com/docs/static-files/
InformationsquelleAutor der Antwort JoostS
Können Sie auch mitcollection
unter root erstellen
_collection
Ordner legen Sie Bilder esin
_config.yaml
fügen Sie diesen codemit
front matter
erstellen Sammlungen-Attribut
Und dann die code-Liste das Bild wäre so etwas wie
InformationsquelleAutor der Antwort Chetabahana