GitHub als CMS (1/2): Statisch generierte Webseiten für Anfänger

Statische Website Generatoren wie Jekyll oder Middleman bieten unzählige Vorteile im Vergleich zum Betrieb dynamischer, CMS-basierter Webseiten.

Technologie-versierte Nutzern mit Erfahrung in den jeweils zutreffenden Programmiersprachen können meist relativ rasch Websites mit Hilfe dieser Generatoren erzeugen.

Die Herausforderung liegt aktuell darin, diese Technologien auch Web-Autoren ohne Hintergrundkenntnisse zugänglich zu machen.

Hindernisse und Lösungen für Web-Autoren

Vor Allem folgende Punkte gestalten sich für Web-Autoren im Zusammenhang mit statischen Website-Generatoren schwierig:

  • die Handhabung von Inhalten
  • das Generieren der Webseite
  • das Veröffentlichen beim Hoster

Vereinfachte Handhabung von Inhalten

Es ist quasi undenkbar, vom Großteil der reinen Web-Autoren tief greifende Git-Kenntnisse zu fordern. Daher soll dieser Punkt abstrahiert und die Handhabung bekannter CMS weitgehend imitiert werden.

Online-Editoren von Drittanbietern

Online-Editoren wie Prose und TinyPress verbinden sich direkt mit GitHub und vereinfachen den Umgang mit den Inhalten. Mit diesen Benutzeroberflächen können kleinere Änderungen auf angenehme Weise durchgeführt werden.

Die Vorschauoptionen sind derzeit (03/2014) allerdings auf Texte im Markdown-Format beschränkt.

Direkt in GitHub bearbeiten

Die Tatsache scheint einigen Entwicklern unbekannt zu sein, doch können Dateien auch direkt auf GitHub editiert werden – “Zen-Modus” inklusive.

Um die entsprechende Vorschaufunktion mit weitreichender Unterstützung diverser Markup-Formate zu aktivieren muss eine neue Datei zumindest einmal mit entsprechender Endung gespeichert worden sein. Es empfiehlt sich daher, zuerst eine leere Datei zu erstellen.

Ein Autor muss nun lediglich darauf achten, die Dateien korrekt benannt im jeweils richtigen Verzeichnis abzulegen.

Vereinfachtes Generieren und Veröffentlichen

Sowohl das Generieren der Seiten als auch das Hochladen zum Hoster sollte dem Web-Autor gänzlich abgenommen werden.

Mit Jekyll und GitHub Pages ist bereits viel gewonnen. In dieser Kombination übernimmt GitHub selbst das Generieren – ein korrektes Repository-Setup vorausgesetzt.

Dafür muss Jekyll allerdings mit safe: true betrieben werden, wodurch komplexe Lösungen (Plugins) weitgehend unmöglich werden.

Erweiterte Möglichkeiten

Möchte man die oben genannte Einschränkung umgehen oder generell andere Generatoren, wie beispielsweise Middleman, nutzen, muss die Seite vorab generiert und erst dann zum entsprechenden Hoster geladen werden.

Beide Schritte können mit Travis CI elegant gelöst werden.

Die entsprechende Einrichtung ist in Teil 2 dieser Artikelserie erklärt.

Vorteile des Konzepts

Git bietet Vieles, was herkömmlichen CMS oft gesondert implementieren müssen, in ausgereifter Form:

  • Die Versionshistorie erlaubt das einfache Widerrufen bestimmter Änderungen.
  • Über die Gewährung des Collaborator Status in GitHub kann weiteren Benutzern Zugang zum Projekt gewährt werden.
  • Konzeptionell ist das Offline-Editieren eine Standardfunktion, welche vor allem in Zusammenhang mit Applikationen wie dem GitHub Mac Client zugänglich gemacht werden kann.