Rolf B: Mediawiki: Listen in Note-Boxen

Beitrag lesen

Hallo alle Wikianer,

ich hatte ja in einigen Vorlagen einen Zeilenumbruch hinter dem Einleitungswort eingebaut, damit man in der Note-Box Listen verwenden kann. Zum Beispiel:

{{Empfehlung|
* Foo
* Bar
}}

reichte nicht hin, um im Output den erforderlichen Zeilenumbruch zu erhalten, weil der Vorlagen-Parser Whitespace um Parameterwerte entfernt.

Verlagert man den Umbruch in die Vorlage:

<strong>Empfehlung:</strong>
{{{1}}}

dann klappt das. Hinter dem Doppelpunkt wird ein Whitespace gemacht, und die Liste wird von Mediawiki als Liste erkannt.

Aber gestern habe ich dann ein Wiki-Konstrukt entdeckt, dass das wieder abgeschossen hat:

  • Foo
  • Bar<br>{{Empfehlung|dings!<br>bums!}}
  • Baz

Der Zeilenumbruch in der Vorlage bringt das dings! an den Zeilenanfang und die Liste wird von Mediawiki beendet.

Lösungsidee 1: Pfeif auf Listensterne und mach die HTML Tags selbst dahin. Keine gute Idee. Es ist ein Wiki und sollte auch Wikisyntax verwenden

Lösungsidee 2: Bau der Vorlage einen Parameter ein, mit dem man steuern kann, ob der Umbruch gemacht wird oder nicht. {{Empfehlung|nobreak|dings!}} - das war die Idee.

Und es geschah ein Wunder

Beim Test Vorlagenoutputs über "Vorlagen expandieren" stellte ich dann fest, dass eine Liste in einer Empfehlung auch bei Vorliegen von nobreak an den Zeilenanfang gestellt wird. Also: der syntaktische Zeilenumbruch erschien, obwohl er nicht mehr Teil der Vorlage war.

Nach kurzem Selbsttest auf den erreichten Irrsinnslevel komme ich zu dieser Erkenntnis: {{#if:...}} erkennt Listen, die in Parametern stehen, und bringt die Listensymbole automatisch an den Zeilenanfang.

Ob das ein Bug oder ein Feature der Parserfunktionen ist, weiß ich nicht. Dazu müsste ich Template-Berechtigung in einer neueren Mediawiki-Installation haben. Jedenfalls habe ich in die Empfehlung-Vorlage man dies eingebaut:

<div...><strong>Empfehlung:</strong> {{#if: {{{1|}}}|{{{1}}}|Keine?!}}</div>

Und damit scheinen Listen in Empfehlungen und Empfehlungen in Listen zu funktionieren.

Das traurige ist: Matthias Apsel hat's schon vor 11 Jahren gewusst. Als er das Feature des frei wählbaren Interpunktionszeichens in die Beachten-Vorlage einbaute, hat er bewusst den Default als <nowiki>:</nowiki> formuliert, damit das "list-to-newline" Feature nicht zuschlägt. Er hätte natürlich auch &#58; schreiben können. &colon; ist HTML 5 und unserem Wiki (noch) nicht bekannt…

Einwände, diesen Dummy-If auch anderswo einzubauen? Oder gibt's dieses Mediawiki-Feature auch auf eine direkte Art?

Rolf

--
sumpsi - posui - obstruxi