2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

Template:Pre

萌娘百科,万物皆可萌的百科全书!转载请标注来源页面的网页链接,并声明引自萌娘百科。内容不可商用。
跳转到导航 跳转到搜索
{{{1}}}
Template-info.svg 模板文档  [查看] [编辑] [历史] [刷新]

本模板使用了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
  • jsjavascript
  • lua
  • wiki:虽然可以显示语法高亮,但完全不正确。
  • py
  • cpp
  • c

已知问题

  • 代码首尾的空格、换行无法保留

可以参考#技术细节中的说明将本模板改写成pre标签。

  • 为什么显示的内容永远都是{{{1}}}

请添加code=指定参数名称即可解决。原因是代码中含有=,与为模板参数赋值的=产生歧义。