Wikidok

From NJH-Wiki

Jump to: navigation, search

Wiki-Sprache für Dokumentationen

Autor 
Volker Grabsch


Motivation

Bisherige Dokumentation-Systeme wie OpenOffice, DocBook, MediaWiki, etc. haben mindestens einen der folgenden Nachteile:

  1. Sie sind im "Quellcode" sehr unübersichtlich. Es ist kein Vergnügen, sie im Editor zu bearbeiten.
  2. Sie machen keine strenge Trennung von Inhalt und Form.
  3. Die Transformation nach (X)HTML, LaTeX oder PDF ist fest codiert, und unfreundlich anzupassen. Wenn jemandem der Output optisch nicht gefällt, wird er nicht dazu ermuntert, einen eigenen "Stylesheet" zu schreiben. Stattdessen werden HTML-Tags oder ähnliches mitten im Dokument erlaubt, um es "schöner" zu machen.
  4. Es gibt keinen gemeinsamen Pool von Stylesheets, erst recht keinen system- oder wikiunabhängigen.
  5. Es gibt nur ein Webinterface bzw. ein WYSIWYG-Programm. Man kann die Dokumente nur im Browser-Eingabefeld bzw. mit einem speziellen Programm bearbeiten.
  6. Sie haben keine oder nur eine eigene Versionkontrolle. Man kann sie nicht in seine eigene Versionskontrolle integrieren, die man vielleicht schon für sein Projekt benutzt.

Konzept

  • Definition eines XML-Formats (WikiDokML) für diese Dokumente, welches so gut wie keine Elemente für stilistische Details enthält.
  • 1:1-Konvertierung in eine beliebige Wikisprache. Mehrere Wikisprachen werden unterstützt.
    1. eine Teilmenge der MediaWiki-Sprache
    2. eine selbst-erfundene, IMHO leichter bedienbare Wikisprache
    3. ein schickeres XML-Format (mit Pretty-Printing, etc.), denn das WikiDokML-Format ist nicht sehr Editorfreundlich, da es leerzeichen-kritisch ist. Dafür ist es sehr gut für XML-Parser und XSLT geeignet.
  • Die Wiki-Texte können beliebig organisiert werden. Zum Beispiel über ein klassisches Webinterface, oder per beliebigen Texteditor, eventuell mit Versionkontrolle. Auch ein WYSIWYG-Editor für das WikiDokML-Format wäre denkbar.
  • Umwandlung nach HTML/PDF/... geschieht über Standardmechanismen:
    • Stylesheets können per XSLT realisiert werden, und sind damit Wiki-Übergreifend austauschbar.
    • Falls nötig, kann außerdem mittels einer beliebigen Scriptsprache (z.B. Python) einfach über normale XML-Libraries die Konvertierung erfolgen.
    • XHTML wird direkt per Stylesheet erzeugt.
    • TeXML wird direkt per Stylesheet erzeugt.
    • Aus dem TeXML wird LaTeX erzeugt.
    • PostScript/PDF wird über LaTeX erzeugt.

Insgesamt entsteht somit eine modulare Architektur mit sehr starker Aufgabenteilung:

  1. Webinterface/Editor/Versionkontrolle für die Dokumente
  2. Konvertierer für Wikisprache <-> WikiDokML
  3. viele Stylesheets für WikiDokML -> XHTML oder TeXML
  4. XHTML/TexML -> HTML/PDF/Drucker...
  5. Infrastruktur, damit die ganzen Konvertierungen kein Problem werden, d.h. Makefiles, Modul für Maven, ...

Für Teil 1 und 4 gibt es bereits Standardwerkzeuge.

Siehe auch

  • Schnittstellen/Standards zwischen Versoinskontrollen
Retrieved from "http://wiki.njh.eu/Wikidok"
Personal tools