Bloggen mit Jekyll.

Für einen einfachen Blog benötigt man kein CMS. Mit dem Website-Generator Jekyll kann man relativ simpel einen modernen HTML5-Blog erstellen.

Meine Motivation

Schon seit längeren habe ich mir vorgenommen, einen eigenen Blog zu erstellen. Ich konnte mich nur nicht entscheiden, womit ich diesen umsetze. Ein CMS möchte ich nicht verwenden, da es zu aufwändig ist, dieses an meine Bedürfnisse anzupassen. Von Grund auf neu beginnen möchte ich jedoch auch nicht. Man muss nicht immer das Rad neu erfinden. Jekyll bietet für mich den besten Kompromiss.

Was ist Jekyll?

Jekyll is a blog-aware, static site generator in Ruby.

Mit Jekyll kann man statische Webseiten generieren, wobei man mit Hilfe der Template-Sprache Liquid Vorlagen für einzelne Seiten erstellt. Außerdem unterstützt Liquid diverse Kontrollstrukturen, mit denen sich das Einfügen von Inhalt in die Vorlagen steuern lässt. Der eigentliche Inhalt wird mit einer Auszeichnungssprache verfasst, wobei Jekyll MarkDown, Textile und natürlich HTML unterstützt.

Für eine detailliertere Beschreibung von Jekyll möchte ich auf dessen Dokumentation verweisen.

Meine Umsetzung

Die Vorlage, welche mit jekyll new . im aktuellen Verzeichnis erzeugt wird, ist schon ein responsives Design. Da ich mich in letzter Zeit mit Bootstrap beschäftigt habe, möchte ich dieses auch für meinen Blog verwenden. Das mit Jekyll mitgelieferte CSS wurde deshalb vollständig durch das CSS von Bootstrap ersetzt. Die von Jekyll verwendeten CSS-Klassen habe ich vollständig entfernt und anschließend ein neues Layout mit Bootstrap erstellt. Das grundlegende Konzept von Jekyll behalte ich bei: Jede Seite basiert auf dem Layout default, welches header.html und footer.html einbindet, die sich im Unterordner _includes befinden. Andere Layouts, wie z.B. page und post verwenden default als Basis.

Wie bloggt man mit Jekyll

Einen Beitrag sollte man als erstes im Ordner _drafts anlegen. Führt man den Befehl jekyll serve --draft aus, dann berücksichtigt Jekyll auch Beiträge in _drafts und fügt diese dem Blog hinzu. Beim Aufruf von jekyll serve werden nur Beiträge im Ordner _posts berücksichtigt. (Alle Ordner, welche nicht mit einem Unterstrich beginnen, werden von Jekyll direkt nach _site kopiert. Dort befindet sich die fertige Website, welche man auf seinen Webspace hochladen kann.)

Entwürfe tragen einen beliebigen Dateinamen, der auf .md, .markdown, .textile, oder .html endet. Die Endung legt die verwendete Auszeichnungssprache fest. Identisch ist bei allen Dateien, dass sie einen YAML-Header enthalten müssen. Bei Jekyll hat dieser die Form

---
layout: post
title: Blogging Like a Hacker
author: Not a Hacker
---

Layout und title sind Pflichtfelder und author ist optional. Das Feld sollte man nutzen, wenn man mit mehreren Personen Beiträge für einen Blog verfasst. Meine Beiträge enthalten noch das Feld excerpt, welches als Zusammenfassung zum jeweiligen Blog-Beitrag dient. Mit {{ post.excerpt }} lade ich die Zusammenfassung in meiner Vorlage.

Soll aus einem Entwurf ein Beitrag werden, dann muss man diesen Nach _posts verschieben und dem Dateinamen ein Datum voranstellen. Dieser Beitrag hat z.B. den Dateinamen 2015-12-03-bloggen-mit-Jekyll.md.

Ist man mit dem Ergebnis zufrieden, dann erstellt man mit dem Aufruf von jekyll build die statische Website. Diese befindet sich anschließend im Ordner _site, dessen Inhalt man auf den eigenen Webspace hoch lädt.