模板:Pre
跳到导航
跳到搜索
{{{1}}}
本模板使用了pre
标签的相关特性,允许将其内部的文本显示为一个代码框,并借助MediaWiki的内建样式支持语法高亮。
用法
预览框
{{pre|【要预览的文本】}}
- 预览框的嵌套
与pre
标签相同,预览文本中的大部分wiki代码将会被原封不动地显示出来,行内的空格和换行将会被保留,但文本内的pre
标签会被处理成嵌套其中的预览框。
如下:
【要预览的文本】
上方所示的wiki代码为:
{{pre|{{pre|【要预览的文本】}}}}
- 与
pre
标签混合使用
- 与
使用本模板等同于使用pre
标签,因此可以混合使用。
代码框
{{pre|lang=【语言代号】|【要预览的代码】}}
或
{{pre|lang=【语言代号】|code=【要预览的代码】}}
例:
{{pre|lang=lua|code= local i = 0 function module.main( frame ) if i == 0 then return "yes" end end }}
效果如下:
local i = 0 function module.main( frame ) if i == 0 then return "yes" end end
技术细节
本模板等同于:
<pre class="prettyprint linenums lang-【语言代号】">【要预览的代码】</pre>
支持的语言代号
css
js
或javascript
lua
wiki
:虽然可以显示语法高亮,但完全不正确。py
cpp
c
已知问题
- 代码首尾的空格、换行无法保留
可以参考#技术细节中的说明将本模板改写成pre
标签。
- 为什么显示的内容永远都是
{{{1}}}
?
- 为什么显示的内容永远都是
请添加code=
指定参数名称即可解决。原因是代码中含有=
,与为模板参数赋值的=
产生歧义。
|