Im Zeitalter von Corona gibt es bestimmt wichtigere Dinge zu entscheiden. Aber auch in der Krise geht das Leben weiter und es wäre fatal, wenn man lethargisch in den Seilen hängen und nichts tun würde.
Ich für meinen Teil nutze die Möglichkeiten der Ruhe ohne die Hektik des normalen Alltags und habe über das ein oder andere Thema nachgedacht, um mein Computerleben zu überprüfen und in Teilen auch zu ändern.
Grundlage dafür ist aber, dass ich das, was ich im digitalen Zeitalter benötige oder auch nur aus Hobbygründen mache, bestmöglich erreichen kann.
Zum Jahreswechsel 2019/20 war ich noch der festen Überzeugung, dass ich mit Hugo, dem HTML-Generator, das für mich optimale Instrument zur Darstellung meiner Artikel gefunden hatte. Ich nutze zwei Templates sehr intensiv. Um aber das für mich wichtige zu erreichen, müsste ich in die Entwicklung eines eigenen Templates einsteigen. Leider fehlen mir dafür mal wieder die Kenntnisse. Ein Schnuppertag im Umfeld der Template-Erstellung hat mir gezeigt, dass ich damit überfordert bin.
Etwas traurig und desillusioniert habe ich das Gesamtthema der Webseiten einige Zeit brachliegen lassen.
Doch auf meinen Spaziergängen, und mittlerweile auch wieder langen Radtouren, sind mir einige Idee gekommen, die ich versucht habe umzusetzen. Das ist mir in Ansätzen auch gelungen und hat mich beflügelt in diese Richtung weiterzudenken.
Der Vorteil von Hugo ist, dass nur statische HTML-Seiten generiert werden. Ok, man kann in Hugo auch andere Elemente wie PHP einbauen. Aber das mache ich nicht. Für einige Bereiche meines Computerumfelds ist Hugo auch weiterhin erste Wahl. Ich werde Hugo nicht abschaffen, auf keinen Fall.
Problematisch sind für mich eher Übersichtsseiten im Stile von Newsseiten oder Magazinseiten. Jo, Hugo-Templates gibt es dazu auch, ich nutze auch eines (Mainroad), aber ich kann diese Templates nicht so gut handhaben wie ich es mit HTML5-Templates machen kann, die ich dann zu PHP-fähigen Websites umfunktioniere.
Und da liegt des Pudels Kern!
Im Internet sind haufenweise Templates zu finden, die kostenfrei genutzt und weiterverwendet werden dürfen. Das Besondere ist oftmals nicht der Aufbau der HTML-Struktur, sondern die Herstellung des responsiven Layout. Das ist zumindest meine Erfahrung und meine Meinung.
Statische HTML-Seiten, sofern sie in einer Vielzahl vorliegen, haben den Nachteil, dass sie einzeln geändert werden müssen, wenn sich statische Inhalte ändern. In jeder verflixten HTML-Datei muss dann die Änderung vorgenommen werden. Das ist lästig und langwierig und bei sehr großen Websites nicht zu leisten. Sowas geht dann nur mit Hugo oder einem anderen HTML-Generator.
Websites auf der Basis von PHP haben den Vorteil, dass mittels der Include-Anweisung das gesamt HTML-Gerüst zerlegt werden kann. Dabei kann es sich grundsätzlich um folgende Bereich handeln:
- Kopfbereich
- Header
- Main
- Asides
- Footer
- Fussbereich
Der Main-Bereich ist oftmals der Bereich, in dem der variable Inhalt, also z.B. ein Artikel, dargestellt wird. Demzufolge kann man sehr schnell eigene Templates bauen, um eben diese Artikel zu kreieren und darzustellen.
Sollte es dazu kommen, dass z.B. im Footer etwas geändert werden muss, dann muss nur eine Datei, z.B. footer.php, geändert werden. Die Änderung zieht sich dann durch alle Webseiten, die diesen Footer beinhalten. Nichts anderes würde ein HTML-Generator auch machen. Im Grunde genommen ganz einfach.
Bei großen Webseiten gibt es aber immer wieder wechselnden Inhalt, meist auch in den Seitenbereichen. Man ruft z.B. eine Kategorie auf, und zu dieser Kategorie werden im linken Seitenteil die entsprechenden Artikel zum Anklicken dargestellt. Sofern die Website mit einer Datenbank verbunden ist, ist das im Grunde genommen kein Problem. Ohne Datenbankanbindung ist Knoff-Hoff gefragt, der mir bei der neuerlichen Konzeption einiges an Kopfzerbrechen beschert hat.
Letztlich hatte ich keine andere Wahl als zu jeder Kategorie eine separate Hauptdatei analog zu index.php zu erstellen. Zur Konsequenz musste ich dann auch 10 Linkdateien zur Kategorie erstellen. Die 10 Hauptdateien sind ausgerichtet, dass sie entsprechend auch eigene Seitenteil-Dateien haben. Eine andere Lösung habe ich nicht gefunden.
Damit kann ich aber gut leben, denn die Anlage der Dateien, also Kategorie-Hauptdatei und Verlinkungsseitenteil muss ich nur einmal erstellen. Kategorien würde ich nun nicht in Massen anlegen. Irgendwann ist es mal gut.
Ich hatte vielmehr das Problem, dass ich bei der Erstellung eines Artikel sehr aufpassen musste. Ich musse also auch noch je Kateogrie ein Artikeltemplate vorhalten. Das war mir dann doch zuviel des Guten.
Die Lösung war und ist:
Ich habe mir ein Formular zusammengestellt, in dem ich nicht nur den Artikeltext formulieren, sondern auch noch die Kategorie auswählen konnte. In Abhängigkeit der gewählten Kategorie wird der Dateiname für den Artikel via PHP-Script in die entsprechende Seitenteildatei für die Kategorie am Ende der Datei angehängt und die Include-Anweisung wird auch in Abhängigkeit der gewählen Kategorie aktualisiert.
Das wieder konnte ich nur machen, weil ich mir vorher beigebracht hatte, wie ich mittels Shellscript, und später eben mittels PHP-Script, Textdateien anlegen und ändern kann.
Mit dem Formular verwalte ich nun eine ganze Website mit mehreren Kategorien. Wenn ich es mir genau überlege, dann habe ich auf einfache Art und Weise die Systematik von WordPress, Joomla! und Co. nachgestellt. Da wird auch nichts anderes gemacht, nur eben wesentlich professioneller und mit einer Datenbank im Hintergrund, die ich ja nicht mehr haben will.
Das Template einer Artikeldatei mit drei Spalten, also einem Hauptteil sowie je einem linken und rechten Seitenteil sieht wie folgt aus:
Üblicherweise werden Links zum Artikel auf meinen Webseiten auf der linken Seite dargestellt. Wird also über das oben beschriebene Formular ein Artikel erstellt, dann ist über die Auswahl der Kategorie klar, welches Artikeltemplate zu nutzen ist und in welche Seitendatei der neue Dateiname unten anzuhängen ist. Sobald die Formalangaben und der variable Inhalt im Formular eingegeben wurde, müssen die Angaben nur noch abgesendet werden. Die Artikeldatei wird erstellt, die Seitenteildatei wird aktualisiert. FERTIG!
Dieses Konzept wird einen Teil meiner Hugo-Webseiten ersetzen. Nicht alle. Ich möchte Hugo nicht missen, denn ich finde Hugo für einfach strukturierte Webseiten sehr gut. In die Erstellung von Hugo-Templates möchte ich mich derzeit nicht einarbeiten.
Das erwähnte Formular zur Erstellung eines Artikel werde ich noch ausbauen müssen. Damit die Artikel ordentlich dargestellt werden, müssen z.B. Paragraphen-Tags eingegeben werden. Das ist unter Umständen sehr lästig. Daher schreibe ich die Artikel in meinem bevorzugten Editor (BlueFish) vor, nutze die Tastenkkombination für den Paragraphen-Tag und kopiere den Text dann in das Formular. Ich werde mich bemühen, dass ich ein Editor-Plugin (TinyMCE) in mein Formular einbaue, damit ich ggfs. auch dort mit Tastenkombinationen arbeiten kann.