Mit Jekyll statische Seiten und Blogs erzeugen

© Alexandr Aleabiev, 123RF

Text-Monster

Wer ein Blog betreiben möchte, greift schon fast reflexartig zu Wordpress. Das verlangt jedoch nach PHP, einer Datenbank, regelmäßigen Sicherheitsupdates und somit einer Menge Aufmerksamkeit. Mit der kleinen Template-Engine Jekyll lässt sich all das vermeiden.
Seit Jahren erwartet, ist endlich Version 4 des Samba-Servers erschienen, der nun als vollwertige Alternative zu Microsofts Active Directory dienen kann. In der ... (mehr)

Trotz leistungsfähiger Server ist es durchaus sinnvoll, einen Internetauftritt aus statischen Seiten zusammenzubauen. Sei es, um bei hoch frequentierten Seiten die Serverlast zu senken oder die Gefahr von Angriffen zu minimieren. Alle Unterseiten per Hand zu pflegen, artet allerdings schnell in eine Sisyphusarbeit aus. An dieser Stelle helfen sogenannte Template-Engines. Sie generieren aus den Textinhalten und einer Layout-Vorlage (auch Template genannt) einen kompletten Internetauftritt, der nur aus statischen Seiten besteht.

Um das Layout der kompletten Website zu ändern, muss man künftig nur noch die HTML-Vorlage gegen eine andere austauschen – und nicht mehr jede Seite einzeln anfassen.

Eine der derzeit beliebtesten Template-Engines hört auf den Namen Jekyll [1]. Entwickelt hat sie Tom Preston-Werner, ein Mitarbeiter des Projekthosters Github. Dort erzeugt sein Werkzeug die Webseiten auf Github Pages [3]. Jekyll ist primär zur Erstellung von Blogs gedacht. Zwar lassen sich auch beliebige andere statische Seiten erstellen, dies erfordert jedoch ein paar Verrenkungen und Tricks.

Kleines Juwel

Jekyll ist in der Skriptsprache Ruby geschrieben und benötigt folglich eine entsprechende Laufzeitumgebung ab Version 1.9.1. Linux-Nutzer müssen in der Regel nur das passende Paket über ihren Paketmanager einspielen, unter Ubuntu beispielsweise »ruby1.9.1« . Anwender von anderen Betriebssystemen finden auf der Ruby-Seite [2] entsprechende Installationspakete beziehungsweise eine Installationsanleitung.

Die Installation von Jekyll erfolgt bequem über die Ruby-eigene Paketverwaltung Rubygems. Dazu genügt der Befehl:

gem install jekyll

Unter Linux und Mac OS X muss man den Befehl mit Root-Rechten starten. Das Kommando holt noch ein paar weitere von Jekyll benötigte Ruby-Module (Gems) nach, darunter »directory_watcher« , »liquid« , »maruku« und »classifier« . Sollten Fehler der Art: »can't find header files for ruby« auftauchen, muss man noch das Entwicklerpaket für Ruby einspielen. Bei Ubuntu heißt es »ruby1.9.1-dev« .

Sobald Jekyll einsatzbereit auf der Festplatte liegt, erstellt man noch ein Arbeitsverzeichnis, in dem man alle zum Internetauftritt gehörenden Dateien sammelt.

Platz da!

Jekyll greift sich die zu publizierenden Texte, zieht sie durch eine oder mehrere Layout-Vorlagen und erzeugt damit den fertigen Webauftritt. Hinzu kommt noch eine Konfigurationsdatei, die den ganzen Prozess steuert. Es müssen also mindestens eine Vorlage, die Texte und die Konfigurationsdatei her. Jekyll erwartet alle in ganz bestimmten Verzeichnissen unter ganz bestimmten Dateinamen.

Zunächst zu den Layout-Vorlagen: Diese bestehen aus einfachen HTML-Dateien, die mit speziellen Platzhaltern gespickt sind. Die Platzhalter verraten Jekyll, wo später welche Texte erscheinen sollen. Ein Beispiel für eine erste einfache Vorlage zeigt Listing 1. Anstelle von »{{ content }}« erscheint später der eigentliche Seiteninhalt.

Listing 1

Beispiel für eine einfache Layout-Vorlage

01 <!DOCTYPE html>
02 <html>
03 <head>
04         <title>Kantine</title>
05         <link rel="stylesheet" href="/css/style.css" />
06 </head>
07 <body>
08         <h1>Kantinenbetriebe Mayer</h1>
09
10         <ul>
11                 <li><a href="/">Home</a></li>
12                 <li><a href="/blog.html">Blog</a></li>
13                 <li><a href="/kontakt">Kontakt</a></li>
14         </ul>
15
16         {{ content }}
17
18 </body>
19 </html>

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

CloudForms & ManageIQ

ManageIQ verspricht Admins die effiziente Verwaltung von virtuellen Umgebungen. Als Bestandteil von CloudForms vermarktet Red Hat ManageIQ auch kommerziell. Ein Überblick über die Möglichkeiten, die die Software bietet. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Welche Art von Containern haben Sie im praktischen Einsatz?

  • LXC
  • LXD
  • Docker
  • Rocket
  • (Noch) keine
  • Container sind überbewertet

Google+

Ausgabe /2016

Microsite