以下为以个人经验为依据的一家之言,部分内容可能并不严谨。——Storm Wing(汴京) 2022年6月14日 (二) 19:50 (CST)
指位于「模板:」或「Template:」名字空间下的页面。
这些页面的特点是内置了一些需要大量重复调用的内容,并且可以通过定义参数的形式自定义其中的指定内容。当以{{}}形式调用该页面时,将直接调用其中的内容,而非如[[]]般创建页面链接。话是这么说,其实不在上述名字空间里的页面也可以用同样的方式调用……
譬如说,{{滑稽}}的本体是[[File:滑稽表情.png|20px]]
这张图片(其实这并不是一个特别好的例子,因为{{滑稽}}的本体事实上还嵌套调用了{{表情}})。当我们以{{滑稽}}
形式调用该模板时,我们得到的便是。
模板页面除了上述的「需要大量重复调用的内容」(即「本体」外),还包括模板文档(记录模板的调用方法)和大家族模板(起导航作用)等,这些内容我们只希望留在模板页面中,而不被一并牵连调用。这时候我们需要用到<includeonly></includeonly>
,将「本体」置于其中、而将不希望被调用的内容置于外面即可。当然,使用<noinclude></noinclude>
,将不希望被调用的内容置于其中、而将「本体」置于外面,也能达到相同的效果。
{{Color}}是站内每天被调用十万甚至九万次的极常用模板。它的「本体」非常简单:
<span style="color:{{{1}}};">{{{2}}}</span>
调用的方式也同样简单:
{{Color|#66CCFF|洛天依}}
→洛天依。
html标签<span></span>
的用法不在此额外说明(其实是因为我自己也讲不清楚)。我们需要关注的是源代码中的{{{1}}}
和{{{2}}}
。我暂且将它们称作无名参数。
无名参数就像纯洁如纸的沉眠幼女,任凭你将她染上颜色——你想赋予什么值,它就是什么值。我们在调用模板时,如果模板的「本体」内置了无名参数,我们只需要在模板名后加管道符「|」,再写上你想赋予的值即可。「1」和「2」代表它们是模板中的第几个无名参数。
有时候我们也希望幼女在被染上颜色前拥有自己的心,这时候只需要这么写:{{{1|某某}}}
。这意味着无名参数虽然同样会完全遵循你赋予的值,但在未赋值时会自带「某某」的默认值。这点对于下文的参数也同样适用。
特别需要注意的是:未被赋值(而非赋了空值),且没有默认值的参数会保留它最原本的样子:{{Color|#66CCFF}}
→{{{2}}}。放任幼女随意地睡在地上会感冒的,要好好负起监护人的责任哦!
{{Hide}}拥有「标题」和「内容」两个参数。我们同样使用管道符「|」调用该模板,并使用「=」连接参数名和赋值:
{{Hide|标题=你所热爱的|内容=就是你的生活}}
调用效果如下:
你所热爱的 |
---|
就是你的生活 |
当然,关于这个模板后来加上了同时兼容指定参数和无名参数的防呆设计,便不是我们今天的议题了。
此处仅介绍部分常用于构建模板的解析器函数。
{{#if:{{{font-size|}}}|{{{font-size|}}}|10}}
:如果参数font-size被赋值,则返回参数font-size的值;否则返回10。
{{#if:{{{text2|}}}|<br />'''{{#switch: {{{text2|}}}|绫绫神教 = 绫绫神教,寿与天齐!|乐正司百曲 = 乐正司百曲,绫动万年红——| #default = {{{text2|}}}}}'''|}}}}
:模板的效果将根据参数text2被赋予的值决定返回的值:当text2被赋予「绫绫神教」时,返回「绫绫神教,寿与天齐!」;当text2被赋予「乐正司百曲」时,返回「乐正司百曲,绫动万年红——」;其余情况直接返回text2被赋予的值。
{{用户 乐正绫}}的源代码如下:
<includeonly>{{ userbox| border-c = #EE0000 | id = [[File:Select_yuezhengling.png|55x55px|link=乐正绫]] | id-w = 56 | id-c = #EE0000 | info-c = #F5F5F5 | info-fc = #EE0000 | info-s = {{#if:{{{font-size|}}}|{{{font-size|}}}|10}} | info-lh = {{#if:{{{linear-height|}}}|{{{linear-height|}}}|1.35}} | info = {{#if:{{{text|}}}|{{{text|}}}|这名用户非常喜欢'''{{coloredlink|#EE0000|乐正绫}}'''。{{#if:{{{text2|}}}|<br />'''{{#switch: {{{text2|}}}|绫绫神教 = 绫绫神教,寿与天齐!|乐正司百曲 = 乐正司百曲,绫动万年红——| #default = {{{text2|}}}}}'''|}}}} }}</includeonly><noinclude>{{doc}}[[Category:用户框|Yue正绫]]{{用户框|爱好}}</noinclude>
最基础的调用效果如下:
这名用户非常喜欢乐正绫。 |
就将其中诸部分的注释作为今天的作业吧。
<includeonly>{{ userbox| border-c = #EE0000 <!--这是边框的颜色--> | id = [[File:Select_yuezhengling.png|55x55px|link=乐正绫]] <!--这是图片--> | id-w = 56 <!--这是图片的宽度--> | id-c = #EE0000 <!--这是图片的背景色--> | info-c = #F5F5F5 <!--这是文字的背景色--> | info-fc = #EE0000 <!--这是文字的颜色--> | info-s = {{#if:{{{font-size|}}}|{{{font-size|}}}|10}} <!--这是文字的大小!如果设置了那么就按设置的来,否则默认为10--> | info-lh = {{#if:{{{linear-height|}}}|{{{linear-height|}}}|1.35}} <!--这是文字的行高!如果设置了那么就按设置的来,否则默认为1.35--> | info =<!--这里放文字!--> {{#if:{{{text|}}}|{{{text|}}}|这名用户非常喜欢'''{{coloredlink|#EE0000|乐正绫}}'''。<!--如果用了text参数,那么按照输入的来,如果不输入则默认会出现这句话-->{{#if:{{{text2|}}}|<br />'''{{#switch: {{{text2|}}}|绫绫神教 = 绫绫神教,寿与天齐!|乐正司百曲 = 乐正司百曲,绫动万年红——| #default = {{{text2|}}}}}'''|}}}} <!--如果用了text2参数,那么输入绫绫神教和乐正司百曲会在第二行出现两种预设方案,如果输入的是其他则按输入的来--> }}</includeonly><noinclude>{{doc}}[[Category:用户框|Yue正绫]]{{用户框|爱好}}</noinclude>
太棒了,我逐渐理解一切--晨翊懿策册/謪 2022年6月15日 (三) 11:41 (CST)