我正在开发一个 Scribunto 模块,该模块接受可变数量的参数来生成表格。我有一个调用模块的模板,以及一个用于表中行的单独模板。但是,其中一个组件将始终位于表上下文之外,而表上下文似乎又会转义<tr>
和<td>
标记。
调用模板只包含{{#invoke:Module|module}}
行模板包含以下示例代码:
|-
| {{{1}}}
| {{{2}}}
使用此模板的任何页面都包含它
{{InvokeTemplate
| {{InvokeTemplate row | data1 | data2}}
}}
我尝试在 lua 模块中创建表
args = frame:getParent().args
t = mw.create.html('table')
t
:tag('tr')
:tag('th')
:wikitext('Header1')
:tag('th')
:wikitext('Header2')
:wikitext(args[1])
return tostring(t)
此时行模板不在表上下文中,因此使行模板未呈现。然后我尝试在行模板中使用 HTML,但标签被转换为实体。{|
最后,我尝试使用and将表创建标签添加到调用模板中|}
,并将 lua 模块修改为t = mw.create.html()
,但是虽然行模板标签很好,但 lua 模块中的标签被翻译了。
如何防止 MediaWiki 将这些标签翻译成 html 实体?