Dokumentation der awk-Skripte makesmall und makealbum zur Albumerzeugung

Versionsinformation: Die jeweils letzten Eintragungen für
Dokumentation und Software sind die aktuellen.
Diese Dokumentation 0.12006-03-01
0.22006-03-04
0.2.12006-03-06
0.2.22006-03-07
0.2.32006-03-08
Dokumentierte Software 0.12006-03-01
0.22006-03-05
0.2.12006-03-07

1. Einleitung

Zweck

Die Shell-Skripte makesmall und makealbum erzeugen aus einer Sammlung von jpeg-Grafiken ein Album, das auf HTML beruht und für die Veröffentlichung im Web geeignet ist.

Entstehung

Es gibt vielleicht 10 000 Skripte oder andere Software zur Erzeugung von Online-Alben (Galerien) aus digitalen Bildern. Ich hatte keine Lust, mir eines auszusuchen und zu verstehen, daher habe ich selbst Skripte gemacht.

Es sind vier awk-Skripte entstanden, die über die zwei genannten Shell-Skripte makesmall und makealbum genutzt werden können. Wie das geht, wird in dieser Dokumentation beschrieben.

Außerdem gehört zu der Software eine Muster- Stylesheet-Datei (eine CSS-Datei) und ein Beispiel für eine Steuerdatei für makealbum. Alle diese Dateien können einfach aus diesem Dokument heraus downgeloadet werden (siehe Abschnitt 2).

Übersicht

Mit makesmall wird aus einer Sammlung von (großen) jpeg-Bildern eine Sammlung von entsprechenden kleinen Bildern (Thumbnails) erzeugt. Die Thumbnails sind ebenfalls jpeg-Bilder.

Das Shell-Skrip makealbum erzeugt aus der Sammlung von großen Bildern, zugehörigen kleinen Bildern und einer Steuerdatei die restlichen benötigten Dateien. Dabei handelt es sich um eine Übersichts-Webseite, auf der die Thumbnails angezeigt werden, und jeweils eine Webseite für jedes Bild. Durch Klick auf einen Thumbnail auf der Übersichtsseite erreicht man die Seite mit dem großen Bild. Von dort kann man zurück zur Übersicht gelangen, man kann sich aber auch zwischen den großen Bildern vorwärts und rückwärts bewegen.
Die Steuerdatei ist eine Textdatei, die vom Anwender erstellt werden muss. Sie enthält vor allem die beschreibenden Texte zu den Bildern und legt (unter anderem) die Reihenfolge der Bilder im Album fest.

Das Layout des Albums kann durch eine Stylesheet-Datei modifiziert werden. Diese Stylesheet-Datei kann auf der Grundlage der oben erwähnten Muster-Styleshheet-Datei erstellt werden.

Hinweis: Die Erzeugung beziehungsweise Anpassung der großen Bilder (typischerweise sind es digitale Fotos) wird nicht beschrieben. Diese müssen vorhanden sein.

Beispiele

Die Seite FH Eberswalde, Bilder enthält Links auf Bildersammlungen, die mit dieser Software erzeugt wurden. Möglicherweise wurde dabei eine ältere Version der Software verwendet.

Warnung

Diese Software ist frei verwendbar. Es wird keinerlei Gewährleistung für die Funktionsfähigkeit oder Eignung der Software für irgend einen Zweck übernommen. Es wird auch nicht garantiert, dass die Software keinen Schaden anrichtet.

Es kann sein, dass die Software Ihren Computer beschädigt, zerstört, Ihre Daten zerstört oder verfälscht, bösartiger Software Einbruchsmöglichkeiten verschafft oder selbst bösartig ist.
Es kann sein, dass die Software erhebliche andere Sachwerte zerstört oder beschädigt.
Es kann sein, dass die Software Krankheiten, auch psychische, verursacht oder verschlimmert.
Die alleinige Verantwortung liegt bei dem/der Anwender/in.

2. Installation

Prüfen der Voraussetzungen

Folgende Software muss vorhanden sein:

Auf Linux-Systemen ist diese Software oft schon installiert. Wenn nicht, sollte die Nachinstallation leicht möglich sein.

Ich weiß nicht, ob es diese Software auch für Windows gibt.

Das Vorhandensein der benötigten Software kann unter Linux durch Eingabe von
awk --version
convert -version
identify -version

in einer Shell (Konsole) geprüft werden (gegebenenfalls --version durch -version ersetzen oder umgekehrt).

Die benötigten Dateien

Die folgenden Dateien bilden die Software. Die ersten sechs sind obligatorisch. Die zwei letzten Dateien (album.css und texte.beispiel) sind fakultativ.

  1. makesmall
  2. makealbum
  3. bigsmall.awk
  4. album.awk
  5. preparealbum.awk
  6. modify.awk
  7. album.css
  8. texte.beispiel

Kopieren der Dateien an geeignete Stellen, Anpassung

Die ersten beiden Dateien (makesmall und makealbum) sind Shell-Skripte. Sie müssen an eine Stelle kopiert werden, die im normalen Pfad für ausführbare Dateien ist, zum Beispiel /usr/bin. Bei mir sind sie in /root/bin.

Die vier Dateien mit der Namenserweiterung .awk sind awk-Skripte, sie können irgendwo hin kopiert werden, wo alle Nutzer/innen Lesezugriff haben (bei mir sind sie auch in /root/bin). In jeweils der zweiten Zeile von makesmall und makealbum wird ein Pfad mit Namen albumpath definiert, es muss sich um den Pfad zu den awk-Skripten handeln. Gegebenenfalls sind diese Definition daher anzupassen.
Die awk-Skripte sollten world-lesbar sein, die Shell-Skripte sollten world-lesbar und world-ausführbar sein.

Die Stylesheet-Datei album.css kann irgendwohin kopiert werden, wo sie von allen gelesen werden kann. Ihre Verwendung ist fakultativ. Sie spielt die Rolle einer kommentierten Vorlage (eines templates) zur Erstellung eigener Stylesheets.

Die Datei texte.beispiel ist nur eine Beispieldatei für die zur Steuerung des Skripts makealbum benötigten Datei texte. Am Ende dieser Dokumentation ist ein weiteres Beispiel für die Steuerdatei texte zu finden.

3. Erzeugung von kleinen Bildern aus großen Bildern

Dazu dient das Shell-Skript makesmall. Voraussetzungen für die Nutzung: Alle großen Bilder sind im aktuellen Verzeichnis.

Aufruf:

makesmall [geometry] "filemask"

Dabei steht filemask für eine Datei-Suchmaske der Dateien, die auf die jpg-Dateien passt, von denen Thumbnails erzeugt werden sollen, und geometry steht für die Größe der zu erzeugenden Thumbnails in der Form widthxheight. Beispiel:

makesmall 120x90 "te*.jpg"

erzeugt Thumbnails von allen Dateien im aktuellen Verzeichnis, die auf die Maske te*.jpg passen. Die erzeugten Thumbnails haben die maximale Größe 120x90 (Breite x Höhe). Das Verhältnis von Breite zu Höhe bleibt wie beim Originalbild, gegebenenfalls wird eine Seite stärker verkleinert.

Die Anführungszeichen um die Dateimaske sind notwendig (sonst wird nur die erste passende Datei verarbeitet). Alternativ können auch einfache Quotes verwendet werden: 'te*.jpg' funktioniert auch.

Die Angabe von geometry ist optional. Fehlt geometry, so wird 160x120 verwendet. Wenn geometry spezifiziert werden soll, muss es das erste Argument sein.

Die erzeugten Dateien stehen im aktuellen Verzeichnis. Die Namen der neuen Dateien entstehen aus den Namen der alten Dateien durch Einschieben von .klein vor die Dateinamenserweiterung .jpg. Zum Beispiel entsteht aus der Datei haus.jpg der Thumbnail haus.klein.jpg.

Hinweis

Die erzeugten Thumbnail-Dateien sind auch jpg-Dateien, die möglicherweise auf die Dateimaske, die beim Aufruf von makesmall verwendet wird, passen. Das kann ein Problem sein, wenn makesmall mehrfach im gleichen Verzeichnis aufgerufen wird. Dann werden nämlich möglicherweise Thumbnails von Thumbnails erzeugt (mit Namen der Art [name].klein.klein.jpg). Man sollte also entweder ein Maske verwenden, die .klein.jpg am Ende des Dateinamens ausschließt, oder verhandene Thumbnails löschen, bevor neue erzeugt werden.

4. Erzeugung der HTML-Dateien

Das Shell-Skript makealbum erzeugt die Übersichtsseite mit den Thumbnails und die HTML-Seiten für die einzelnen Bilder.

Allgemeines zu makealbum, Voraussetzungen

Die Aktionen von makealbum werden durch die beim Aufruf übergebenen Argumente und durch eine Textdatei (Steuerdatei) gesteuert.

Es müssen die folgenden Voraussetzungen erfüllt sein:

Arbeitsweise von makealbum

Die erzeugten HTML-Dateien werden in das aktuelle Verzeichnis geschrieben. Die Übersichtsseite erhält den Namen index.html. Die HTML-Dateien für die einzelnen Bilder heißen so wie die Bilder, es wird nur die Namenserweiterung .jpg durch .html ersetzt.

Warnung

Alte HTML-Dateien mit gleichen Namen wie die zu erzeugenden Dateien werden ohne Vorwarnung überschrieben. Eine Datei mit Namen index.html wird, wenn sie im aktuellen Verzeichnis ist, stillschweigend überschrieben. Das kann unerwartet sein.
Die HTML-Dateien für die Einzelbilder werden explizit einzeln gelöscht. Wenn keine alten Versionen dieser Dateien vorhanden sind, werden bei den Löschversuchen Fehlermeldungen erzeugt (für jede nicht vorhandene Datei eine Fehlermeldung). Diese Fehlermeldungen kann man ignorieren.

Es wird empfohlen, die erzeugten HTML-Dateien auf syntaktische Richtigkeit zu prüfen, zum Beispiel mit dem Programm tidy (tidy ist vom World Wide Web Consortium zu erhalten). Zumindest sollte man nach Änderungen gelegentlich die Übersichtsseite index.html und einige der Einzelseiten prüfen.

Aufruf, Argumente

Aufruf:

makealbum [border=border] [columns=columns] [style=style]

Beispiel:

makealbum border=1 columns=5 style=s1

Es sind drei Argumente möglich, alle drei sind fakultativ. Für weggelassene Argumente werden die unten angegebenen Standardwerte verwendet. Die Reihenfolge der Argumente ist beliebig. Alle haben die Form
name=wert
Die Werte sind ganze Zahlen für border und columns und ein einfache Zeichenkette für style. Die Werte dürfen nicht in Anführungszeichen eingeschlossen werden.
Innerhalb eines Arguments dürfen keine Leerzeichen stehen, auch nicht vor oder nach dem Gleichheitszeichen.

Bedeutung der Argumente

Mehr zur Verwendung von Stylesheet-Dateien

Damit die Verwendung von Stylesheet-Dateien (Cascading Style Sheets, CSS, in der offiziellen Terminologie) sinnvoll funktioniert, müssen die Styles auf die Elemente der erzeugten HTML-Dateien anwendbar sein. Die erzeugten HTML-Dateien enthalten daher einige class-Attribute, die die differenzierte Anwendung von Styles erleichtern sollen.
Die zur Software gehörende Datei album.css kann als Beispiel verwendet werden. Sie enthält Kommentare, die die Anpassung an die Bedürfnisse der Nutzer/innen erleichtern sollten.
Die Verwendung von Stylesheets ist aber nicht unbedingt notwendig. Die erzeugten HTML-Dateien sollten auch ohne Stylesheets vernünftig verwendbar sein.
Ansonsten wird auf die Literatur zu Cascading Style Sheets und auf die entprechenden Webseiten (www.w3.org/Style/CSS/) des World Wide Web Consortiums verwiesen.

Struktur der Steuerdatei texte

Die Datei ist zeilenweise aufgebaut. Zeilen können mit einem Code der Form
:{letter}
beginnen, wobei {letter} ein Kleinbuchstabe ist. Die Bedeutung hängt dann vom konkreten Code, das heißt vom Buchstaben {letter} ab. Der eigentliche Inhalt ist das, was hinter dem Code steht. Der Code :{letter} muss die ersten zwei Zeichen der Zeile einnehmen. Davor darf nichts stehen, auch kein Leerraum.
Zeilen, die nicht mit einem Doppelpunkt beginnen, werden als Dateinamen für Bilder interpretiert.

Die Datei besteht aus einem allgemeinen Teil, einem speziellen Teil (Teil für jedes Bild) und (fakultativen) Kommentarzeilen. Abgesehen von den Kommentarzeilen und den Zeilen mit den Codes :g und :h müssen die Zeilen in einer bestimmten Reihenfolge geschrieben werden. Der spezielle Teil folgt dem allgemeinen Teil.

Kommentarzeilen

Kommentarzeilen sind solche, die mit dem Code :c beginnen. Im Gegensatz zu den anderen Zeilen können Sie in beliebiger Anzahl an beliebigen Stelle stehen. Kommentarzeilen werden von den Skripten übergangen.

Allgemeiner Teil

Der allgemeine Teil besteht aus Zeilen mit den Codes :a, :b, :e, :t, :g, :h (im Prinzip in dieser Reihenfolge; siehe unten).

Es sollte jeweils genau eine Zeile der Typen :a, :b, :e, :t geben, und diese Zeilen sollten in dieser Reihenfolge eingegeben werden. Die :g- und :h-Zeilen am Ende des allgemein Teils dürfen mehrfach und in beliebigem Wechsel vorkommen. Die :g-Zeile darf einfaches HTML-Markup enthalten (zum Beispiel die Tags <em>, <strong<, <br />; auch Links sind erlaubt). Die :h-Zeile darf nur die Tags <strong> und <br /> enthalten. Jede :g- und jede :h-Zeile erzeugt einen Absatz im Sinne von HTML, das heisst, der Inhalt dieser Zeilen wird in der erzeugten HTML-Datei in <p> ... </p> eingeschlossen. Die :h-Zeilen werden innen zusätzlich in <em> ... </em> eingeschlossen und daher kursiv angezeigt.

Die Zeilen dürfen in der texte-Datei nicht umgebrochen werden, das heißt, sie müssen auch technisch aus genau einer Zeile bestehen. Bei Umbrüchen würde der umgebrochene Teil als Dateinamen interpretiert werden, da er (vermutlich) nicht mit einem Code beginnt.

Eine exakte Längenbegrenzung für die Zeilen gibt es nicht, sie sollten sinnvolle Längen in Bezug zum Inhalt und der Verwendung haben. Also dürfen zum Beispiel :g- und :h-Zeilen ziemlich lang sein (ihr Inhalt wird für Absätze verwendet), die :t-Zeile sollte kurz sein (der Inhalt der t:-Zeile wird im <title>-Element im Kopfteil und in der Hauptüberschrift der Einzel-HTML-Seiten verwendet).

Spezieller Teil

Es müssen Daten für jedes Bild definiert werden. Alternativ kann anstelle eines Bildes auch ein Platzhalter definiert werden. Die Zahl der Bilder (inklusive Platzhalter) muss durch den Wert von columns teilbar sein; falls der Standardwert für columns verwendet wird, also durch vier. Diese Forderung ergibt sich aus der Anordnung der kleinen Bilder in der Datei index.html in Form einer Tabelle mit columns Spalten.

Der spezielle Teil besteht aus einem Block aus genau drei Zeilen für jedes Bild (abgesehen von möglicherweise vorhandenen Kommentarzeilen):

Die Zeile, die mit :l beginnt, kann einfaches html-Markup enthalten (auch Links, aber keine Tabellen, keine Formulare; kein Javascript).

Bitte auch hier keine Zeile umbrechen. Dateinamenszeile (beziehungsweise :p-Zeile, siehe unten), :k-Zeile und :l-Zeile unbedingt in dieser Reihenfolge eingeben.

Platzhalter anstelle Bild

Es kann sinnvoll oder notwendig sein, den Platz eines kleinen Bilder auf der Übersichtstabelle alternativ mit einem Text zu füllen oder leer zu lassen (im Folgenden "Platzhalter" genannt). Das ist zum Beispiel der Fall, wenn die Zahl der Bilder nicht durch columns teilbar ist. Die Platzhalter-Blöcke können beliebig zwischen die Bildblöcke geschoben werden, die Gesamtzahl der Blöcke (Platzhalterblöcke und Bildblöcke) muss durch columns teilbar sein.

Ein Platzhalterblock in der Steuerdatei besteht wie ein Bildblock aus genau drei Zeilen, die erste Zeile enthält statt eines Dateinamens den Code :p und anschließend den Text. Dieser Text wird in dem Bereich platziert, in dem sonst das kleine Bild (Thumbnail) auf der Übersichtsseite erscheint. Die zwei anderen Zeilen des Platzhalterblocks sind wie beim normalen Bildblock. Der Inhalt der zweiten Zeile (die mit :k beginnt) erscheint auch an der selben Stelle, der Inhalt der dritten Zeile (:l-Zeile) wird ignoriert, daher genügt hier die Eingabe des Codes:
:l
Es dürfen alle Zeilen in einem Platzhalter-Block leer sein, es darf aber keine dieser drei "Pflichtzeilen" weggelassen werden. Die kürzeste Variante ist daher
:p
:k
:l

Zusammenfassung der Zeilencodes

:aAutor
:bBildautor
:eE-Mail-Adresse
:cKommentar (Mnemonik: comment)
:tTitel
:gAllgemeines (Mnemonik: general). Hier ist einfaches HTML-Markup erlaubt.
:hWeitere Hinweise. Hier sind <strong> und <br /> erlaubt.
:kKurze Bildbeschreibung
:lLange Bildbeschreibung. Hier ist einfaches HTML-Markup erlaubt.
:pPlatzhalter (Text anstelle Dateinamen). Hier ist einfaches HTML-Markup erlaubt.

5. Veröffentlichen (Publizieren) im Web

Im Wesentlichen genügt es, die ursprünglichen Bilder, die Thumbnails der ursprünglichen Bilder (also die .klein.jpg-Dateien) und alle von makealbum erzeugten HTML-Dateien in ein Verzeichnis auf dem Webserver zu übertragen. Wenn eine Stylesheet-Datei verwendet wird, muss sie auch in das richtige Serververzeichnis kopiert werden.

Die von makealbum erzeugte Übersichtsseite index.html ist dann die Startseite in diesem Verzeichnis, sie muss typischerweise in der Webadresse nicht angegeben werden. Es reicht der Pfad bis zu diesem Verzeichnis.

Die Steuerdatei texte wird auf dem Webserver nicht benötigt.

Die Datei index.html enthält einen Link mit dem Linktext Zurück zur Gesamtübersicht und der Adresse href="../index.html". Dieser Link führt also auf die Datei index.html im übergeordneten Verzeichnis. Falls das nicht gewünscht wird, muss der Link entsprechend angepasst werden.

Es wird empfohlen, jedes Album in einem eigenen Verzeichnis unterzubringen. Die index.html-Datei des übergeordneten Verzeichnisses sollte einen Link auf jedes Album haben, das sich in einem Unterverzeichnis dieses übergeordneten Verzeichnisses befindet.
Stylesheet-Dateien, die nur von einem Album verwendet werden, sollten mit in dem Verzeichnis des Albums stehen. Ansonsten kann auch die Speicherung im übergeordneten Verzeichnis sinnvoll sein. Damit die HTML-Dateien den richtigen Bezug auf die Stylesheet-Datei enthalten, muss das Album mit einem Aufruf der Art
makealbum style=st
beziehungsweise
makealbum style=../st
erstellt worden sein.

Anforderungen an den Webserver

Es genügt ein einfacher Webserver. Serverseitige Techniken (wie php, perl, asp, ...) werden nicht verwendet.

Anforderungen an die Webbrowser

Es genügt ein Browser, der mit Tabellen und jpeg-Grafiken umgehen kann. Weiterhin ist es wünschenswert, dass der Browser mit Cascading Style Sheets (CSS) umgehen kann. Es funktioniert aber auch ohne Berücksichtigung der Stylesheets, dann sieht nur das Layout anders aus. Weitere clientseitige Techniken (wie zum Beispiel Javascript, Java, Flash) werden nicht verwendet.

6. Weitere Hinweise

Das Skript makealbum erzeugt bei einer syntaktisch falschen texte-Datei wahrscheinlich keine leicht verständliche Fehlermeldung. Wahrscheinlich entsteht dabei syntaktisch fehlerhafter HTML-Code.

Fehlerhaftes HTML wird wahrscheinlich auch erzeugt, wenn die Zahl der Blöcke im speziellen Teil nicht durch den Wert des columns-Arguments teilbar ist.
Lösung: Den Wert von columns ändern, oder Platzhalter-Blöcke einfügen.

Bei Erfülltsein der Voraussetzungen erzeugt makealbum immer syntaktisch richtiges HTML in der Version HTML 4.01 Transitional. Abweichungen von diesem Anspruch sind also als Fehler in den Skripten zu betrachten.

Die direkte Verwendung der awk-Skripte (unter Umgehung der Shell-Skripte makesmall und makealbum) ermöglicht nur geringfügig detaillierte Steuerungen. Es ist auf diesem Weg zum Beispiel möglich, andere Dateinamen als texte oder index.html zu verwenden.

Natürlich können die erzeugten HTML-Dateien nachbearbeitet werden. Allerdings ergibt das bei häufiger Wiederholung der Album-Erzeugung mit denselben (oder teilweise denselben) Bildern einen ungünstigen Arbeitsablauf. Die Nachbearbeitung müsste nach jedem Aufruf von makealbum wiederholt werden. Besser wäre es, die Skripte so anzupassen, dass die Nachbearbeitung nicht mehr nötig ist. Siehe dazu auch den folgenden Abschnitt.

7. Erweiterungen und Verbesserungen

Die folgenden Erweiterungen und Verbesserungen erscheinen sinnvoll.


Anhang

Beispiel für eine texte-Datei

:c
:c Allgemeiner Teil
:c
:aJohannes Creutziger
:bJohannes Creutziger
:ejcreu@fh-eberswalde.de
:tFachhochschule Eberswalde, Waldcampus
:gDie meisten Aufnahmen auf dieser Seite entstanden im Januar und Februar 2006.
:h<strong>Hinweis:</strong> Diese Bildersammlung stellt einen Versuch dar.
:hJohannes Creutziger
:c
:cSpezieller Teil
:c
mpaeingang
:kZugang zum Fachbereich Holztechnik
:lEingangsbereich der Materialprüfanstalt, die Treppe führt zum Fachbereich Holztechnik
menschen_und_raeume
:kMitarbeiterinnen und Mitarbeiter, Räume
:lVerzeichnis der Räume von Materialprüfanstalt und Fachbereich Holztechnik
mpa_hotekasten
:kInformationen für Studierende
:lEiner der Schaukästen mit aktuellen Informationen für die Studierenden
mpa_hintendirekt
:kBlick nach hinten hinaus
:lDirekt hinter dem Waldcampus beginnt der Wald
sr15_1
:kSeminarraum
:lEiner der Seminarräume des Fachbereichs Holztechnik
mpa_auf_hoersaalgeb
:kBlick auf das Hörsaalgebäude
:lBlick vom Gebäude der Materialprüfanstalt auf das neue Hörsaalgebäude auf dem Waldcampus
hoersaal_1
:kHörsaal
:lHörsaal im neuen Hörsaalgebäude
hoersaalgeb_auf_technikum
:kBlick auf das Technikum
:lBlick vom Hörsaalgebäude (äußerer Gang) auf das Technikum des Fachbereichs Holztechnik
hoersaalgeb_auf_mpa
:kBlick auf den Eingangsbereich der Materialprüfanstalt
:lBlick vom Hörsaalgebäude auf den Eingangsbereich der Materialprüfanstalt
hoersaalgeb_auf_fowi
:kGebäude des Fachbereichs Forstwirtschaft
:lBlick vom Hörsaalgebäude auf das Gebäude des Fachbereichs Forstwirtschaft
mpaeingang_hoersaalgeb
:kEingangsbereich
:lEingangsbereich von Materialprüfanstalt und Fachbereich Holztechnik
hoersaalgeb_nachts
:kHörsaalgebäude nachts
:lHörsaalgebäude nachts, im Winter
fahrraeder
:kFahrräder und Forstwirtschaftsgebäude
:lRechts das Gebäude des Fachbereichs Forstwirtschaft, links Fahrradständer
hackschnitzelheizwerk_1
:kHackschnitzelheizwerk
:lDie Gebäude auf dem Waldcampus werden mit einem Holz-Hackschnitzelheizwerk beheizt.
parkdeck_1
:kParkdeck
:lSeit Anfang des Jahres 2006 gibt es auf dem Waldcampus ein Parkdeck
mensavorraum
:kMensavorraum
:lVorraum der vorläufigen Mensa auf dem Waldcampus.

Anmerkungen zur Beispieldatei: Im HTML-Quelltext dieser Seite wurden die Zeichen < und >, die hier in HTML-Markup vorkommen, durch die Ersatzdarstellungen &lt; beziehungsweise &gt; ersetzt. Sie werden in der HTML-Ansicht natürlich wieder als Kleiner- beziehungsweise Größer-Zeichen angezeigt. Das sollte beachtet werden, wenn dieses Beispiel mit copy and paste in eine texte-Datei übernommen werden soll.
Es sind viel längere Textzeilen möglich als die hier im Beispiel enthaltenen. Das kann besonders für die :l-Zeilen sinnvoll sein.


Johannes Creutziger, jcreu@fh-eberswalde.de