在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}}} 
...