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}}
чтобы показать пример.