WikiWiki III
Wie immer, wenn man sich ausführlicher mit einer Sache beschäftigt, desto mehr Stolperstellen findet man. Ursprünglich hatte ich etwa acht Stunden für mein kleines persönliches Textarchiv geplant, jetzt habe ich vielleicht schon die knapp zehnfache Menge Zeit darin versenkt. Aber inzwischen ist das Licht am Ende des Tunnels absehbar - nicht das Licht des entgegenkommenden Zuges. An der Wiki-Syntax musste ich nur eine einzige Änderung vornehmen, //kursiv// war eine ungünstige Festlegung, denn es erschwert an anderer Stelle unnötig das Parsen von Internetadressen, deshalb wird jetzt ''kursiv'' für kursiv verwendet.
Aber eine Reihe von Ergänzungen hat es gegeben. Die wohl wichtigste ist die Einführung der Marker $$$> und $$$*. Der erste dieser beiden Marker erzeugt eine durch Komma getrennte Liste aller Links, die auf die entsprechende Seite verweisen. Der zweite formatiert diese Linkliste als Aufzählung. Zusätzlich werden fehlende Links automatisch als Seite mit so einer Backlinkliste angelegt. Das ist am einfachsten zu verstehen, wenn man sich ein Beispiel ansieht:
Angenommen, ein Wiki-Text endet mit
und der Link "Raben" existiert noch nicht, dann wird automatisch eine Datei angelegt:
Der Textkonverter (=der selbstgestrickte Webserver) macht daraus die folgende Anzeige:
"Snippets" ist der (automatisch erzeugte Back-)Link auf die Startseite, die so aussieht:
Die Startseite ist natürlich auch bloß ein Wiki-Text:
So ist nun also mein bereits vorher fertiger Textkonverter in einen Webserver eingebettet. Als Vorlage habe ich Webio verwendet. In dessen Quelltext habe ich noch einige Fehlerchen gefunden, unter anderem ist die Fehlerbehandlung sehr rudimentär. Beim Verschicken von Binärdaten auf meinem Rechner (Atom-Prozessor) war der Server offenbar zu schnell für den Client (also den Browser) und ich erhielt sehr merkwürdige Meldungen z.B. beim Laden von PDF-Dateien. Jetzt verlangsame ich einfach die Übertragung mit einem Sleep-Befehl nach jedem Block und es funktioniert.
Wenn man den Quelltext eines Servers hat, kann man im Prinzip alles machen. Das Erste, was mir nützlich erschien, war der Einbau eines Kalenders. Meine Termine sind überschaubar und können problemlos als Liste in einer Wikidatei verwaltet werden:
Der Server macht daraus die folgende Ausgabe:
Angezeigt werden 13 Monate (-1, +12) und mit Hilfe des Gaußschen Algorithmus auch Ostern, Himmelfahrt und Pfingsten an die richtige Stelle gerückt. Die Links im Kalender führen auf die Wikiseiten mit den Kontaktinformationen der Betreffenden.
Eine weitere Ergänzung der Wikisyntax ist die Möglichkeit der Eingabe von Schachdiagrammen. Zwei Ausrufezeichen am Zeilenanfang leiten einen String in FEN-Notation ein:
Was im Browser dann so aussieht:
Und dann habe ich mich noch um die Einbindung von Videos gekümmert. Mir ist es inzwischen schon ein paar Mal passiert, dass für mich wichtige Youtube-Videos wieder gelöscht worden sind. Auch in den USA nehmen die Auseinandersetzungen um das Urheberrecht zum Teil absurde Züge an. Ein paar sehr schöne Violinvideos (die ich auch in meinem Blog verlinkt hatte) sind verschwunden. Die Spielerin hatte dort mit der Geige ein Stück begleitet, was offensichtlich von einer CD abgespielt wurde, also CD -> Lautsprecher + Geige -> Mikro -> Video. So ist es offenbar am besten, sich von allen Dingen im Netz, die man für bewahrenswert hält, sofort Kopien zu ziehen. Herunterladen kann man Youtube-Videos sehr einfach mit dem Downloadhelper. Dieser installiert sich als Plugin im Menü des Firefox. Und zum Abspielen der so gesicherten FLV-Dateien kann man dann den JW-FLV-Player verwenden. Auch hier habe ich einfach meine Wiki-Syntax um ein neues Kommando erweitert (nachdem ich zuvor im Server die Stelle zum Ergänzen des neuen Mime-Typs gefunden hatte):
Was im Browser dann so aussieht:
Was noch zu tun bleibt:
Kategorie: Alltag
Aber eine Reihe von Ergänzungen hat es gegeben. Die wohl wichtigste ist die Einführung der Marker $$$> und $$$*. Der erste dieser beiden Marker erzeugt eine durch Komma getrennte Liste aller Links, die auf die entsprechende Seite verweisen. Der zweite formatiert diese Linkliste als Aufzählung. Zusätzlich werden fehlende Links automatisch als Seite mit so einer Backlinkliste angelegt. Das ist am einfachsten zu verstehen, wenn man sich ein Beispiel ansieht:
Angenommen, ein Wiki-Text endet mit
| Die Geschicklichkeit der Geradschnabelkrähen... [[Natur]], [[Gehirn & Geist]], [[Evolution]], [[Raben]] |
und der Link "Raben" existiert noch nicht, dann wird automatisch eine Datei angelegt:
| ++Raben $$$* [[Snippets]] |
Der Textkonverter (=der selbstgestrickte Webserver) macht daraus die folgende Anzeige:
![]() |
"Snippets" ist der (automatisch erzeugte Back-)Link auf die Startseite, die so aussieht:
![]() |
Die Startseite ist natürlich auch bloß ein Wiki-Text:
| << [(Bilder/Schere.jpg)] >> $$$> |
So ist nun also mein bereits vorher fertiger Textkonverter in einen Webserver eingebettet. Als Vorlage habe ich Webio verwendet. In dessen Quelltext habe ich noch einige Fehlerchen gefunden, unter anderem ist die Fehlerbehandlung sehr rudimentär. Beim Verschicken von Binärdaten auf meinem Rechner (Atom-Prozessor) war der Server offenbar zu schnell für den Client (also den Browser) und ich erhielt sehr merkwürdige Meldungen z.B. beim Laden von PDF-Dateien. Jetzt verlangsame ich einfach die Übertragung mit einem Sleep-Befehl nach jedem Block und es funktioniert.
Wenn man den Quelltext eines Servers hat, kann man im Prinzip alles machen. Das Erste, was mir nützlich erschien, war der Einbau eines Kalenders. Meine Termine sind überschaubar und können problemlos als Liste in einer Wikidatei verwaltet werden:
| +++ Juli * 8.7. [[Thomas]] * 22.7. [[Ines]] * 30.7. [[Udo]] |
Der Server macht daraus die folgende Ausgabe:
![]() |
Angezeigt werden 13 Monate (-1, +12) und mit Hilfe des Gaußschen Algorithmus auch Ostern, Himmelfahrt und Pfingsten an die richtige Stelle gerückt. Die Links im Kalender führen auf die Wikiseiten mit den Kontaktinformationen der Betreffenden.
Eine weitere Ergänzung der Wikisyntax ist die Möglichkeit der Eingabe von Schachdiagrammen. Zwei Ausrufezeichen am Zeilenanfang leiten einen String in FEN-Notation ein:
| **Aufgabe 1** !!k7/2p3pp/p7/2PN4/2R2P2/2b5/5KPP/2r5 s Schwarz am Zug: |
Was im Browser dann so aussieht:
![]() |
Und dann habe ich mich noch um die Einbindung von Videos gekümmert. Mir ist es inzwischen schon ein paar Mal passiert, dass für mich wichtige Youtube-Videos wieder gelöscht worden sind. Auch in den USA nehmen die Auseinandersetzungen um das Urheberrecht zum Teil absurde Züge an. Ein paar sehr schöne Violinvideos (die ich auch in meinem Blog verlinkt hatte) sind verschwunden. Die Spielerin hatte dort mit der Geige ein Stück begleitet, was offensichtlich von einer CD abgespielt wurde, also CD -> Lautsprecher + Geige -> Mikro -> Video. So ist es offenbar am besten, sich von allen Dingen im Netz, die man für bewahrenswert hält, sofort Kopien zu ziehen. Herunterladen kann man Youtube-Videos sehr einfach mit dem Downloadhelper. Dieser installiert sich als Plugin im Menü des Firefox. Und zum Abspielen der so gesicherten FLV-Dateien kann man dann den JW-FLV-Player verwenden. Auch hier habe ich einfach meine Wiki-Syntax um ein neues Kommando erweitert (nachdem ich zuvor im Server die Stelle zum Ergänzen des neuen Mime-Typs gefunden hatte):
| ++++ Film: Waking life [#Filme/WakingLifeTeil1.flv#] |
Was im Browser dann so aussieht:
![]() |
Was noch zu tun bleibt:
- Die Linklisten (vorwärts und rückwärts) werden derzeit einmalig beim Start des Servers erstellt. Bei nur wenigen Texten ist das akzeptabel. Aber sicher muss hier in Zukunft eine Überwachung des Verzeichnisinhaltes ergänzt werden, die bei neu hinzukommenden, geänderten oder gelöschten Texten eine Aktualisierung vornimmt.
- Einer der beiden in Frage kommenden Editoren (Ultraedit32 oder Notepad++) muss so erweitert werden, dass bei einem Klick auf einen Link die betreffende Datei geöffnet wird.
- Die CGI-Behandlung im Server muss dahingehend untersucht werden, ob man ein Editieren von Texten auch im Browser zulassen kann.
Kategorie: Alltag
Donnerstag, 06.August 2009





Wirklich wichtige Dokumente in Links transformiere ich in pdf und drucke das je nach Bedarf aus.