Schwarzes Brett der Neuen Sachlichkeit


1000-00-01 | Kernelemente von 'autojournal'

Kernelemente von 'autojournal'

Diese knuffige Webseite wurde mithilfe eines Programms namens autojournal erzeugt; dem minimalistischen „Content-Management-System“ für Julien Thomas und den Rest der Welt.

Mein Konvertierungsprogramm erzeugt aus nur einer HTML-Vorlage und beliebig vielen Textdateien in einem Rutsch eine komplette HTML-Struktur mit chronologischer Gliederung. In Windeseile bekommst Du Dein klassisches Berichtsheft oder Web-Tagebuch für den Upload zusammengestellt.

Beim Schreiben jedoch: Konzentration aufs Wesentliche. Keine Hetze, kein Baukastenpfusch, kein Form-fickt-Inhalt, kein Skript-fickt-Besucher, kein Bläh-Code, kein unnötiger Traffic, keine haarsträubenden Abhängigkeiten, keine Wordfress-Wichse.

Ein Nischenprodukt für Leute, die was mitzuteilen haben und die Freiheitsrechte ihrer Leserinnen und Leser respektieren.





TL;DR ... bittesehr!


Dies ist eine Beschreibung des Ist-Zustandes meines Systems autojournal. Zu einigen Details in der Umsetzung biete ich hier [10000002] noch weitere Anmerkungen für technisch Interessierte.


Konzept: Kongeniale Kommuniqués komfortabel kompilieren. Kurzweil kalendarisch katalogisieren. Kussecht, kraftvoll, kreativ, kosteneffizient. Klebriges Keyboard, Kiel.

Struktur: Nach Ansicht schrulliger Wissenschaftler und Philosophen ist Zeit nichts weiter, als eine Illusion, die unser Denken und Dasein stark beeinflusst. Ich selbst kann mir im nüchternen Zustand auch kein Hier und Jetzt ohne Vergangenheit und Zukunft vorstellen. Wohl niemand kommt heute um Zeit- und Datumsangaben herum, außer man hat eine Verabredung in der 'GZSZ-Dimension'. Anderseits ist sie auch praktisch, diese Zeit-Illusion. Bringt Struktur in den Alltag... Egal, wie zeitgeistig oder zeitlos Deine Erlebnisse und Einfälle auch sind: Schreib Datum dran, schon haste ein prima primäres Ordnungskriterium.

Kultur: Nach Ansicht schrulliger Linguisten und Autoren ist Text bedeutend mehr, als eine algorithmische Aneinanderreihung von Wörtern, mehr als ein Festival der Faseleien, mehr als ein schäbiger Vorwand, um Wälder abzuholzen, Verwirrung zu stiften, zu manipulieren, unnötigen Content und Datenverkehr zu generieren. Menschengemachter Text kann bedeutsam sein. Er kann neben Informationen auch Gedanken und Ideen vermitteln, anderen Menschen helfen, Erkenntnisse zu gewinnen, der Wahrheit näher zu kommen, oder auch über narrative Strukturen ganz neue Welten erschaffen. Beispiele: Religiöse Schriften, Science Fiction, Bedienungsanleitungen, Regierungserklärungen. Aber, so möchte man einwenden, ist es heute nicht pure Zeitverschwendung, angesichts exponentieller Verblödung überhaupt noch auf die Vorstellungskraft von Schreibern und Lesern zu hoffen? Nicht unbedingt, wenn wir den illusorischen Charakter der Zeit mit berücksichtigen.

[Hier Qualitätssiegel "100 % frei von K.I." einsetzen]

Organisation: Alle Texte werden offline auf einem eigenen Computer erstellt und verwaltet. Die gesamte Struktur der eigenen Website liegt lokal in einer Verzeichnishierarchie, die den Domain-Pfad auf dem Webserver widerspiegelt. Sowas in der Art:

<WEBVERZEICHNIS>
    index.htm                   // Startseite
    favicon.ico
    robots.txt
    design.css
    sitemap.xml
    skript.php                  // wenn's denn sein muss...
    [...]
    <sonstige>
    <unterverzeichnisse>
    [...]

    <journal>                   // Unterverzeichnis für das JOURNAL
        index.htm               // Startseite für das Journal
        journal.htm             // L O K A L :  Vorlage-HTML
        journal.css             // für alle Journal-Seiten
        journal.png             // für alle Journal-Seiten
        journal.ico             // für alle Journal-Seiten
        [...]

        <2021>                  // Sammelverzeichnis für Artikel aus 2021
            0911-hurra-wir-leben-noch.htm   // Journalseite 2021-09-11
            [...]

        <2020>                  // Verzeichnis für Artikel aus 2020
            0101-wird-ein-tolles-jahr.htm   // Journalseite 2020-01-01
            0213-was-denn-da-los.htm        // Journalseite 2020-02-13
            pfui.jpg                        // Eingebundene Medien
            schaltplan.png                  // zu den HTML-Dokumenten
            katzenvideo.mpg                 // in diesem Verzeichnis
            [...]

        <2013>                  // usw.
            0824_uiuiui.htm                 // Seite 2013-08-24
            toetet_samson.jpg               // Bild zu 2013-08-24
            [...]
        <2008>
            0401-olle-kamelle.htm           // Seite
            [...]
        <1234>
            5678-zeitloser-beitrag.htm      // Seite
            allebeklopptgeworden.jpg        // Bild zur Seite
            [...]
        <nochnverzeichnis>      // Irgendwelche anderen Verzeichnisse
        <text>                  // L O K A L :  Verzeichnis mit den Text-Quellen
            20210911_hurra_wir_leben_noch.txt   // wird umgesetzt
            20200101_wird_ein_tolles_jahr.txt   // wird umgesetzt
            20200213_was_denn_da_los.txt        // wird umgesetzt
            20130824_uiuiui.txt                 // wird umgesetzt
            20080401_olle_kamelle.txt           // wird umgesetzt
            12345678_zeitloser_beitrag.txt      // wird umgesetzt
            _20201010_wi-der-stand_entwurf.txt  // wird NICHT umgesetzt
            20190101_notizen.doc                // wird NICHT umgesetzt
            notizen_projekt_x.txt               // wird NICHT umgesetzt
            [...]

So kann alles offline getestet werden. Doch halt: Mit dieser altbackenen Arbeitsweise verzichten wir auf alle Segnungen moderner Web-2.0-Anwendungen, den Onlinezwang, den Originalitäts- und Verlinkungswahn, die Datenschutzzumutungen. Unsere Veröffentlichungen werden niemals das überragend hohe Niveau redaktioneller Arbeit erreichen, welches wir von einschlägigen Foren, Blogs und Sozialen Netzwerken gewohnt sind...

Artikel: Die Text-Quellen sind reine Textdateien in Unicode UTF-8. Sie können mit Notepad, Geany, gedit oder sonstwelchem Editor geschrieben worden sein. Auch der Export aus einer Textverarbeitung heraus ist denkbar. Alle Texte kommen in ein Verzeichnis "text", das als Unterverzeichnis im (lokalen) Web-Verzeichnis des Journals liegt.
Das autojournal steht für eine weitgehende Trennung zwischen Inhalt und Form. Besagte Reintext-Dateien enthalten außer Absatzmarken kaum weitere Informationen zur optischen Aufmachung des Textes. Sie müssen auch nur wenige formale Anforderungen erfüllen. Dahinter steckt der Gedanke, dass am Anfang die Sprache und das Wort stehen sollen.
Welche Schriftarten und Schriftgrößen später auf der Webseite verwendet werden, das ist Sache der Seitenvorlage und wird dort über HTML und CSS definiert. Änderungen im HTML der Seitenvorlage wirken sich nach dem nächsten Durchlauf mit autojournal auf alle neu erzeugten Seiten des Journals aus. Änderungen in einer dazugehörigen CSS-Datei wirken sich sofort nach erneutem Laden der betreffenden HTML-Seite aus. (Man beachte den Unterschied zwischen diesem einfachen und vollkommen transparenten System und dem unsäglichen Theme- und Plugin-Geschrammel unter „WordPress“ und Co.!)
Beim Schreiben der Texte kann das klassische „Mark-down“ für Hervorhebungen genutzt werden, wie es in Usenet- und E-Mail-Clients, aber zum Beispiel auch bei „WhatsApp“ unterstützt wird. Ein Wort *fett* geschrieben wird später fett dargestellt, /kursiv/ wird kursiv, _Unterstriche_ bewirken unterstrichenen Text und -durchgestrichen- wird durchgestrichen. Zusätzlich habe ich den Backslash „\“ zur Aktivierung einer Festbreitenschriftart implementiert, sowie Steuerzeichen zur Darstellung von Aufzählungen, Linklisten und Block-Zitaten (zurzeit experimentell).
Verweise in [eckigen Klammern] werden von autojournal in Links oder eingebettete Bilder umgesetzt. Für die Bildpositionierung und den Textumlauf gelten intuitive Regeln, und natürlich können Querverweise innerhalb des eigenen Journals gesetzt werden, z. B. [10000010].
Alle gültigen „Text-Quellen“ beginnen mit einer 8-stelligen Ordnungszahl. Hierfür kann, muss aber nicht, das kompakte ISO-Datum im Format "JJJJMMTT" verwendet werden, womit sich automatisch eine chronologische Sortierung ergibt. Es sind aber auch andere Hierarchien denkbar.
Ein „sprechender Mittelteil“ im Dateinamen ist optional und erleichtert das Auffinden von Artikeln im Dateisystem mit Bordmitteln (Suchbefehle, Dateimanager). Er gibt außerdem den Namen der zu erzeugenden HTML-Datei vor.
Die Dateiendung lautet immer, ganz originell, ".txt". Dateien mit anderer Endung oder keinen acht führenden Dezimalziffern werden von autojournal geflissentlich ignoriert. Durch vorübergehendes Umbenennen können Textentwürfe und zurückgezogene Artikel im selben Verzeichnis verwaltet werden. Das „Versionsmanagement“ ist intuitiv, lokal, transparent und mit minimalen Abhängigkeiten. Alles liegt in der Hand des Autors. Er kann niederschwellig drauflos schreiben aber auch am Text feilen. Er ist der Obermotz, der Klops der Klopse, número uno oncho, der oberste Käse!

Bilder: Sie werden als Verweise in eckigen Klammern in die Text-Quelle eingebaut und später von autojournal in die Seite eingebettet. Voraussetzung ist, dass die betreffende Bilddatei bereits im Unterverzeichnis der Seite abgelegt ist. Die Regeln für linksbündige, rechtsbündige oder mittige Darstellung sind über die Position des Eckige-Klammer-Links relativ zum Text definiert. (Siehe Beispieltext). Wenn das Verzeichnis schon existiert und das referenzierte Bild sich bereits dort befindet, umso besser. Dann kann autojournal gegebenenfalls auch den Bildkommentar (JPEG-Metadaten) lesen und zur Erzeugung aussagekräftiger Bildbeschreibungen in alt und title-Tags verwenden.

Seitenvorlage: Sie ist ein gültiges HTML-Dokument, bestehend aus nahezu unveränderlichen Teilen, dem Seitengerüst (Header, Stylesheets, ggf. Skripte), in denen das Seitendesign und einige technische Parameter bestimmt werden. Ferner enthält die Seitenvorlage über Kommentarzeilen abgegrenzte Bereiche, in denen exklusiver Beispielcode für Navigationselemente oder Beiträge steht. Dieser Beispielcode enthält Platzhaltersymbole, wo autojournal später bei der Autogenerierung der Seiten die Inhalte und Metadaten der jeweiligen Texte einsetzen soll. Eine Seitenvorlage kann von Hand, mit einem WYSIWYG-Editor oder auf Grundlage eines existierenden Entwurfs erstellt worden sein.

Verarbeitung: Die Seitenvorlage wird von autojournal grundsätzlich nur im Lesezugriff geöffnet, eine Sicherungskopie ist nicht erforderlich. Das meiste reguläre HTML außerhalb der Markierungen wird 1-zu-1 in die Zieldatei(en) kopiert, aber autojournal
- ersetzt den Tag <title> durch eine Kombination aus Seitentitel und Titel der Indexseite;
- passt Pfade zum gemeinsamen CSS und Favicon an die relative Position der Seite an;
- blendet Bereiche für entweder Index-Seite oder Artikelseiten komplett ein oder aus;
- erzeugt für den Navigationsbereich eine Startseite index.htm über alle existierenden Artikel;
- erzeugt für den Artikel jeder Text-Quelle die korrespondierende HTML-Seite im Unterverzeichnis.

Ergebnis: Das Meiste, was sich in der Seitenvorlage außerhalb der Bereichsmarkierungen befand, wurde unverändert in die Zieldateien übernommen. Alle erzeugten Seiten haben dasselbe Design, wie die Vorlage.
Was sich innerhalb der Bereichsmarkierungen befand, wurde als Beispielcode in HTML umgesetzt, und zwar für jede vorhandene Textdatei aufs Neue.
Beispielcode für Navigationsbereich und Artikel wurde in einer Schleifenstruktur in HTML umgesetzt. Dabei hat autojournal die Platzhaltersymbole durch Inhalte und Meta-Informationen der jeweiligen Text-Quelle ersetzt. Alle Seiteninhalte und alle Querverweise zwischen Inhaltsverzeichnis und Jahrgangsseiten wurden aktualisiert. Bei Verwendung relativer Verknüpfungen (empfehlenswert) kann alles vor dem Upload noch einmal offline im Browser getestet werden.

Upload: Die aktualisierten Seiten und neu hinzugekommene Bilder, Downloads oder aufgemotztes CSS lädste per FTP oder Web-Interface auf Deinen Webserver. Du behältst den Überblick und sparst gegebenenfalls eine Menge unnötiger Datentransfers. Nach dem Upload werden sich semantikgeile Suchroboter auf die neuen Inhalte stürzen und Dir einen Meta-Index aus Assoziationen zusammenkloppen, dass Dir der Sack abfällt.

Semantik-Thrill: Die allererste Version von autojournal packte alles in ein einziges HTML-Dokument. Kann man machen. Die HTML-Standards geben ja kein Limit für die Größe eines Dokuments vor. Riesen Verzeichnis und Megabytes von Text auf einer und derselben Seite, voll der Hammer... Aber auch eher suboptimal, genau wie das Zusammenfassen zahlreicher Beiträge, die nicht themengleich sind, zu längeren Seiten. Dies ist kein Blog. Folgende technisch-strategische Überlegungen:

  • Die Besucher finden typischerweise über die Indexseite oder über direkten Suchmaschinentreffer zum interessierenden „Web-Content“. Der Browser auf einem Endgerät muss aber grundsätzlich erst das gesamte HTML-Dokument und alle eingebundenen Medien vom Server holen, bevor auch nur ein Seitenausschnitt angezeigt werden kann. (Das gelegentlich als Allheilmittel angepriesene sogenannte „lazy-loading“, also das bedarfsweise Nachladen von Seiteninhalten, ist bis dato kein Browserstandard und wird derzeit noch über JavaScript und anderen Unfug realisiert.) Mit dem Aufruf einer umfangreichen und reich bebilderten HTML-Seite entsteht also eine Menge „Beifang“, der den Seitenaufbau um Sekunden verzögern kann. Das bedeutet nicht nur Frust für ADHS-geplagte Surfer, sondern auch unnötigen Datenverkehr, Energieverbrauch und CO₂-Ausstoß!
  • Viele Suchmaschinen mögen keine wahrhaft großen HTML-Dokumente. Ihre Crawler ignorieren Dateien, die ein bestimmtes von SEO-Päpsten nach göttlichem Ratschluss festgelegtes Limit überschreiten, oder sie indizieren solche Seiten einfach nicht vollständig. Selbst wenn die Seite ein wunderschönes Inhaltsverzeichnis (ToC) mit Sprungzielen innerhalb der Seite anbietet, zeigen viele Suchmaschinen trotzdem nur den Treffer auf die Basis-URL an, und der interessierte Besucher muss vielleicht noch lange auf der gefundenen Seite herumsuchen. Wenn also Dein Liebesgedicht oder politisches Manifest ganz weit unten auf einer monströsen Seite steht, wird es vielleicht niemals ins Weltkulturerbe Einzug halten...

Nach einigen Irrungen und Wirrungen (limitierte Seitenlänge, zusammengefasste Seiten, Jahrgangsseiten), habe ich mich in 2023 für eine deutlich kleinteiligere Seiten- bzw. Verzeichnisstruktur entschieden: Auf der Ebene des Journal-Verzeichnisses liegt jetzt nur noch die Indexseite samt dazugehöriger CSS-Files, Symbolbild, Hintergrundbild usw. Für jede Ordinalzahl (=erste 4 Dezimalziffern des Textnamens, bei ISO-Datum also „Jahrgang“) wird automatisch ein Unterverzeichnis angelegt. In diese Verzeichnisse packt autojournal die automatisch generierten HTML-Seiten aus dem jeweiligen Jahrgang, und zwar für jeden Text eine separate Seite. Auf diese Artikelseiten wird von der Indexseite direkt verlinkt. Zu den Seiten gehörige Bilder, Dokumente oder Downloads werden gegenwärtig im selben Jahrgangsverzeichnis abgelegt, wo sich auch die betreffende HTML-Seite befindet. Dort tummeln sich dann also bei Verwendung des ISO-Datumsformates höchstens 365 Artikel plus Begleitmaterialien. Das bedeutet, der Verzeichniszugriff durch den Webserver geht flott und der Verwaltungszugriff per FTP bleibt für den menschlichen Webmaster übersichtlich.

Limits: Aufgrund der seriellen Verarbeitung kennt autojournal keine Begrenzung, was den Umfang der Texte und der HTML-Vorlage angeht. Wo etliche Megabytes an Text und eingebundenen Dateien durchzuschaufeln sind, dauert's dann halt ein paar Sekunden, bis alles auf den neuesten Stand gebracht ist. Wenn es schnell gehen muss und man nur einen oder wenige neuere Artikel hinzugefügt hat, dann kann autojournal jetzt auch selektiv nur die HTML-Dateien eines Jahrgangs aktualisieren.


Vorteile:

1. Artikel lassen sich spontan erstellen und in das Journal aufnehmen.
2. Man kommt ohne viel Aufwand zu einem einheitlichen und lesefreundlichen Layout.
3. Primäres Sortierkriterium „Datum“.
4. Design und Inhalte jederzeit nachträglich änderbar.
5. Effiziente Verzeichnis- und Seitenstruktur wie auf dem Webserver.
6. Textmenge und Anzahl eingebundener Medien praktisch unbegrenzt.
7. Erzeugung von index.htm und sitemap.xml für das ganze Journal.
8. Freies, quelloffenes und ressourcensparendes Kommandozeilenprogramm.


Nachteile:

1. Vorkenntnisse vorausgesetzt
2. Layout-Möglichkeiten begrenzt
3. Statisches HTML


Das Programm autojournal wird voraussichtlich unter MIT-Lizenz zum Download im Quellcode sowie als ausführbare Datei für Linux zur Verfügung gestellt, sollte eine „finale“ Version entstehen...






This clean and decent HTML5 page was compiled by way of 'autojournal' © 2020‑2023 Julien Thomas.