Есть ли в MediaWiki шаблон для идентификации? - PullRequest
0 голосов
/ 26 января 2019

В MediaWiki, возможно ли определить шаблон со следующим выводом?

(примечание: нормализация неразрывного пробела в порядке)

Invocation            Expanded output

{{Identity|test}}     test
{{Identity|test|}}    test|
{{Identity||}         |
{{Identity|a b|c}}    a b|c
{{Identity|a|b=c|d}}  a|b=c|d

Возможно, этодаже легко доступны в некоторых расширениях, хотя я не уверен, какие расширения доступны для меня на сайте хоста.(Я знаю, что у него есть ParserFunctions)

Если это невозможно, существует ли какое-то максимальное подмножество этой функциональности, которое может быть реализовано?

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

@ bergi ответил в комментариях, решив проблему XY.

Вариант использования состоял в том, чтобы позволить функциям синтаксического анализатора расширяться до содержимого, содержащего строки / ячейки таблицы, при этом их каналы не интерпретируются как разделители аргументов в шаблоне функции анализатора. Исторически используемое решение состоит в том, чтобы просто определить Template:! и Template:!!, которые расширяются до | и || соответственно, так что разделители таблицы можно экранировать, набрав

Syntax   Escaped form
|        {{!}}
|-       {{!}}-
||       {{!!}}

Более новые версии MediaWiki теперь даже трактуют {{!}} как волшебное слово , гарантируя, что оно всегда рассматривается как часть синтаксиса таблицы, а не как разделитель шаблона.

0 голосов
/ 27 января 2019

Вы, вероятно, могли бы сделать это с рамками Scribunto , за исключением изменений обрезки пробелов и предварительной обработки.Похоже, упражнение в бессмысленности.

...