Modul Diskussion:TemplateUtils

Aus Wikibooks
Zur Navigation springen Zur Suche springen

Begründung meines Handelns[Bearbeiten]

MediaWiki verhält sich bei Kombinationen von Nowiki und Syntaxhighliht irgendwie komisch. Scheinbar wird alles innerhalb von Nowikis von Syntaxhighlight wie jeder andere Text in Nowikis behandelt. Wenn man den Text in Nowikis an Vorlage:Codebeispiel übergibt, ist sowohl die Umwandlung der Gößer- und Kleiner-Alszeichen notwendig, als auch das der Unds (das du entfernt hast). Ohne Nowikis verfälscht eben das aber das Ergebnis. Ich habe dieses Verhalten nicht gekannt und fürs Testen keine Nowikis benutzt. Aber Ich denke TemplateUtils.expand ist für den Einsatz mit Nowikis gedacht. -- David23x 20:44, 20. Sep. 2015 (CEST)[Beantworten]

Kann kein Problem feststellen. Beispiel:

Beispiel:

<syntaxhighlight lang=xml>
<a><b></b></a>
</syntaxhighlight>

Ergebnis:

<a><b></b></a>

Kannst du ein konkretes Beispiel posten, wo es zu Problemen kommt? Viele Grüße, Stephan Kulla 20:57, 20. Sep. 2015 (CEST)[Beantworten]

Ich vergaß zu erwähnen: Entscheidend ist, dass man {{#tag:syntaxhighlight}} benutzen muss und nicht direkt das Tag verwenden darf.

Ein Beispiel:

{{#tag:syntaxhighlight|<nowiki>&amp;amp; &lt;b&gt;Test&lt;/b&gt;</nowiki>|lang=text}}
wird zu:
&amp;amp; &lt;b&gt;Test&lt;/b&gt;

{{#tag:syntaxhighlight|&amp;amp; &lt;b&gt;Test&lt;b&gt;|lang=text}}
wird zu:
&amp;amp; &lt;b&gt;Test&lt;b&gt;

-- David23x 21:17, 20. Sep. 2015 (CEST)[Beantworten]

@Stephan Kulla:

Konkreter Änderungsvorschlag:

Man definiert TemplateUtils.expand als Funktion, die WikiText so ausführt, wie er angezeigt wird, wenn er einfach so eingegeben wird. Die Ersetzung von &amp; zu &, die du entfernt hast, muss hinzugefügt werden.

Für Vorlage:Codebeispiel wird eine eigene Funtion definiert. Diese entfernt Nowikis ganz am Anfang und Ende. wird zu </nowiki>, mit einem backslah hinter dem Slash wird es zu einem Doppelslash. Es wird #tag:syntaxhighlight benutzt.

-- David23x

@David23x: Ich verstehe noch nicht ganz. Du möchtest, dass das Ergebnis von

{{#tag:syntaxhighlight|&amp;amp; &lt;b&gt;Test&lt;b&gt;|lang=text}}

auch

&amp;amp; &lt;b&gt;Test&lt;/b&gt;

ist, oder? -- Stephan Kulla 17:08, 22. Sep. 2015 (CEST)[Beantworten]

@Stephan Kulla: Egal, es ist wahrscheinlich doch das beste, einfach alle Benutzer von Codebeispiel in der Dokumentation darauf hinzwueisen, dass sie den Text in Nowikis einkleiden müssen, wenn sie kein unerwartetes Verhalten wollen. -- David23x 17:52, 22. Sep. 2015 (CEST)[Beantworten]