在MediaWiki上使用模块
问题描述:
我需要在我的wiki上重复一个字符串n次。在MediaWiki上使用模块
它看起来像我能做到这一点使用Module:String
{{#invoke:String|rep|hello|3}}
而是获得hellohellohello
我得到{{#invoke:String|rep|hello|3}}
我是否需要安装或打开模块?我熟悉MediaWiki扩展,但是我从来没有遇到过模块,也找不到任何文档。
答
是的,您需要安装Extension:Scribunto - 这就是在wiki上创建模块名称空间,#invoke函数和Lua模块的一般方法。
然后您应该能够从mediawiki.org等导入模块并在本地使用它们。
答
如果你不是非常在意解析性能/不使用大量重复的,你可以做一些哈克像
<!-- Template:Repeat -->
{{#ifexpr:{{{2}}}|{{{1}}}{{repeat|{{{1}}}|{{#expr:{{{2}}}-1}}}}}}
或
<!-- Template:Repeat -->
{{#switch: {{{2}}}
| 0 =
| 1 = {{{1}}}
| 2 = {{{1}}}{{{1}}}
| 3 = {{{1}}}{{{1}}}{{{1}}}
...