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 Erzeugung von <nowiki>
oder %%
funktionieren jeweils beide Varianten. Bei der Aufbereitung des für diese Darstetllung 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.