置顶公告:【置顶】关于临时开启评论区所有功能的公告(2022.10.22) | 【置顶】关于本站Widget恢复使用的公告
  • 你好~!欢迎来到萌娘百科镜像站!如需查看或编辑,请联系本站管理员注册账号。
  • 本镜像站和其他萌娘百科的镜像站无关,请注意分别。

模板:Eval

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

本模块/模板提供了在几乎任何地方解析几乎所有的Wiki文本的可能。

使用

[[模块:Eval]]与[[模板:Eval]]的使用格式基本一致,不过有部分参数按照编辑者的使用习惯进行了各自不同的优化。

下面格式中Eval指:

  • 使用模块时书写#invoke:Eval
  • 使用模板时书写Eval

展开模板

{{ Eval | template | 模板名称 | 参数列表... }}
参数
  • 模板名称:要展开的模板的名称,不需要添加Template:名字空间前缀;
  • 参数列表:模板的所有参数。格式为:
    • 参数名称 = Wiki文本Wiki文本
    • 参数名称为数字(或者不显示书写【参数名称】=)时,参数值可以书写多个要展开的模板的参数文本,如【模板参数1】{{!}}【模板参数2】{{!}}…
      最终这些名称为数字的参数会按照顺序连接,成为要展开的模板的匿名参数列表;
    • 参数名称不为数字时,将等同于书写要展开的模板的同名参数。这些参数将会被连接在匿名参数列表之后。

解析Wiki文本

{{ Eval | wikitext | Wiki文本 }}
参数
  • Wiki文本:任何Wiki文本都可以写入;
    • 使用nowiki标签套住希望保持原样的Wiki文本,例如<nowiki>|</nowiki>{{!}}是相同的,但不同于<nowiki>{{!}}</nowiki>

嵌入页面

{{ Eval | page | 页面的完整标题 }}
参数
  • 页面的完整标题:要嵌入的页面的带名字空间的标题。例如,本页面的完整标题为Template:Eval
    • 需要注意的是,仅当这个页面的内容模型为wikitext(纯文本)时,本模块/模板才会工作。否则将不会嵌入内容模型为CSSJSONJavaScriptScribunto(Lua)等的页面。

nowiki标签的转义

在上述格式中,Wiki文本中的nowiki标签都将被剥离,因此有必要规定一种格式用于不得不在Wiki文本中使用nowiki标签的情况。

格式
  • $NOWIKI_S:转义<nowiki>
  • $NOWIKI_E:转义</nowiki>
  • $$:转义$。生效范围仅限于紧跟在$NOWIKI_S$NOWIKI_E前方的连续的$构成的字符串,其他地方将不会进行转义;
  • 优先进行$$$的转义,若破坏了$NOWIKI_S$NOWIKI_E的结构,那么后两者将会输出NOWIKI_SNOWIKI_E
    • $$$$NOWIKI_S$$NOWIKI_S
    • $$$$$NOWIKI_E$$</nowiki>

示例

展开模板
{{#invoke:Eval|template|Ruby|<nowiki>1={{pgref|模块|Eval}}|2=<code>$NOWIKI_S{{pgref|模块|Eval}}$NOWIKI_E</code></nowiki>}}

{{Eval|template|Ruby|{<nowiki>{tl|Eval}</nowiki>}|<code>$NOWIKI_S<nowiki>{{tl|Eval}}$NOWIKI_E</nowiki></code>}}

{{Eval|template|Hide|标题=标题|内容=内容}}

效果:

[[模块:Eval]]{{pgref|模块|Eval}}

{{Eval}}{{tl|Eval}}

标题

内容

解析Wiki文本
#{{#invoke:Eval|wikitext|<nowiki>{{</nowiki>tl<nowiki>|</nowiki>Eval<nowiki>}}</nowiki>}}
#{{#invoke:Eval|wikitext|<nowiki>{{</nowiki>tl{{!}}Eval<nowiki>}}</nowiki>}}
#{{Eval|wikitext|<nowiki>{{</nowiki>tl<nowiki>|</nowiki>Eval<nowiki>}}</nowiki>}}
#{{Eval|wikitext|<nowiki>{{</nowiki>tl{{!}}Eval<nowiki>}}</nowiki>}}
#{{Eval|wikitext|<nowiki>这里有一个Ruby→{{Ruby|下方文字|上方文字}}←。</nowiki>}}

效果:

  1. {{Eval}}
  2. {{Eval}}
  3. {{Eval}}
  4. {{Eval}}
  5. 这里有一个Ruby→下方文字上方文字←。
嵌入页面
{{Eval|page|Template:辅助模板}}

效果: