• 欢迎来到THBWiki!如果您是第一次来到这里,请点击右上角注册一个帐户
  • 有任何意见、建议、求助、反馈都可以在 讨论板 提出
  • THBWiki以专业性和准确性为目标,如果你发现了任何确定的错误或疏漏,可在登录后直接进行改正

模板:code/doc

Da THBWiki.
Jump to navigation Jump to search

作用

普通的 <code> 标签不会让其中的 Wiki 或者 HTML 语法失效:

<code>'''粗体''' {{color:red|红色}} [[沙盒]] {{fact|内容|出处}} {{#expr:1+1}}</code> <code><s>删除线</s> <big>大号文字</big> <span style="background: black; color: white">黑底白字</span></code>

粗体 红色 沙盒 内容[出处] 2

删除线 大号文字 黑底白字

所以需要使用 <code><nowiki>...</nowiki></code> 的组合.

而本模板自带很大程度上的 <nowiki> 效果:

{{code| '''粗体''' {{color:red|红色}} [[沙盒]] {{fact|内容|出处}} {{#expr:1+1}} }} {{code|1= <s>删除线</s> <big>大号文字</big> <span style="background: black; color: white">黑底白字</span> }}

'''粗体''' {{color:red|红色}} [[沙盒]] {{fact|内容|出处}} {{#expr:1+1}}

<s>删除线</s> <big>大号文字</big> <span style="background: black; color: white">黑底白字</span>

但是两者效果并不完全相同.如果内容含有 Wiki 标签或者 <pre>,因为这些标签的解析顺序在模板和函数之前,所以不能保持形式.
可以通过把其中的 < 换成 &lt; 来解决,例如:

{{code|&lt;poem>&lt;/poem>}}  →  <poem></poem>

另外因为是模板,内部如果含有孤立的 |,会被理解为 code 模板的参数分隔符,需要换成 &#124;;
如果含有 =,也会被理解为模板的传参,需要换成 &#61;.或者像上面例子里的做法一样,使用 {{code|1=...}}.

其他参数说明

展示 Wiki 代码运算结果

传入第二个参数可以同时展示运算结果,例如使用 {{code|{{#expr:1+1}}|1}} 可以得到

{{#expr:1+1}}  →  2

填 2 可以去掉结果的 code 标签,例如使用 {{code|{{fact|内容|出处}}|2}} 可以得到

{{fact|内容|出处}}  →  内容[出处]

也可以填 nw 在 1 的基础上加上 <nowiki> 效果,例如使用 {{code|{{fact|内容|出处}}|nw}} 可以得到

{{fact|内容|出处}}  →  <span class="noprint bg-color-info-10 bg-color-info-30-hover" title="出自出处">内容</span><sup class="noprint Template-Fact"><span style="white-space: nowrap;" title="来源">[出处]</span></sup>

填 3 可以展示多行结果,并自带 <nowiki> 效果,例如使用 {{code|{{#arraymap:1,2,3|,|@|[[@]]|\n}}|3}} 可以得到

{{#arraymap:1,2,3|,|@|[[@]]|\n}}
↓
[[1]]
[[2]]
[[3]]

填 4 可以在下一行直接展示结果,例如使用 {{code|{{Hide|标题=标题|内容=内容}}|4}} 可以得到

{{Hide|标题=标题|内容=内容}}
↓
标题
内容

需要注意如果内容含有 Wiki 标签,则类型 nw 和 3 的 <nowiki> 效果可能失效,因为扩展标签会生成 Strip marker.
另外,当代码是多行时无法用 <code> 展示,此时如果想要展示运算结果的功能,可以使用 模板:代码演示.

指定语法高亮语言

使用 lang 参数可以指定语法高亮的语言,例如

{{code|1= [i ** 2 for i in range(10) if i % 2 == 1]|lang=python}}  →  [i ** 2 for i in range(10) if i % 2 == 1]