【发布时间】:2018-09-09 09:45:45
【问题描述】:
在基于 MediaWiki 安装 1.29 的自定义 wiki 中,我想在模板页面中包含一个示例。
为了包含这个示例,我希望打印模板的代码并显示它。所以我需要将文本写下两次:一次被<pre> 标签包围以显示文本,另一次以纯文本形式显示解释示例。
为了只维护一次文本,我考虑将示例插入到这样的子页面中 <pre>{{SomeTemplate|SomeParameter}}</pre> 并将此文本转换为在说明页面中显示。
因此,对于代码,我只是将 {{/subpage}} 嵌入,而要显示实际模板,我的计划是使用来自 https://www.mediawiki.org/wiki/Extension:ParserFunctions 的 #replace 函数将 <pre></pre> 替换为空字符串。
第一部分完美无缺,第二部分我无法让它工作。我用于替换的代码是
{{#replace:{{#replace:{{/subpage}}|<nowiki><pre></nowiki>|}}|<nowiki></pre></nowiki>|}}
但这总是返回一个空字符串。事实上,即使是部分
{{#replace:{{/subpage}}|<nowiki><pre></nowiki>|}}
返回相同的空字符串。
足够有趣,连代码都可以
{{#replace:<nowiki><pre>{{SomeTemplate|SomeParameter}}</pre></nowiki>|<nowiki><pre></nowiki>|}}
什么都不返回。
我的计划是否可行并且我在语法上做错了什么,或者它在概念上是错误的并且永远不会起作用?
谢谢
卢卡
【问题讨论】:
-
该函数是 mediawiki.org/wiki/Extension:ParserFunctions 的一部分。我很遗憾没有提到它:因为它内置在 MediaWiki 中并且我很久以前就启用了它,我错误地认为它是理所当然的。谢谢。
-
使用
{{#tag:pre}}代替<pre>有效吗? -
不幸的是,使用
{{#tag:pre}}会导致相同的结果,显然是一个空字符串。
标签: mediawiki mediawiki-templates