LLWiki正在建設中,歡迎加入我們

本頁使用了標題或全文手工轉換

「LLWiki:模板指引」修訂間的差異

出自LLWiki
跳至導覽 跳至搜尋
→‎繁简转换:​ //使用页面/文本对比查看器快速编辑
 
(未顯示由 3 位使用者於中間所作的 24 次修訂)
第1行: 第1行:
{{内容缺失}}{{not|mediawikiwiki:Help:Templates/zh{{!}}帮助:模板}}
{{not|mediawikiwiki:Help:Templates/zh{{!}}帮助:模板}}
本指引描述LLWiki的模板页面普遍遵循的格式。
本指引描述LLWiki的模板页面普遍遵循的格式。


LLWiki的模板(Template)页面一般分为三个组成部分,依次为(1)模板文档、(2)以分类为主的其他不可见的<code>&lt;noinclude&gt;</code>内容和(3)模板代码。前两项总是包裹在<code>&lt;noinclude&gt;</code>标签内,模板引用时会被忽略。
LLWiki的模板(Template)页面一般分为三个组成部分,依次为(1)模板文档、(2)以分类为主的其他不可见的<code>&lt;noinclude&gt;</code>内容和(3)模板代码。前两项总是包裹在<code>&lt;noinclude&gt;</code>标签内,模板引用时会被忽略。
{{目录右置}}
{{toclimit|2|{{目录右置}}}}
==文档==
==文档==
模板文档总是通过{{tl|Documentation}}呈现。简短的文档可以使用{{tl|Documentation}}的<code>content</code>参数直接书写在当前页面内,较长的文档则应单独置于模板文档页。模板文档页的页面名称应为「模板页面名称 + /doc」,如[[Template:Lyrics]]的文档页位于[[Template:Lyrics/doc]]。多个模板共用同一个文档页时,页面名称不对应的模板页需使用{{tl|Documentation}}的<code>1</code>参数(可以使用匿名写法)。[[Template:Documentation]]页面给出了几个简单的用法示例。
模板文档总是通过{{tl|Documentation}}呈现。简短的文档可以使用{{tl|Documentation}}的<code>content</code>参数直接书写在当前页面内,较长的文档则应单独置于模板文档页。模板文档页的页面名称应为「模板页面名称 + /doc」,如[[Template:Lyrics]]的文档页位于[[Template:Lyrics/doc]]。多个模板共用同一个文档页时,页面名称不对应的模板页需使用{{tl|Documentation}}的<code>1</code>参数(可以使用匿名写法)。[[Template:Documentation]]页面给出了几个简单的用法示例。
第14行: 第14行:
由于LLWiki处理模板文档繁简转换的方式特殊,这里单独列为一个章节。
由于LLWiki处理模板文档繁简转换的方式特殊,这里单独列为一个章节。


模板文档繁简转换的需求来自于两个方面,其一是模板使用的中文参数都需配备简体和繁体两个互为替代的等效参数(详见[[#代码]]章节),其二是在说明参数或是展示示例时用到的中文表达。一般情况下MediaWiki会对中文自动进行繁简转换,但使用<code>&lt;code&gt;</code>和<code>&lt;pre&gt;</code>标签(或行首空格)时,内部文本不会执行繁简转换。LLWiki为此设立了{{tl|code}}{{tl|pre}}两个模板作为对应的HTML标签的代用品,模板的参数仍会自动执行繁简转换两个模板都有一个匿名参数,且参数一般需要使用<code>&lt;nowiki&gt;</code>标签包裹
模板文档繁简转换的需求来自于两个方面,其一是模板使用的中文参数都需配备简体和繁体两个互为替代的等效参数(详见[[#代码]]章节),其二是在说明参数或是展示示例时用到的中文表达。一般情况下MediaWiki会对中文自动进行繁简转换,但使用<code>&lt;code&gt;</code>和<code>&lt;pre&gt;</code>标签(或行首空格)时,内部文本通常不会执行繁简转换。如果需要让标签内的文本实现繁简转换,可以在開頭添加<code>--{}-{}-</code>,如{{code|<-{}-pre>--{}-{}-內容<-{}-/pre>}}。<code>&lt;code&gt;</code>标签文本繁简转换還可以通過给标签加上任意的语言属性來實現,如{{code|<nowiki><-{}-code lang="mw">字体<-{}-/code></nowiki>}},但注意这只<code>&lt;code&gt;</code>标签内没有额外套<code>&lt;nowiki&gt;</code>的情形


除了上述方法外,LLWiki还设立了{{tl|code}}和{{tl|pre}}两个模板作为对应的HTML标签的代用品,模板的参数仍会自动执行繁简转换。这两个模板都只有一个匿名参数,且参数一般需要使用<code>&lt;nowiki&gt;</code>标签包裹。
{{tl|code}}和{{tl|pre}}模板和对应的HTML标签有一个极大的区别,模板参数中的Wikitext仍旧会被执行,而且即使使用转义的字符实体也往往无效(特例见附表)。例如:{{code|<nowiki>{{code|<-{}-nowiki>&-{}-amp;lt;span style="font-style:italic"&-{}-amp;gt;&-{}-amp;#39;&-{}-amp;#39;&-{}-amp;#39;{{color|red|文本}}&-{}-amp;#39;&-{}-amp;#39;&-{}-amp;#39;&-{}-amp;lt;/span&-{}-amp;gt;<-{}-/nowiki>}}</nowiki>}}的效果为{{code|<nowiki>&lt;span style="font-style:italic"&gt;&#39;&#39;&#39;{{color|red|文本}}&#39;&#39;&#39;&lt;/span&gt;</nowiki>}}。注意与此同时被<code>&lt;nowiki&gt;</code>标签包裹的模板仍旧不会被展开。为了解决这一问题,一般需要在Wikitext语法的内部插入<code><nowiki>-{}-</nowiki></code>进行破坏。下表给出了常用Wikitext作为{{tl|code}}和{{tl|pre}}模板的参数时的对应写法。

{{tl|code}}和{{tl|pre}}模板和对应的HTML标签有一个极大的区别,模板参数中的Wikitext仍旧会被执行,而且即使使用转义的字符实体也往往无效(特例见附表)。例如:<pre>
{{code|&lt;nowiki>&amp;lt;span style="font-style:italic"&amp;gt;&amp;#39;&amp;#39;&amp;#39;{{color|red|文本}}&amp;#39;&amp;#39;&amp;#39;&amp;lt;/span&amp;gt;&lt;/nowiki>}}
</pre>的效果为{{code|<nowiki>&lt;span style="font-style:italic"&gt;&#39;&#39;&#39;{{color|red|文本}}&#39;&#39;&#39;&lt;/span&gt;</nowiki>}}。注意与此同时被<code>&lt;nowiki&gt;</code>标签包裹的模板仍旧不会被展开。为了解决这一问题,一般需要在Wikitext语法的内部插入<code><nowiki>-{}-</nowiki></code>进行破坏。下表给出了常用Wikitext作为{{tl|code}}和{{tl|pre}}模板的参数时的对应写法。


{| class="wikitable"
{| class="wikitable"
! 描述 !! 效果 !! Wikitext !! {{tl|code}}和{{tl|pre}}的模板参数 !! 说明
! 描述 !! Wikitext !! {{tl|code}}和{{tl|pre}}的模板参数 !! 说明
|-
| 状态开关 || {{code|_-{}-_TOC__}} || {{code|_--{}-{}-_TOC__}} || 在任意位置插入<code><nowiki>-{}-</nowiki></code>破坏。
|-
|-
| 斜体文本 || ''斜体'' || {{code|&apos;'斜体'&apos;}}或<br>{{code|'-{}-'斜体'-{}-'}} || {{code|&-{}-amp;apos;'斜体'&-{}-amp;apos;}}或<br>{{code|'--{}-{}-'斜体'--{}-{}-'}} || rowspan=3 | 使用字符实体<code>&amp;apos;</code>或用<code><nowiki>-{}-</nowiki></code>将<code>'</code>分隔开,注意不要出现任意连续的两个<code>'</code>。这里<code>&amp;apos;</code>不能使用<code>&amp;#39;</code>替代。
| 斜体文本 || {{code|'-{}-'斜体'-{}-'}} || {{code|&-{}-amp;apos;'斜体'&-{}-amp;apos;}}或<br>{{code|'--{}-{}-'斜体'--{}-{}-'}} || rowspan=3 | 使用字符实体<code>&amp;apos;</code>或用<code><nowiki>-{}-</nowiki></code>将<code>'</code>分隔开,注意不要出现任意连续的两个<code>'</code>。这里<code>&amp;apos;</code>不能使用<code>&amp;#39;</code>替代。
|-
|-
| 粗体文本 || '''粗体''' || {{code|'&apos;'粗体'&apos;'}}或<br>{{code|'-{}-'-{}-'粗体'-{}-'-{}-'}} || {{code|'&-{}-amp;apos;'粗体'&-{}-amp;apos;'}}或<br>{{code|'--{}-{}-'--{}-{}-'粗体'--{}-{}-'--{}-{}-'}}
| 粗体文本 || {{code|'&apos;'粗体'&apos;'}} || {{code|'&-{}-amp;apos;'粗体'&-{}-amp;apos;'}}或<br>{{code|'--{}-{}-'--{}-{}-'粗体'--{}-{}-'--{}-{}-'}}
|-
|-
| 粗斜体文本 || '''''粗斜体''''' || {{code|'&apos;'&apos;'粗斜体'&apos;'&apos;'}}或<br>{{code|'-{}-'-{}-'-{}-'-{}-'粗斜体'-{}-'-{}-'-{}-'-{}-'}} || {{code|'&-{}-amp;apos;'&-{}-amp;apos;'粗斜体'&-{}-amp;apos;'&-{}-amp;apos;'}}或<br>{{code|'--{}-{}-'--{}-{}-'--{}-{}-'--{}-{}-'粗斜体'--{}-{}-'--{}-{}-'--{}-{}-'--{}-{}-'}}
| 粗斜体文本 || {{code|'&apos;'&apos;'粗斜体'&apos;'&apos;'}} || {{code|'&-{}-amp;apos;'&-{}-amp;apos;'粗斜体'&-{}-amp;apos;'&-{}-amp;apos;'}}或<br>{{code|'--{}-{}-'--{}-{}-'--{}-{}-'--{}-{}-'粗斜体'--{}-{}-'--{}-{}-'--{}-{}-'--{}-{}-'}}
|-
|-
| 章节标题 || <h4>4级标题</h4> || {{pre|<nowiki>
| 章节标题 || <pre>-{}-
-{}-====4级标题====
====4级标题====
</nowiki>}}
</pre>
| {{code|<nowiki>--{}-{}-====4级标题====</nowiki>}} || rowspan=7 | 只有位于行首时才生效,此种情况下在开头加上一个<code><nowiki>-{}-</nowiki></code>即可。
| {{code|<nowiki>--{}-{}-====4级标题====</nowiki>}} || rowspan=7 | 只有位于行首时才生效,此种情况下在开头加上一个<code><nowiki>-{}-</nowiki></code>即可。
|-
|-
| 分割线 ||
| 分割线 || <pre>
----
----
| {{pre|
</pre>
-{}-----
}}
| <code><nowiki>-{}-----</nowiki></code>
| <code><nowiki>-{}-----</nowiki></code>
|-
|-
| 无序列表 ||
| 无序列表 || <pre>-{}-
*无序列表
*无序列表
| {{pre|
</pre>
-{}-*无序列表
}}
| {{code|--{}-{}-*无序列表}}
| {{code|--{}-{}-*无序列表}}
|-
|-
| 有序列表 ||
| 有序列表 || <pre>-{}-
#有序列表
#有序列表
| {{pre|
</pre>
-{}-#有序列表
}}
| {{code|--{}-{}-#有序列表}}
| {{code|--{}-{}-#有序列表}}
|-
|-
| 定义 ||
| 定义 || <pre>-{}-
;定义
;定义
| {{pre|
</pre>
-{}-;定义
}}
| {{code|--{}-{}-;定义}}
| {{code|--{}-{}-;定义}}
|-
|-
| 缩进文本 ||
| 缩进文本 || <pre>-{}-
:缩进
:缩进
| {{pre|
</pre>
-{}-:缩进
}}
| {{code|--{}-{}-:缩进}}
| {{code|--{}-{}-:缩进}}
|-
|-
| 预格式化文本(行首空格) ||
| 预格式化文本(行首空格) || <pre>-{}-
预格式化
预格式化
| {{pre|
</pre>
-{}- 预格式化
}}或<br>
{{pre|
&nbsp;预格式化
}}
| {{code|--{}-{}- 预格式化}}或<br>{{code|&-{}-amp;nbsp;预格式化}}
| {{code|--{}-{}- 预格式化}}或<br>{{code|&-{}-amp;nbsp;预格式化}}
|-
|-
| 段落 || 第一段
| 段落 || <pre>-{}-
第一段


第二段
第二段
| {{pre|
</pre>
| <pre>-{}-
第一段<br>
第一段<br>
第二段
第二段
</pre>
}}
| {{pre|
第一段<-{}-br>
第二段
}}
| 其中一次换行需使用<code><-{}-br></code>标签代替。
| 其中一次换行需使用<code><-{}-br></code>标签代替。
|-
|-
| HTML标记 || {{n/a|3=}} || 例如{{code|<!-{}--- -->}}或<br>{{code|&amp;lt;!-- --&amp;gt;}} || <code><nowiki><!-{}--- --></nowiki></code>或<br><code><nowiki>&amp;amp;lt;!-- --&amp;amp;gt;</nowiki></code> || 在左半部分标记中插入<code><nowiki>-{}-</nowiki></code>破坏。
| HTML标记 || 例如{{code|<!-{}--- -->}} || <code><nowiki><!-{}--- --></nowiki></code>或<br><code><nowiki>&amp;amp;lt;!-- --&amp;amp;gt;</nowiki></code> || 在左半部分标记中插入<code><nowiki>-{}-</nowiki></code>破坏。
|-
|-
| 特殊符号 || 如&copy; || {{code|&-{}-amp;copy;}} || <code><nowiki>&-{}-amp;copy;</nowiki></code> || 将<code>&</code>转义为<code><nowiki>&amp;amp;</nowiki></code>,并在<code>&</code>后插入<code><nowiki>-{}-</nowiki></code>破坏。
| 特殊符号 || {{code|&-{}-amp;copy;}} || <code><nowiki>&-{}-amp;copy;</nowiki></code> || 将<code>&</code>转义为<code><nowiki>&amp;amp;</nowiki></code>,并在<code>&</code>后插入<code><nowiki>-{}-</nowiki></code>破坏。
|-
|-
| 内部链接和跨维基链接 || [[LLWiki:首页|首页]] || {{code|<nowiki>[-{}-[LLWiki:首页|首页]]</nowiki>}} || {{code|<nowiki>[--{}-{}-[LLWiki:首页|首页]]</nowiki>}} || rowspan=3 | 在左侧的<code>[[</code>中间插入<code><nowiki>-{}-</nowiki></code>破坏。
| 内部链接和跨维基链接 || {{code|<nowiki>[-{}-[首页]]</nowiki>}} || {{code|<nowiki>[--{}-{}-[首页]]</nowiki>}} || rowspan=3 | 在左侧的<code>[[</code>中间插入<code><nowiki>-{}-</nowiki></code>破坏。
|-
|-
| 插入图片 || [[File:Bg1.png|60px]] || <span style="white-space:nowrap">{{code|<nowiki>[-{}-[File:Bg1.png|60px]]</nowiki>}}</span> || {{code|<nowiki>[--{}-{}-[File:Bg1.png|60px]]</nowiki>}}
| 插入图片 || <span style="white-space:nowrap">{{code|<nowiki>[-{}-[File:Bg1.png]]</nowiki>}}</span> || {{code|<nowiki>[--{}-{}-[File:Bg1.png]]</nowiki>}}
|-
|-
| 分类 || {{n/a|3=}} || {{code|[-{}-[Category:文件]]}} || {{code|[--{}-{}-[Category:文件]]}}
| 分类 || {{code|[-{}-[Category:文件]]}} || {{code|[--{}-{}-[Category:文件]]}}
|-
|-
| 外部链接 || [//llwiki.org 首页] || {{code|[-{}-//llwiki.org 首页]}} || {{code|[--{}-{}-//llwiki.org 首页]}} || 在协议之后(如果有的话)<code>//</code>之前插入<code><nowiki>-{}-</nowiki></code>破坏。
| 外部链接 || {{code|[-{}-//llwiki.org 首页]}} || {{code|[--{}-{}-//llwiki.org 首页]}} || 在协议之后(如果有的话)<code>//</code>之前插入<code><nowiki>-{}-</nowiki></code>破坏。
|-
|-
| 繁简转换 || -{zh-hans:繁體;zh-hant:简体}- || {{code|--{}-{zh-hans:-{繁體}-;<br>zh-hant:-{简体}-}-}} || {{code|<nowiki>---{}-{}--{}-{zh-hans:--{}-{-{繁體}-}-;<br>zh-hant:--{}-{-{简体}-}-}-</nowiki>}} || 在左侧的<code><nowiki>-{</nowiki></code>中插入<code><nowiki>-{}-</nowiki></code>破坏。
| 繁简转换 || {{code|--{}-{zh-hans:-{繁體}-;<br>zh-hant:-{简体}-}-}} || {{code|<nowiki>---{}-{}--{}-{zh-hans:--{}-{-{繁體}-}-;<br>zh-hant:--{}-{-{简体}-}-}-</nowiki>}} || 在左侧的<code><nowiki>-{</nowiki></code>中插入<code><nowiki>-{}-</nowiki></code>破坏。
|-
|-
| 防转换 || {{lj|東京}} ||
| 防转换 ||
{{code|<nowiki>{{lj|-{東京}-}}</nowiki>}}
{{code|<nowiki>-{東京}-</nowiki>}}
|
|
{{code|<nowiki>{{lj|--{}-{-{東京}-}-}}</nowiki>}}
{{code|<nowiki>--{}-{-{東京}-}-</nowiki>}}
| 有时本不应转换的内容(如日语)需要手动添加<code><nowiki>-{}-</nowiki></code>防转换。注意上例中也使用了这一技巧。
| 有时本不应转换的内容(如日语)需要手动添加<code><nowiki>-{}-</nowiki></code>防转换。注意上例中也使用了这一技巧。
|-
|-
| 表格 ||
| 表格 || <pre>-{}-
{|class="wikitable"
{|class="wikitable"
! 列标题
! 列标题
第116行: 第105行:
| 内容
| 内容
|}
|}
</pre>
| {{pre|<nowiki>
| <pre>-{}-
-{}-{|class="wikitable"
-&#123;}-&#123;|class="wikitable"
-{}-! 列标题
-&#123;}-! 列标题
-{}-|-
-{}-| 内容
-&#123;}-|-
-{}-|}
-&#123;}-| 内容
-&#123;}-|}
</nowiki>}}
</pre>
| {{pre|<nowiki>
--{}-{}--{}-{|class="wikitable"
--{}-{}-! 列标题
--{}-{}-|-
--{}-{}-| 内容
--{}-{}-|}
</nowiki>}}
| 稳妥起见,可以在每一行的开头都插入<code><nowiki>-{}-</nowiki></code>破坏。
| 稳妥起见,可以在每一行的开头都插入<code><nowiki>-{}-</nowiki></code>破坏。
|}

最后通过两组示例来展示使用{{tl|pre}}、{{tl|code}}模板或不使用模板时如何实现繁简转换,实际上方法并不唯一。
{| class="wikitable"
! HTML标签 !! Wikitext !! 不使用模板 !! 使用模板
|-
| pre || <pre>-{}-
{| class="wikitable"
! 內容
|-
|
;定義
:縮進
小節

小節
|}
</pre>
| <pre>-{}-
<pre>-&#123;}-
{| class="wikitable"
! 内容
|-
|
;定义
:缩进
小节

小节
|}&lt;/pre>
</pre>
| <pre>-{}-
{{pre|&lt;nowiki>
-&#123;}-&#123;| class="wikitable"
-&#123;}-! 內容
-&#123;}-|-
-&#123;}-|
-&#123;}-;定義
-&#123;}-:縮進
小節<br>
小節
-&#123;}-|}
&lt;/nowiki>}}
</pre>
|-
| code ||
{{code|<nowiki>{{pre|'-{}-'[-{}-[首頁]]'-{}-'<-{}-sup>&-{}-amp;copy;<-{}-/sup>}}</nowiki>}}
| <pre>-{}-
<code lang="mw">&amp;#123;{pre|&amp;apos;'[--{}-{}-[首頁]]{{ce|''<sup>&amp;amp;copy;</sup>}}}}</code>
</pre>
| <pre>-{}-
{{code|&lt;nowiki>{{pre|'-&#123;}-'[-&#123;}-[首頁]]'-&#123;}-'<-&#123;}-sup>&-&#123;}-amp;copy;<-&#123;}-/sup>}}</nowiki>}}
</pre>
|}
|}


第139行: 第175行:
:*[[:Category:辅助模板|辅助模板]]:这些模板用于辅助Wikitext的书写,如用{{tl|1==}}代替<code>=</code>等。
:*[[:Category:辅助模板|辅助模板]]:这些模板用于辅助Wikitext的书写,如用{{tl|1==}}代替<code>=</code>等。
:*[[:Category:授权协议|授权协议]]:这些模板用于标注LLWiki存储的[[:Category:文件|文件]]的授权协议,如{{tl|Copyright}}等。
:*[[:Category:授权协议|授权协议]]:这些模板用于标注LLWiki存储的[[:Category:文件|文件]]的授权协议,如{{tl|Copyright}}等。
:*[[:Category:用户模板|用户模板]]:这些模板用于用户页面的自我展示,不可用于主空间,如{{tl|User infobox}}和各类[[:Category:AS称号|AS称号]]。
:*[[:Category:用户模板|用户模板]]:这些模板用于用户页面的自我展示,不可用于主空间,如{{tl|用户信息}}和各类[[:Category:LoveLive!学园偶像祭ALL STARS称号用户框|AS称号]]。
:*[[:Category:信息框模板|信息框模板]]:除{{tl|User infobox}}以外所有使用<code>infoboxtemplate</code>类的表格写成的模板,置于页面最上方,如{{tl|角色信息}}。
:*[[:Category:信息框模板|信息框模板]]:所有使用<code>infoboxtemplate</code>类的表格写成的模板,置于页面最上方,如{{tl|角色信息}}。
:*[[:Category:元模板|元模板]]:这些模板仅用于构建其他模板,由滥用过滤器禁止在模板空间以外使用,如{{tl|ArticleCategory}}。
:*[[:Category:元模板|元模板]]:这些模板仅用于构建其他模板,由滥用过滤器禁止在模板空间以外使用,如{{tl|ArticleCategory}}。
:*[[:Category:讨论模板|讨论模板]]:这些模板用于讨论页,如{{tl|编辑请求}}和{{tl|Unsigned}}。
:*[[:Category:讨论模板|讨论模板]]:这些模板用于讨论页,如{{tl|编辑请求}}和{{tl|Unsigned}}。
第147行: 第183行:
;以下分类的优先级较低,仅在不满足前述分类的情形下考虑。
;以下分类的优先级较低,仅在不满足前述分类的情形下考虑。
:*[[:Category:内部链接模板|内部链接模板]]:这些模板用于生成内部链接,如各种[[:Category:消歧义模板|消歧义模板]]和{{tl|Tl}}。
:*[[:Category:内部链接模板|内部链接模板]]:这些模板用于生成内部链接,如各种[[:Category:消歧义模板|消歧义模板]]和{{tl|Tl}}。
:*[[:Category:外部链接模板|外部链接模板]]:这些模板用于生成外部链接,如{{tl|plain link}}和{{tl|Bili-link}}。
:*[[:Category:外部链接模板|外部链接模板]]:这些模板用于生成外部链接,如{{tl|plainlinks}}和{{tl|Bili-link}}。
:*[[:Category:语言模板|语言模板]]:这些模板用于标注语言属性,如{{tl|Lang}}和{{tl|Ruby}}。
:*[[:Category:语言模板|语言模板]]:这些模板用于标注语言属性,如{{tl|Lang}}和{{tl|Ruby}}。
:*[[:Category:提示模板|提示模板]]:这些模板用于生成各类提示信息,如各种[[:Category:Info模板|Info模板]]和{{tl|BK}}。
:*[[:Category:提示模板|提示模板]]:这些模板用于生成各类提示信息,如各种[[:Category:Info模板|Info模板]]和{{tl|BK}}。
第159行: 第195行:


==代码==
==代码==
===有使用次数上限的解析器函数===
部分解析器函数在同一个页面内有使用次数限制,如<code>#loop</code>和<code>#regex</code>。如果一个模板需要反复调用这些解析器函数,或是一个用到这些解析器函数的模板可能会在同一个页面内反复引用,此时应当将模板改写为Lua模块。

===代码展示===
LLWiki在模板页面直接展示模板代码,且可以通过[[mw:extension:CodeMirror/zh|CodeMirror扩展]](需要开启“高亮模板代码”小工具)进行语法高亮,方便用户查阅。为了防止在模板引用时错误地嵌入<code>&lt;pre&gt;</code>标签,在模板实际代码之前添加<pre><includeonly><!--</includeonly><pre class="wiki-highlight">--></pre>在代码之后添加<pre><!--&lt;/pre&gt;<includeonly>--></includeonly></pre>
但需要注意的是,<code>&lt;pre&gt;</code>标签内的<code><nowiki>-{}-</nowiki></code>和<code>&lt;nowiki&gt;</code>仍会被执行,可能造成看到的代码和实际代码不符。如果遇到这种情况,应当考虑首先将代码中的<code>&lt;nowiki&gt;</code>全部改写为等效的形式(如<code><nowiki>-{}-</nowiki></code>、<code>&lt;nowiki/&gt;</code>和{{tl|ce}}等),然后将外层的<code>&lt;pre class="wiki-highlight"&gt; + &lt;/pre&gt;</code>更换为<code>&lt;code class="wiki-highlight"&gt;&lt;nowiki&gt; + &lt;/nowiki&gt;&lt;/code&gt;</code>。

==结语==
为方便模板页面遵照既定格式编写,LLWiki在快速编辑工具中添加了模板页面的格式框架,请参考本指引和预加载的框架填入模板文档、分类和代码这三项主要内容。如有进一步的疑问或遇到技术困难,欢迎随时在[[Help:互助客棧]]提问,将会有管理员或是其他有经验的用户提供帮助和解答。也欢迎各位用户点击站内公告的链接加入[https://qm.qq.com/cgi-bin/qm/qr?k=w-qzkbXgke0xFvVzm6nuLSYK5TcOULms&authKey=FF5A/wvlhw6+kcjSfaczJPsvr70+pf4ZPfX6aSwNtQFpXFfBDThrOx2bWGi7wFJr&noverify=0 官方编辑群],在群内实时提问交流。
[[category:LLWiki指引]]
[[category:LLWiki指引]]

於 2021年8月13日 (五) 04:32 的最新修訂

提示:本頁面的主題不是幫助:模板

本指引描述LLWiki的模板頁面普遍遵循的格式。

LLWiki的模板(Template)頁面一般分為三個組成部分,依次為(1)模板文檔、(2)以分類為主的其他不可見的<noinclude>內容和(3)模板代碼。前兩項總是包裹在<noinclude>標籤內,模板引用時會被忽略。

文檔

模板文檔總是通過{{Documentation}}呈現。簡短的文檔可以使用{{Documentation}}的content參數直接書寫在當前頁面內,較長的文檔則應單獨置於模板文檔頁。模板文檔頁的頁面名稱應為「模板頁面名稱 + /doc」,如Template:Lyrics的文檔頁位於Template:Lyrics/doc。多個模板共用同一個文檔頁時,頁面名稱不對應的模板頁需使用{{Documentation}}的1參數(可以使用匿名寫法)。Template:Documentation頁面給出了幾個簡單的用法示例。

以下是一個模板文檔頁({{doc|Template:AS song/doc}})的實際例子。

Template-info.png 文檔
這個文檔嵌入Template:AS song/doc
本頁使用了標題或全文手工轉換

此模板用於列出LoveLive!學園偶像祭ALL STARS中的歌曲資訊。

若模板下的文字的排版走了樣,請在本模板下方加上{{clear|left}}

使用時若沒有對應難度請直接刪去對應行。

參數

{{AS song
|歌名=
|Image=
|属性=
|初级LIVE力=
|初级体力=
|初级S分数=
|中级LIVE力=
|中级体力=
|中级S分数=
|上级LIVE力=
|上级体力=
|上级S分数=
|上级+属性=
|上级+LIVE力=
|上级+体力=
|上级+S分数=
|Challenge属性=
|Challenge LIVE力=
|Challenge体力=
|Challenge S分数=
|配信时间=
}}

示例

Love U my friends.png
建議 LIVE力 體力 S等級分數
Attrib-Smile.png 初級 3200 24300 700000
Attrib-Smile.png 中級 6700 51300 2205000
Attrib-Smile.png 上級 12000 90000 7874000
Attrib-Smile.png 上級+ 19000 144000 29280000
Attrib-Natural.png Challenge 22000 171000 48000000
配信時間:
開服(1章Stage1)
{{AS song
|歌名=Love U my friends
|Image=Love U my friends.png
|屬性=smile
|初級LIVE力=3200
|初級體力=24300
|初級S分數=700000
|中級LIVE力=6700
|中級體力=51300
|中級S分數=2205000
|上級LIVE力=12000
|上級體力=90000
|上級S分數=7874000
|上級+屬性=smile
|上級+LIVE力=19000
|上級+體力=144000
|上級+S分數=2928000
|Challenge屬性=natural
|Challenge LIVE力=22000
|Challeng體力=171000
|Challenge S分數=48000000
|配信時間=開服(1章Stage1)
}}{{clear|left}}
Fantastic Departure!.png
建議 LIVE力 體力 S等級分數
Attrib-Elegant.png 初級 1450 10800 371000
Attrib-Elegant.png 中級 3650 27900 1309000
Attrib-Elegant.png 上級 6700 51300 4280000
- 上級+ - - -
- Challenge - - -
配信時間:
2020年07月22日15:00至今
{{AS song
|歌名=Fantastic Departure!
|Image=Fantastic Departure!.png
|屬性=elegant
|上級+屬性=
|初級LIVE力=1450
|初級體力=10800
|初級S分數=371000
|中級LIVE力=3650
|中級體力=27900
|中級S分數=1309000
|上級LIVE力=6700
|上級體力=51300
|上級S分數=4280000
|配信時間=2020年{{0}}7月22日15:00至今
}}

模板文檔通常包含以下全部內容:(1)用途描述、(2)參數列表和說明,以及(3)各種用法示例。必要的時候還需要添加特別注意事項。以上這些要素在上面的實際例子中都可以找到。如果模板引用自其他版權協議兼容的網站,還需要在外部連結章節中使用{{CCnotice}}模板說明。

繁簡轉換

由於LLWiki處理模板文檔繁簡轉換的方式特殊,這裡單獨列為一個章節。

模板文檔繁簡轉換的需求來自於兩個方面,其一是模板使用的中文參數都需配備簡體和繁體兩個互為替代的等效參數(詳見#代碼章節),其二是在說明參數或是展示示例時用到的中文表達。一般情況下MediaWiki會對中文自動進行繁簡轉換,但使用<code><pre>標籤(或行首空格)時,內部文本通常不會執行繁簡轉換。如果需要讓標籤內的文本實現繁簡轉換,可以在開頭添加-{}-,如<pre>-{}-內容</pre><code>標籤內的文本繁簡轉換還可以通過給標籤加上任意的語言屬性來實現,如<code lang="mw">字體</code>,但注意這隻適用於<code>標籤內沒有額外套<nowiki>的情形。

除了上述方法外,LLWiki還設立了{{code}}和{{pre}}兩個模板作為對應的HTML標籤的代用品,模板的參數仍會自動執行繁簡轉換。這兩個模板都只有一個匿名參數,且參數一般需要使用<nowiki>標籤包裹。

{{code}}和{{pre}}模板和對應的HTML標籤有一個極大的區別,模板參數中的Wikitext仍舊會被執行,而且即使使用轉義的字符實體也往往無效(特例見附表)。例如:

{{code|<nowiki>&lt;span style="font-style:italic"&gt;&#39;&#39;&#39;{{color|red|文本}}&#39;&#39;&#39;&lt;/span&gt;</nowiki>}}

的效果為{{color|red|文本}}。注意與此同時被<nowiki>標籤包裹的模板仍舊不會被展開。為了解決這一問題,一般需要在Wikitext語法的內部插入-{}-進行破壞。下表給出了常用Wikitext作為{{code}}和{{pre}}模板的參數時的對應寫法。

描述 Wikitext {{code}}和{{pre}}的模板參數 說明
狀態開關 __TOC__ _-{}-_TOC__ 在任意位置插入-{}-破壞。
斜體文本 ''斜體'' &apos;'斜體'&apos;
'-{}-'斜體'-{}-'
使用字符實體&apos;或用-{}-'分隔開,注意不要出現任意連續的兩個'。這裡&apos;不能使用&#39;替代。
粗體文本 '''粗體''' '&apos;'粗體'&apos;'
'-{}-'-{}-'粗體'-{}-'-{}-'
粗斜體文本 '''''粗斜體''''' '&apos;'&apos;'粗斜體'&apos;'&apos;'
'-{}-'-{}-'-{}-'-{}-'粗斜體'-{}-'-{}-'-{}-'-{}-'
章節標題
====4級標題====
-{}-====4級標題==== 只有位於行首時才生效,此種情況下在開頭加上一個-{}-即可。
分割線
----
-{}-----
無序列表
*無序列表
-{}-*無序列表
有序列表
#有序列表
-{}-#有序列表
定義
;定義
-{}-;定義
縮進文本
:縮進
-{}-:縮進
預格式化文本(行首空格)
 預格式化
-{}- 預格式化
&nbsp;預格式化
段落
第一段

第二段
第一段<br>
第二段
其中一次換行需使用<br>標籤代替。
HTML標記 例如<!-- --> <!-{}--- -->
&amp;lt;!-- --&amp;gt;
在左半部分標記中插入-{}-破壞。
特殊符號 &copy; &-{}-amp;copy; &轉義為&amp;,並在&後插入-{}-破壞。
內部連結和跨維基連結 [[首頁]] [-{}-[首頁]] 在左側的[[中間插入-{}-破壞。
插入圖片 [[File:Bg1.png]] [-{}-[File:Bg1.png]]
分類 [[Category:文件]] [-{}-[Category:文件]]
外部連結 [//llwiki.org 首頁] [-{}-//llwiki.org 首頁] 在協議之後(如果有的話)//之前插入-{}-破壞。
繁簡轉換 -{zh-hans:繁體;
zh-hant:简体}-
--{}-{zh-hans:-{繁體}-;
zh-hant:-{简体}-}-
在左側的-{中插入-{}-破壞。
防轉換

東京

-{東京}-

有時本不應轉換的內容(如日語)需要手動添加-{}-防轉換。注意上例中也使用了這一技巧。
表格
{|class="wikitable"
! 列標題
|-
| 內容
|}
-{}-{|class="wikitable"
-{}-! 列標題
-{}-|-
-{}-| 內容
-{}-|}
穩妥起見,可以在每一行的開頭都插入-{}-破壞。

最後通過兩組示例來展示使用{{pre}}、{{code}}模板或不使用模板時如何實現繁簡轉換,實際上方法並不唯一。

HTML標籤 Wikitext 不使用模板 使用模板
pre
{| class="wikitable"
! 內容
|-
|
;定義
:縮進
小節

小節
|}
<pre>-{}-
{| class="wikitable"
! 內容
|-
|
;定義
:縮進
小節

小節
|}</pre>
{{pre|<nowiki>
-{}-{| class="wikitable"
-{}-! 內容
-{}-|-
-{}-|
-{}-;定義
-{}-:縮進
小節<br>
小節
-{}-|}
</nowiki>}}
code

{{pre|''[[首頁]]''<sup>&copy;</sup>}}

<code lang="mw">&#123;{pre|&apos;'[-{}-[首頁]]{{ce|''<sup>&amp;copy;</sup>}}}}</code>
{{code|<nowiki>{{pre|'-{}-'[-{}-[首頁]]'-{}-'<-{}-sup>&-{}-amp;copy;<-{}-/sup>}}</nowiki>}}

分類

按功能分類

所有模板都一定有至少一個(一般也只有一個)功能分類。LLWiki現共有以下14種功能分類:

以下分類的優先級較高。
以下分類的優先級較低,僅在不滿足前述分類的情形下考慮。

這些分類往往還會進一步細分,請根據已有分類體系和類似模板添加到合適的分類級別。

特殊分類

LLWiki現共有2種特殊分類,分別為使用Widget的模板需要替換引用的模板

代碼

有使用次數上限的解析器函數

部分解析器函數在同一個頁面內有使用次數限制,如#loop#regex。如果一個模板需要反覆調用這些解析器函數,或是一個用到這些解析器函數的模板可能會在同一個頁面內反覆引用,此時應當將模板改寫為Lua模塊。

代碼展示

LLWiki在模板頁面直接展示模板代碼,且可以通過CodeMirror擴展(需要開啟「高亮模板代碼」小工具)進行語法高亮,方便用戶查閱。為了防止在模板引用時錯誤地嵌入<pre>標籤,在模板實際代碼之前添加

<includeonly><!--</includeonly><pre class="wiki-highlight">-->

在代碼之後添加

<!--</pre><includeonly>--></includeonly>

但需要注意的是,<pre>標籤內的-{}-<nowiki>仍會被執行,可能造成看到的代碼和實際代碼不符。如果遇到這種情況,應當考慮首先將代碼中的<nowiki>全部改寫為等效的形式(如-{}-<nowiki/>和{{ce}}等),然後將外層的<pre class="wiki-highlight"> + </pre>更換為<code class="wiki-highlight"><nowiki> + </nowiki></code>

結語

為方便模板頁面遵照既定格式編寫,LLWiki在快速編輯工具中添加了模板頁面的格式框架,請參考本指引和預加載的框架填入模板文檔、分類和代碼這三項主要內容。如有進一步的疑問或遇到技術困難,歡迎隨時在Help:互助客棧提問,將會有管理員或是其他有經驗的用戶提供幫助和解答。也歡迎各位用戶點擊站內公告的連結加入官方編輯群,在群內實時提問交流。