Tablet-Schnäppchen←▼→SoftMaker immer uninteressante…

werkzeuge,web,css,software

OffSiteEdit Version 5

Erstellt: 04.11.2023 Lesedauer ~2:40 Min.

Mir selbst fällt nur begrenzt auf, wie sich OffSiteEdit weiter entwickelt. Doch der Versionssprung auf „5“ bringt ein paar vermeintlich unscheinbare Funktionen, die außerordentlich mächtig sind und den klassischen Rahmen von Markdown-Texten sprengen.

Das erzeugen „statischer“ Webseiten ist die zentrale Aufgabe von OffSiteEdit („OSE“). Wobei die durchaus dynamisch sein können, wenn der Export des übersetzten Markdown, wie auch bei BUOA.DE, in ein PHP-Layout erfolgt. Im Gegensatz zu „Frameworks“ findet darin allerdings keine nennenswerte „Magie“ mehr statt. PHP erledigt Handlanger-Arbeiten, wie das Durchsuchen der Webseiten. Bei solchen Aufgaben stoßen statische Seiten an offensichtliche Grenzen.

Die Fokussierung von Markdown auf „formatunabhängige Textformatierung“ erfordert etwas Kreativität, wenn innerhalb des Markdown-Textes weitere Funktionalität gesteuert werden soll. Wie verblüffend simpel das realisiert werden kann, hat mir Yellow anschaulich gemacht. Der damit verfolgten Ansatz der Module ist bei der Notation 1:1 in OSE eingeflossen. Was die Umstellung der bis dahin mit Yellow betriebenen Webseiten signifikant vereinfacht hat1.

Mit den selbst definierbaren Variablen über den Yaml-Header wurden die Module funktional noch schlagkräftiger, mit den Editor-Funktionen wurden hochkomplexe Ergebnisse möglich. Das wird in der neuen Version weiter getrieben. Die Funktionen teilen sich jetzt in zwei Gruppen: Vor der Markdown-Übersetzung und danach. Das relativiert „Huhn/Ei“-Probleme. Was schon fertig vorliegt, wird danach verwendet, was noch als Markdown bearbeitet werden muss, wird davor erledigt. Wobei das davor eine weitere Abstraktionsebene hat: Hinzugeladenes Markdown wird mit den Variablen, Modulen, …, der aktuellen Markdown-Datei verarbeitet…

Für alle, denen spontan kein Anwendungsfall einfällt, ein kleines Beispiel: Ein Glossar. Das wird in der Online-Hilfe von OSE mit dieser Zeile erzeugt:

$­$$ mddir gloss glossmod ge : /-add/glossary/ $­$$ 

Die Einträge im Glossar liegen dafür alle im Verzeichnis „-add“, das mit dem vorangestellten „-“ von der allgemeinen Erzeugung für die Webseite ausgeschlossen ist. Glossareinträge werden als einzelne Markdown-Dateien angelegt und in dieses Verzeichnis gelegt. Beim Erzeugen der Glossar-Datei werden alle Dateien aus dem Verzeichnis hinzugeladen und übersetzt.

Natürlich könnte das ein Skript auf dem Server aus einer Datenbank generieren. Doch dieses Glossar funktioniert ohne Skript und Datenbank auf dem lokalen PC. Die Seite hat keine „Gedenksekunde“ beim Aufruf, komplett fertig kann der Browser sofort darauf zugreifen.

Dieser Purismus mag irritieren. Doch gegenüber Datenbank, Skript & Co gibt das Kontrolle an den Ersteller zurück. Die Seite wird angezeigt, wenn sie erreichbar ist, völlig egal, ob die Datenbank-Engine eine Ladehemmung hat, eine Leitung nach sonst-wo zum Framework blockiert oder der Skript-Interpreter veraltet ist. Vor allem wird immer die gleiche, freigegebene Seite angezeigt, sie „ist, wie sie ist“. Keine äußeren Faktoren können die Darstellung oder den Inhalt – womöglich unbemerkt – verändern.

Postbank-Kunden oder Bahnfahrende wissen, wie dysfunktionale Skripte und Datenbanken den Tag versauen können. Im diesen Fällen lässt sich das gewünschte Ergebnis zwar nur damit erzielen, für inhaltlich statische Webseiten lässt sich dieses Risiko jedoch vollständig vermeiden.

Neugierige sind herzlich zum Ausprobieren von OSE eingeladen. Ich spendiere eine zeitlich großzügig bemessene Testlizenz, die alle Funktionen freischaltet und freue mich auf regen Austausch mit Anwendern. Deren Ideen sind mittlerweile eine relevante Quelle für neue Programmfunktionen.

1Weshalb das erfolgte, steht hier.