我如何将一些 MediaWiki 标记(此处:table)传递给模板?

How can I pass some MediaWiki markup (here: a table) to a template?

我正在寻找一种方法,让用户可以将 table - 即通过在 MediaWiki 语法中指定 - 指定给模板。然后模板应将此 table 放在模板提供的一些更大输出的上下文中。

一个简单的例子。有没有一种方法可以让用户指定这样的内容:

{{MyTemplate
|FooBar
|{| class="wikitable"
| Something
|-
| Useful
|}
}}

然后模板在某处输出指定的数据 <code>FooBar 和 table?

如果这不起作用,是否有其他替代方法?即通过指定一些任意 (!) CSV 数据并以格式化的方式输出它?

它不起作用的原因是 table 中的管道被模板视为参数定界符。 {{!}} magic word 作为解决方法存在,因此您的示例可以这样完成:

{{MyTemplate
|FooBar
|{{{!}} class="wikitable"
{{!}} Something
{{!}}-
{{!}} Useful
{{!}}}
}}

虽然这确实降低了它的可读性!

至于将 CSV 数据呈现为 table,TableData extension 可能会满足您的需求。