Nachdem ich vor einigen Jahren schon einmal einen eigenen Blog hatte, der aber schon seit langem nicht mehr online ist, kam mir die Idee, es noch einmal mit diesem neuen Blog zu probieren. Seitdem hat sich einiges in meinem Leben getan. Ich habe neue Dinge gelernt und neue Interessen gefunden, über die ich schreiben kann. Das hier ist also der erste Artikel in meinem neuen Blog.

Momentan studiere ich Digital Humanities als Masterstudiengang in Mainz, und im Verlauf meines bisherigen Studiums habe ich viele neue Technologien und Anwendungen kennengelernt, von denen ich in Zukunft sicher sehr stark profitieren werde. Ich möchte in diesem Blog mehr darüber schreiben und den Anfang mache ich mit einem kleinen Bericht darüber, wie ich ein eigenes Theme für das Content Management System Grav erstellt habe.

Warum Grav?

Ich habe vor kurzem ein Seminar besucht, in dem es um die Erstellung von Webanwendungen für geisteswissenschaftliche Projekte ging. Dabei habe ich auch das Flat-File-CMS Grav kennengelernt und mich damit genauer auseinandergesetzt. Grav ist ein recht junges und modernes Content Management System (CMS), das momentan intensiv weiterentwickelt wird. In den letzten anderthalb Monaten sind allein zwei neue Updates dafür erschienen.

Die meisten gängigen CMS benutzen eine Datenbank (meist SQL-basierend), um Daten und Einstellungen zu speichern. Ein Flat-File-CMS hat einen anderen Ansatz. In diesem Fall werden alle Daten in Dateien im Webspace auf dem Server direkt gespeichert. Das hat unter anderem den Vorteil, dass an den Webspace geringere Anforderungen gesetzt werden. Außerdem hat man eine größere Flexibilität bei kleineren Seiten.

Dieser Blog basiert auf Grav, und das war eine bewusste Entscheidung. Mein alter Blog lief auf Wordpress, das eine SQL-Datenbank benötigt. Für große Projekte ist dies sinnvoll, ich würde eine größere und umfangreichere Website mit einem datenbankbasierten CMS betreiben wollen, aber für diesen Blog ist Grav absolut ausreichend. Selbst als mein alter Blog schon recht viele Artikel hatte, nutzte ich nur einen Bruchteil der Kapazitäten, die mir zur Verfügung standen. Außerdem erschien mir Wordpress insgesamt recht träge im Gegensatz zu Grav, das sehr flott ist.

Grav ist flexibler in der Konfiguration. Ich habe im Gegensatz zu Wordpress oder Contao, das ich für meine persönliche Website nutze, das erste Mal das Gefühl, die komplette Kontrolle darüber zu haben, was das CMS macht und warum es das macht. Die Konfigurationsdateien liegen im YAML-Format vor, das eine recht einfache und intuitive Syntax hat. Grav selbst kommt im Prinzip ohne ein Backend aus. Es gibt ein Plugin, das ein Backend bereitstellt, aber ich benutze es nur in einigen seltenen Fällen. Man kann alle Einstellungen ändern, indem man die entsprechende Konfigurationsdatei ändert und auf den Webspace hochlädt.

Ein weiterer Vorteil für mich ist, dass die Inhalte der Seiten als Markdown-Dateien gespeichert werden. Markdown ist eine vereinfachte Auszeichnungssprache, die Effizienz und Lesbarkeit miteinander vereint. Ich war schon vorher von Markdown recht angetan und habe nun endlich ein Anwendungsfeld dafür gefunden, in dem ich es regelmäßig nutzen kann. Auch dieser Artikel hier liegt als Markdown-Datei auf dem Server und wird von Grav dynamisch in HTML übersetzt.

Ein weiterer Vorteil von Grav und dessen Verwendung von Markdown liegt für mich tatsächlich in der Benutzerfreundlichkeit. Fast alle modernen CMS stellen im Backend für die Inhalte einen Editor mit WYSIWYG-Funktionalität bereit. Man kann also im Prinzip wie in MS Word einen Text eintippen, mit Schaltflächen Formatierungen vornehmen und sofort sehen, wie dieser Text auf der fertigen Seite aussehen wird. So benutzerfreundlich das auch für einen technisch unbedarften Redakteur sein mag, kann es doch sehr umständlich sein, wenn man große Textmengen bearbeiten muss.

Seitdem ich mich viel mit digitalen Methoden auseinandersetze, habe ich die Vorteile von rein textbasierten Datenformaten sehr zu schätzen gelernt. Und ich finde es inzwischen effektiver und intuitiver, einen Text in Form von Rohdaten zu schreiben und zu bearbeiten, als mich an einer WYSIWYG-Oberfläche abzuarbeiten. Man kann alle Kommandos einfach on the fly eintippen und muss nicht erst die Hände von der Tastatur nehmen und das Textfeld im Menü anklicken. Es ist wohl eine persönliche Referenz, aber ich finde Markdown in der Hinsicht sehr schick. Und ich empfinde es auch nicht als unzumutbaren Aufwand für einen Laien, sich Markdown anzueignen, da es tatsächlich sehr einfach zu lernen ist und man dadurch auch Inkonsistenten in der Formatierung vermeiden kann, die bei WYSIWYG auftreten können.

Warum ein eigenes Grav-Theme?

Für diesen Blog habe ich ein eigenes Theme erstellt. Wie ich feststellen musste, ist das keine triviale Aufgabe. Tatsächlich hatte ich sehr viel Arbeit mit der Erstellung dieses Themes. Doch es war mir ein Anliegen, dieses Theme selbst zu erstellen.

Ein wichtiger Grund dafür ist der Lernprozess, der mit dem Erstellen des Themes verbunden war. Vor allem bei Skills im digitalen Bereich ist Learning by doing eine nicht zu unterschätzende Herangehensweise. Nur indem man sozusagen „am offenen Herzen“ operiert lernt man, was die einzelnen Teile eines Systems tun. Indem man Änderungen vornimmt, ihre Auswirkungen beobachtet und daraus Rückschlüsse auf die Funktionsweise zieht, lernt man das System richtig kennen. Dadurch habe ich sehr viel über die Funktionsweise eines Grav-Themes gelernt, die für mich auch in anderen Bereichen nützlich sein können.

Ein weiterer Grund war mein Bedürfnis nach Kontrolle. Ich beschäftige mich schon seit fast zehn Jahren mit Webdesign und habe mich mit der Zeit auch mit mehreren CMS auseinandergesetzt. Ich bin in der Hinsicht ein ziemlicher Kontrollfreak. Ich möchte alles genau kontrollieren. Ich will das Aussehen und Verhalten der Seite festlegen können und mich dabei möglichst wenig auf die Vorgaben von anderen verlassen müssen. Deswegen wollte ich auch das Theme für diese Website selbst erstellen, damit ich genau bestimmen kann, was wo hinkommt und warum es nun dort ist. Ich finde das für mich sehr wichtig, weil ich eben auch verstehen will, wie meine eigene Website funktioniert.

Alles in allem war das Erstellen dieses Themes eine sehr aufschlussreiche und lehrreiche Erfahrung für mich. Da dieser Artikel jetzt schon recht lang geworden ist, teile ich ihn in zwei Teile auf. Im nächsten Teil werde ich dann auf die technischen Details meines Themes eingehen und auf meine Herangehensweise und die Erfahrungen, die ich bei seiner Erstellung gemacht habe.

Kommentare

WhereIsMyMoney 20.02.2019, 20:18:
"Heißer, leckerer, schwarzer Kaffee, Junge!"

Kommentar hinzufügen

Nächster Beitrag