MediaWiki: заменить тег в включении

В пользовательской вики, основанной на установке MediaWiki 1.29, я хотел бы включить пример на страницу шаблона.

Чтобы включить этот пример, я хочу распечатать код шаблона и показать его. Поэтому мне нужно записать текст два раза: один окружен <pre> тег, чтобы показать текст, а другой в виде простого текста, чтобы показать интерпретируемый пример.

Чтобы сохранить текст только один раз, я подумал о вставке примера в подстраницу, подобную этой <pre>{{SomeTemplate|SomeParameter}}</pre> и включите этот текст, чтобы показать его на странице инструкции.

Итак, для кода я просто включаю {{/subpage}} в то время как для показа фактического шаблона мой план должен был заменить <pre></pre> с пустой строкой, используя #replace функция из https://www.mediawiki.org/wiki/Extension:ParserFunctions.

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

{{#replace:{{#replace:{{/subpage}}|<nowiki><pre></nowiki>|}}|<nowiki></pre></nowiki>|}}

Но это всегда возвращает пустую строку. На самом деле, даже часть

{{#replace:{{/subpage}}|<nowiki><pre></nowiki>|}}

возвращает ту же пустую строку.

Достаточно интересно, даже код

{{#replace:<nowiki><pre>{{SomeTemplate|SomeParameter}}</pre></nowiki>|<nowiki><pre></nowiki>|}}

ничего не возвращает.

Является ли мой план осуществимым, и я делаю что-то неправильно в синтаксисе, или это концептуально неправильно и никогда не сработает?

Спасибо

Лука

0 ответов

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

Я обнаружил (здесь https://www.mediawiki.org/wiki/Help:Templates), что префиксmsgnw:позволяет включать текст шаблона, не вызывая его. Итак, самый простой способ достичь моей цели - создать подстраницу только с кодом, без<pre> а затем используя:

<code>{{msgnw:/Subpage}}</code>

чтобы показать базовый код, и

{{/Subpage}}

чтобы показать пример.

Другие вопросы по тегам