Dies ist eine alte Version des Dokuments!
Die meisten Auszeichnungssprachen besitzen eine Auszeichnung (Markup) um Code oder Codefragmente im Fließtext darzustellen. In der DokuWiki-Syntax gibt es das Markup ''
, mit dem einen Text umschließen kann (''Code Text''
), der dann in unterlegt in Monospace dargestellt wird.
Im Editor kann man dieses Markup über das -Icon eingefügt werden. Sofern kein Text ausgewählt ist, wird das Markup ''Code Text''
eingefügt.
Auch wenn der eingefügte Text Code Text eine Ähnlichkeit mit dem Code-Markup aus Markdown (`…`
) suggeriert, verhält sich hier DokuWIki hier anders als andere Systeme. Während bei anderen Systemen wie Markdown vom Code-Markup umschlossenes Markup ignoriert wird (in Markdown wird ein `**fett**`
als **fett**
dargestellt), interpretiert DokuWiki ein von ''…''
umschlossene Markup: aus ''**fett**''
wird fett
.
Das ''…''
der DokuWiki-Syntax ist – anders als der eingesetzte Mustertext vermuten lässt – kein Makrup für Code, sondern – wie im Beispiel der Syntax-Beschreibung dargestellt – „nur“ ein Markup für „dickengleichen“
(oder monospaced
) Text plus Hervorhebung durch eine Unterlegung.
Soll DokuWiki-Markup im Fließtext als uninterpretiertes Markup dargestellt werden, muss das <nowiki>
-Markup (<nowiki>…</nowiki>
1)) oder dessen Kurzform %%…%%
verwendet werden.
Für die Darstellung der DokuWiki-Syntax im Fließtext ist es notwendig das Markup ''%%…%%''
zu umschließen. Um das obige Beispiel ''**fett**''
darzustellen, verwendet man das Markup ''%%''**fett**''%%''
.
Sind – wie in diesem Artikel – komplexere Verschachtelungen notwendig, dann sollten versuchsweise die %%…%%
-Strukturen durch <nowiki>…</nowiki>
ersetzt werden.
Für die Codierung der Darstellungen <nowiki>
und %%
funktionieren jeweils beide Varianten. Bei der Aufbereitung des für diese Darstellungen im Fließtext notwendigen Markups stößt man jedoch schnell an die Grenzen.
Die beschriebenen Probleme treten nur auf, wenn das DokuWiki-Markup im Fließtext dargestellt werden soll. Erfolgt die Darstellung in einem Code-Block, dann treten die Probleme nicht auf:
Der Quelltext2)
<code> ''<nowiki><nowiki></nowiki>'' ''%%<nowiki>%%'' ''<nowiki>%%</nowiki>'' ''%%%%%%'' </code>
wird erwartungsgemäß als
''<nowiki><nowiki></nowiki>'' ''%%<nowiki>%%'' ''<nowiki>%%</nowiki>'' ''%%%%%%''
angezeigt.