#!/coding/blatt
Sammelsurium mit Schwerpunkten Linux & IT-Sicherheit

Jekyll: Meine Top 6 Plugins

In diesem Beitrag stelle ich euch meine 6 Lieblingsplugins für den Static-Site-Generator Jekyll vor. Im Gegensatz zu WordPress ist die Anzahl an verfügbaren Plugins zwar überschaubar, aber auch für Jekyll gibt es einige nützliche Plugins. Die im Folgenden vorgestellten Plugins sind auch die einzigen, die ich für die Generierung meines Blogs coding.blatt verwende.

Tipp Liste vorhandener Jekyll-Plugins

Eine Liste bzw. Übersicht, die ggf. nicht vollständig ist, vorhandener Jekyll-Plugins findet ihr unter planetjekyll.github.io

1. Jekyll Paginate V2

Das Erstellen einer Paginaton ist mit Jekyll bereits "out of the box" möglich. Allerdings ermöglicht die Standard-Pagination-Funktionalität nur die Erstellung einer rudimentären Pagination für die Start- bzw. Indexseite. Mit Hilfe des Plugins Jekyll Paginate V2 könnt ihr die Pagination-Funktionalität von Jekyll um folgende Funktionen erweitern:

  • erweiterte Anpassungsmöglicheiten, wie z.B. individuelle Festlegung der Permalink-Struktur und Sortierung der Pagination-Seiten
  • Darstellung der Pagination anpassbar, z.B. lässt sich die Anzahl der anzuzeigenden Seitenlinks einstellen
  • automatische Generierung von paginierten Kategorie- & Schlagwort-/Tag-Seiten
  • Pagination ist nicht auf Start-/Indexseite beschränkt, sondern kann auch auf Archivseiten Verwendung finden

2. Jekyll Archives

Das Plugin Jekyll Archives generiert bei Bedarf Tages-, Monats- und Jahres-Archivseiten für eure Beiträge. Für diesen Blog hier generiere ich z.B. Monats-Archivseiten, die ihr über die Links im Footer der Website aufrufen könnt.

3. Jekyll Feed

Möchtet ihr euren Blog-Lesern einen Feed bereitstellen, könnt ihr entweder selbst eine Seite zum Generieren eines RSS- oder Atom-Feeds erstellen, oder aber ihr verwendet einfach, so wie ich, das Plugin Jekyll Feed.

Standardmäßig erzeugt das Plugin einen Feed für alle eure Beiträge. Hierfür könnt ihr einstellen, ob nur ein festdefinierter Auszug (Excerpt) oder der ganze Beitrag im Feed veröffentlicht wird. Wenn gewünscht, generiert das Plugin auch separate Feeds auf Basis von Kategorien, Schlagwörtern und/oder Collections.

4. Jekyll Sitemap

Wie bei den bereits erwähnten Plugins, lässt der Pluginname die Funktionalität dieses Plugins erahnen: Jekyll Sitemap erzeugt für euch eine XML-Sitemap. Einzelne Beiträge bzw. Seiten können bei Bedarf von der Sitemap ausgeschlossen werden.

5. Jekyll Gzip

Aus Performance-Gründen sollten Dateien, wie z.B. HTML-, CSS- & JavaScript-Dateien, komprimiert vom Server zum Client (Webbrowser) übrtragen werden. Hierfür gibt es generell zwei Möglichkeiten. Zum einen kann der Webserver die angefragten Dateien "on the fly" komprimieren. Hierbei entsteht im Normalfall allerdings ein gewisser Overhead auf Serverseite, da der Webserver die Dateien bei jeder einzelnen Anfrage komprimiert und nicht zwischenspeichert bzw. cached. Die zweite Möglichkeit ist es, die entsprechenden Dateien selber zu komprimieren und für jede Datei eine komprimierte Version vorliegen zu haben.

Um nun nicht wirklich manuell per Hand jede Datei komprimieren zu müssen, kann das Plugin Jekyll Gzip zum Einsatz kommen. Dieses Plugin erzeugt für jede Datei, dessen Dateiendung zum Komprimieren konfiguriert ist, beispielsweise beitrag1.html, zusätzlich eine mit gzip komprimierte Datei, z.B. beitrag1.html.gz.

Anmerkung

Im Allgemeinen müsst ihr euren Webserver noch so konfigurieren, dass dieser die vorkomprimierten Dateien anstatt der unkomprimierten Originaldateien ausliefert. Hierzu schaut ihr am besten in die Dokumentation eures Webservers.

6. Jekyll Brotli

Das Plugin Jekyll Brotli ist identisch mit Jekyll Gzip. Es unterscheidet sich einzig und allein darin, dass die entsprechenden Dateien anstatt mittels gzip mit brotli komprimiert werden.

Fazit

Falls euch die Basisfunktionalität von Jekyll nicht ausreicht, besteht die Möglichkeit Jekyll durch Plugins zu erweitern. Entweder ihr greift auf bereits bestehende Plugins zurück, oder ihr entwickelt einfach euer eigenes Plugin (nähere Infos siehe Jekyll-Dokumentation).