Logo

Daniel Bleisteiner

Ein neuer Anfang...

In den letzten Jahren war meine Webseite eher statisch. Es gab einige wenige Seiten und kaum neuen Inhalt. Wie so viele andere bin auch ich eher zum Konsumenten geworden, habe selbst kaum Inhalte ins Web gestellt. Aber manchmal gibt es Erfahrungen, die ich teilen möchte. Meine eigenen Gedanken, meine Meinung oder auch einfache Erkenntnisse, die mich am Ende ein Stück weiter gebracht haben.

Was war...

Also habe ich in den letzten Wochen wieder einige Versuche unternommen, mich mit Wordpress anzufreunden – erfolglos. Ich habe nach Alternativen gesucht und GitHub Pages ausprobiert. Ich habe mir Jekyllgenauer angeschaut und habe mich dann eine Weile mit MkDocs beschäftigt. Ich war sogar kurz davor, meine eigene SpringBoot-Applikation zu schreiben, mit der ich meine Seite pflegen könnte. Aber irgendwie lande ich am Ende doch wieder bei statischen Seiten und meinem eigenen CSS.

So sehr ich Markdown auch schätzen gelernt habe – die volle Kontrolle über das Ergebnis hat man am Ende doch nur dann, wenn man das HTML selbst schreibt. Und ich will ja weiter lernen, neue Dinge ausprobieren und meine eigenen Erfahrungen sammeln. Aber um so komplexer eine Webseite wird, desto eher braucht man kleine Helferlein. Man will das Menü nicht auf jeder Seite per Hand pflegen, die Fußzeile nicht immer wieder anpassen und am Ende viele Seiten manuell synchron halten müssen.

Was wird...

Was für mich im Moment am Besten funktioniert, ist SSI – Server-Side-Includes. Dabei handelt es sich um eine kleine Erweiterung des Apache Web-Servers, die es unter anderem erlaubt, Seiten aus mehreren Bausteinen zusammenzusetzen und so bspw. den immer wieder gleichen Kopf und Fuß einer Webseite nur einmal zu schreiben. Bevor die Webseite tatsächlich ausgeliefert wird, setzt der Server diese aus mehreren Teilen zusammen und generiert so das fertige Dokument. Ganz ohne PHP oder andere Skript-Sprachen, die ich nur ungern einsetzen würde.

Um SSI zu aktiveren, braucht es nur wenige Zeilen in der ohnehin schon vorhandenen .htaccess-Datei:

# Ich arbeite ab sofort mit SSI.
Options +IncludesNOEXEC
AddOutputFilter INCLUDES .html
In meinem Fall lasse ich direkt alle HTML-Dateien entsprechend behandeln. Das Zusammensetzen der einzelnen Bausteine ist ähnlich einfach – es genügt ein #include:
<!DOCTYPE html>
<html lang="de">

<!--#set var="subtitle" value="Blog" -->
<!--#include virtual="/de/includes/head.html" -->

<body id="top">

    <!--#include virtual="/de/includes/header.html" -->

    <p>Hello World!</p>

    <!--#include virtual="/de/includes/footer.html" -->

</body>
</html>

Ein Nachteil dieses Ansatzes ist, dass man die Seiten dann nicht mehr lokal prüfen kann. Das SSI funktioniert nur mit einem Server und so muss man die Änderungen online bringen, um sie vollständig prüfen zu können. Alternativ könnte man einen Apache HTTP lokal laufen lassen – aber das macht es nicht unbedingt einfacher.

Was bleibt...

Dies wird sicherlich nicht mein letzter Ansatz bleiben, die Inhalte meiner Webseite zu gestalten. Zumindest für den Moment kann ich damit gut leben. Wie oft ich am Ende wirklich neue Inhalte online stelle, wird sich noch zeigen.