Hilfe:Wikisyntax/Hintergrund

aus Wikipedia, der freien Enzyklopädie
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.

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?

[Bearbeiten | Quelltext bearbeiten]

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

[Bearbeiten | Quelltext bearbeiten]
Syntaxelement Interpretation
<>
  • Tag (HTML oder Erweiterung)
&;
[[]]

Pipe-Symbole | ggf. zur inneren Gliederung

[]
{{{}}}
{{}}
  • Parserfunktion auf Projekt-Ebene
    • 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 (allgemeiner: „Seiteneinbindungen“)
    Pipe-Symbole | zur inneren Gliederung.
Zeilenanfänge:
{||}
  • Tabellensyntax,[2] mit inneren Elementen
    Pipe-Symbole am Zeilenanfang | zur inneren Strukturierung, auch ![3]
__ key__
ISBN PMID RFC
~~~ / ~~~~~
URL
==

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

  • Textformatierung, Block-Ebene
    • Trennzeile, Absatz
    • Linie
    • Liste
    • vorformatierter Text
''''
  • Textformatierung, Zeichen-Ebene (Kursiv- und Fettschrift)
#REDIRECT
-{}- LanguageConverter (für mehrsprachige Texte)

Diese Syntaxkonstrukte werden vom Parser in ein HTML-Dokument (oder einen Bereich davon) umgewandelt, was dann im Browser darstellbar ist.

  1. RFC: 1866 – Hypertext Markup Language – 2.0. November 1995 (englisch).
  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