帮助:模板

来自 Alpine Linux

本页主要关于设计模板,而不是使用模板。有关如何使用现有模板的详细信息,请参阅 Help:Editing 或任何模板的文档。


包括

要在另一个页面中包含模板---或任何页面---


If 模板

模板具有有限的条件测试功能。以下内容基于 MediaWiki 手册中的代码

{{Ifn|value|result}}
如果 value 不为空,则产生 result。(比较 shell 的 if [ -n "value" ]; then result; fi) 一个限制:{{ifn|2=result}} 产生 result (但如果 value 已定义且为空,则可以正常工作)。
{{Ifz|value|result}}
如果 value 为空,则产生 result。(比较 shell 的 if [ -z "value" ]; then result; fi)
{{If|value|resultyes|resultno}}
如果 value 不为空,则产生 resultyes; 否则产生 resultno。(比较 shell 的 if [ -n "value"]; then resultyes; else resultno; fi) 一个限制:{{if|2=resultyes}} 产生 resultyes (但如果 value 已定义且为空,或者 resultno 已定义,则可以正常工作)。
{{Ifeq|value|test|resultyes|resultno}}
如果 value 等于 test,则产生 resultyes; 否则产生 resultno。(比较 shell 的 if ["value" = test ]; then resultyes; else resultno; fi)

既然我们已经升级到 MediaWiki >= 1.19.1 (目前为 1.26.2),我们*应该*能够使用 {{#if:value|result|resultno}} 和 {{#ifeq:value|test|resultyes|resultno}},它们没有上述限制。这里有更多细节。 但是,似乎在 ParserFunctions 扩展启用之前,这不会工作。

模板参数

在模板的扩展标记中,{{{1}}} 将扩展为第一个 (隐式命名) 参数,{{{2|default}}} 将扩展为第二个参数,但如果未提供第二个参数,则默认为 default。请注意,如果模板以 {{Foo|arg1|}} 形式调用,则第二个参数*已*提供;这里它是空字符串。

参数也可以显式命名/编号,就像您调用 {{Foo|bar=arg1|2=}} 时一样。以这些方式提供的参数会删除前导和尾随空格。(当参数仅隐式命名时,空格会被保留。)

要禁止展开参数的内容,请用 {{#tag:nowiki|...}} 包裹 {{{argument}}};有关示例,请参阅 Template:Cat

在模板的扩展标记中,以 *#:; 开头的子字符串会自动添加换行符前缀。使用 start{{{dummy|;}}}finish 生成 start;finish。(空字符串可以用于 dummy。)

{{ns:0}} 扩展为空字符串。

如果您的模板参数意外地展开为 {{{1}}},则您忽略了提供参数;或者您提供的文本被 wiki 标记引擎以您不期望的方式解释。您可以通过用 <nowiki> 标签包围相关文本来阻止这种情况发生。例如,代替

{{Cmd|export PS1="(chroot)$PS1"}}

使用

{{Cmd|<nowiki>export PS1="(chroot)$PS1"</nowiki>}}

一个更短的替代方法是显式命名第一个参数

{{Cmd|1=export PS1="(chroot)$PS1}"}}

另请参阅 {{Cat}} 的转义字符,它们可以在任何模板调用中使用。

新模板的骨架

<noinclude>{{Template}}
Short description.

=== Usage ===
Longer description.

<pre>{{Foo|arg}}</pre>

Further comments.

=== Example ===

<pre>{{Foo|arg}}</pre>

will produce:
{{Foo|arg}}

=== See also ===

* [[:Template:Bar]]

</noinclude><includeonly>EXPANSION</includeonly>