我有一个 Scribunto 模块,它应该使用更多缩进的项目符号来格式化子页面:
local p = {} --p stands for package
function p.subpage_bullets( frame )
local page = frame.args.page
local parts = mw.text.split( page, "/", true )
return string.rep("*", #parts) .. " " .. parts[#parts]
end
return p
这在调试控制台中按预期工作。
=p.subpage_bullets(mw.getCurrentFrame():newChild{title="whatever",args={["page"]="Foo/Bar"}})
** Bar
我像这样从 DPL 使用它:
{{#dpl:
format=,{{#invoke:Helpers|subpage_bullets|page=%PAGE%}},<br />
|ordermethod=none
|namespace= {{NAMESPACE}}
}}
结果是页面没有缩进。所以页面 Foo/Bar 返回* Foo/Bar
而不是预期的** Bar
.
为什么它不起作用?我尝试用/替换"/"
拆分,这并没有改变结果。"%2f"
"%2F"
另一个相关的问题是,项目符号被渲染为*
而不是被解释为 wikitext,因此没有被渲染为实际的项目符号。