Hilfe:Wikisyntax/Hintergrund

Aus Cowboy’s Wiki
Zur Navigation springen Zur Suche springen

Auf dieser Hilfeseite werden Hintergründe zur Kodierung und Entschlüsselung von Wikitexten dargestellt.

Für schnelle Hilfe bei konkreten Anwendungsfällen ist Hilfe:Textgestaltung gedacht.

Ziele

Die Ausgangspunkte bei der Definition der Wikisyntax um 2000 waren:

  • Quelltext soll ohne zusätzliche Software von jedem geschrieben werden können.
  • Quelltext soll mit wenigen, einfachen und kurzen Mitteln das erforderliche „Markup“ – also die Formatierung dauerhaft verständlicher Texte – ermöglichen.

Das ist teilweise bis heute möglich, als oft der Quelltext problemlos gelesen und verstanden werden kann.

In Teilen mancher Seiten wird versucht, eine komplexe grafische Darstellung herzustellen, die nur noch wenige Fachleute im Quelltext verstehen und schreiben können. Für sichere Bearbeitung ausgefeilter Strukturen wie in HTML wären fortgeschrittene Software-Werkzeuge erforderlich. Dies widerspricht den Ausgangszielen, und auch mit Hilfsmitteln bedarf es intensiver Einarbeitung in deren Bedienung und schafft ebenso eine Hürde.

Die Situation ist vergleichbar mit der Entwicklungsgeschichte von HTML. In den ersten Jahren bis etwa 1995 war diese Sprache dafür vorgesehen, mit einfacher Syntax normale Texte aufzubereiten und wesentliche Gliederungselemente, Hervorhebungen und vor allem Hyperlinks zu ermöglichen.[1] Später kam es dann zur Einführung umfangreicher grafischer Gestaltungsmöglichkeiten, Multimedia-Elemente und dynamisch generierte Funktionalitäten entfernten sich weit von den schlichten Notizen der Wissenschaftler um 1990.

Formale Sprache?

Es ist offenbar bislang noch niemandem gelungen, die Wikisyntax in einer operational nutzbaren formalen Beschreibung (wie BNF) darzustellen. Das liegt an der Vieldeutigkeit der wenigen Sonderzeichen.

  • Die Beschränkung auf wenige und einfache Syntaxelemente führt zu vielfachen Interpretationsmöglichkeiten.
  • Die Interpretation kann nicht in allen Fällen dem Wikitext selbst entnommen werden, sondern hängt von Faktoren außerhalb des Projekts ab sowie von der Konfiguration des momentanen Projekts und der Lokalisierung für diese Sprache.
  • Erst eine Transformation mittels Parsoid ermöglicht eine derartige Struktur; siehe mw:Parsoid/MediaWiki DOM spec (englisch).

Beispiele:

  • [[Nd:YAG-Laser]]   oder   [[CSI: Miami]]
    • Dies sind zurzeit Wikilinks auf Artikel im selben Projekt.
    • Sobald ein Wikiprojekt in IsiNdebele oder Coast Miwok existieren würden (nd und csi sind Sprachcodes nach ISO 639), wären es dort die Artikel „YAG-Laser“ oder „Miami“.
  • re ist zurzeit kein Sprachcode in ISO 639 – wenn es das einmal wird und es ein Wiki in dieser Sprachversion gibt, wären die Artikel re:publica und Re:konstruKt im anderen Wiki zu finden.
  • In der schwedischsprachigen Wikipedia gibt es einen Artikel S:t Eriksplan (tunnelbanestation).
    • Nach landläufigem Verständnis würde S: das Projektkürzel für Wikisource sein, wobei die Groß- und Kleinschreibung des „s“ keine Bedeutung hat. Hier schon.

Grundlegende Syntaxelemente

Syntaxelement Interpretation
<>
  • Tag (HTML oder Erweiterung)
&;
[[]]

Pipe-Symbole | ggf. zur inneren Gliederung

[]
{{{}}}
{{}}
  • Variable auf Projekt-Ebene
  • Parserfunktion
    • Keine Leerzeichen in Funktionsnamen.
    • Bei Parserfunktionsaufrufen wird ein möglicher erster Parameter durch Doppelpunkt : vom Funktionsnamen abgetrennt, bei Vorlageneinbindungen steht schon vor dem ersten Parameter das Pipe-Symbol.
  • Vorlageneinbindung
    Pipe-Symbole | zur inneren Gliederung
Zeilenanfänge:
{||}
  • Tabellensyntax,[2] mit inneren Elementen
    Pipe-Symbole am Zeilenanfang | zur inneren Strukturierung, auch ![3]
__ key__
  • Magisches Wort
    Schalterfunktion; meist keine an derselben Stelle sichtbare Wirkung
ISBN PMID RFC
~~~ / ~~~~~
  • Magisches Wort: Zeit, Benutzer, kombiniert
URL
  • Weblink, wenn offen im Wikitext
    mit Protokoll (http:// usw.), das als Magisches Wort wirkt.
==

Leerzeile
Zeilenanfang:
----
* # ; :
Leerzeichen

  • Textformatierung, Block-Ebene
    • Trennzeile, Absatz
    • Linie
    • Liste
    • vorformatierter Text
''''
  • Textformatierung, Zeichen-Ebene (Kursiv- und Fettschrift)
#REDIRECT
  • Beginn der ersten Zeile:[4] Magisches Wort
    Klassifizierung der gesamten Seite als Weiterleitung; weiterer Text nach dem ersten Wikilink möglich.
-{}- LanguageConverter (für mehrsprachige Texte)

Weitere Informationen

MediaWiki: Parsoid – Wikitext Parser (englisch)
  • mw:Wikitext standard auf Mediawiki (englisch) – erfolglose Forderung einer formalen Standardisierung; um 2006
  • mw:Markup spec auf Mediawiki (englisch) – erfolgloser Versuch einer formalen Spezifikation; um 2011 aufgegeben
  • mw:Alternative parsers auf Mediawiki (englisch) – Parser mit Versuchen einer Syntaxbeschreibung; weiterführende Links
  • WikiMarkupStandard auf meatballwiki.org (englisch)

Anmerkungen

  1. RFC 1866
  2. : vor {| zurzeit technisch möglich, aber nicht zu empfehlen; könnte langfristig zu Schwierigkeiten führen.
  3. Leerzeichen werden zurzeit ignoriert; doppelte Leerzeilen werden der Tabellenzelle zugerechnet.
  4. Whitespace am Seitenbeginn möglich