MediaWiki模板使用教程
前言
在mediawiki的编辑中,常常遇到大量重复性的编辑工作,比如这样的提示框:
如果每次都进行手动编辑,那么将会非常消耗时间。模板就是用来替代这种重复性的文本。当许多页面调用了同一个模板,只要修改这个模板,就能修改所有页面上显示的文本。
基础使用
模板页面和所有普通的页面实质上是一样的。因此要新建一个模板,只需要新建一个名为:模板:<名字>
即可。例如,我创建了一个模板:Test2
页面。
对模板的编辑就像对普通的页面编辑一样,但是只能直接编辑源代码。现在将内容编辑为test
。
然后在另一个页面,选择插入>模板,然后搜索Test2,找到刚刚创建的模板,选择,不用管字段名称,点击插入。
效果就是,在原有的页面上插入了一个test字符串。但这个字符串与普通的字符串不同。这是由模板生成的一个整体,不能单独修改。如果要修改其中的字符串,修改模板即可。
模板参数
当然,很多时候我们需要的效果可能是这样的:“本页面指的是<xxx>,关于<xxx2>的描述参见…”。这个时候,内容不再是固定的,而是包含了一些“参数”。在现代mediawiki的版本中,模板参数的添加变得更加的便捷。
下面将通过一个例子,如何在模板中使用参数。我们要达到的效果是一个圆角矩形内有一个自定义的文字。如下:
首先需要向模板中添加一个参数,作为我们自定义的文字。点击编辑器工具栏上方的“管理模板数据”,再点击添加参数。
名称就是参数的变量。其他的选项都基本上能见名知意。再点击应用,即可将此参数添加到模板中。现在内容看起来是这样的。
</div> <noinclude> <templatedata> { "params": { "text": {} } } </templatedata> </noinclude>
这就是内容中包括参数的信息。这些内容在noinclude标签内因此不会出现在被调用的页面中,仅仅用于告诉mediawiki这个模板有哪些变量。
接下来就是调用变量了。调用的过程非常的简单,格式为{{{变量名}}}
。例如,我们要实现内容现在就这样写。
<div style="border: 1px solid black;border-radius: 5px;padding: 10px 10px 10px 10px;"> {{{text}}} </div>
{{{text}}}
即调用了我们刚刚声明的变量text
,在调用的模板的时候,传入的值将会替代{{{text}}}
显示在页面中。圆角的实现使用CSS(需要一些css代码知识)。
那么现在总的来看,我们的模板内容将会是这样的:
<div style="border: 1px solid black;border-radius: 5px;padding: 10px 10px 10px 10px;"> {{{text}}} </div> <noinclude> <templatedata> { "params": { "text": {} } } </templatedata> </noinclude>
保存,进入另一个页面的编辑页面,我们将尝试在这页面调用我们刚刚创建好的模板。和之前一样的操作,插入>模板,搜索模板Test2,选择。
这时,我们会看到页面上多了一些东西:
在添加更多信息中,多了一个text的选择提示,点击它。
事实上,这里的添加更多信息不如说是添加变量。刚刚我们点击添加的text正是我们刚刚在模板中声明的变量,现在我们需要填写它。点击刚刚的提示后,就会出现一个文本框用于输入text变量。我们输入字符串”qwq”,再点击插入。
一个圆角的边框加上中间的自定义文字(蓝色底子是因为我选择了它,而不是因为模板内容)。我滴模板,完成啦(
补充
其实不用添加变量,直接在模板内容中调用变量也是可行的。例如,上面的模板去掉变量声明部分的内容:
<div style="border: 1px solid black;border-radius: 5px;padding: 10px 10px 10px 10px;"> {{{text}}} </div>
然后再调用也是可行的,并且功能与上面的模板完全一样。事实上,正如我们前面所说,变量声明仅仅用于告诉mediawiki这个模板有哪些变量。你会发现,在没有变量声明的模板的插入界面,没有关于text变量的提示信息。但是你依然可以手动添加。
点击添加更多信息,手动输入变量名,然后输入名字,也是能用的~