本模块/模板提供了在几乎任何地方解析几乎所有的Wiki文本的可能。
[[模块:Eval]]与[[模板:Eval]]的使用格式基本一致,不过有部分参数按照编辑者的使用习惯进行了各自不同的优化。
下面格式中Eval
指:
#invoke:Eval
;Eval
。Template:
名字空间前缀;参数名称 = Wiki文本
或Wiki文本
;【参数名称】=
)时,参数值可以书写多个要展开的模板的参数文本,如【模板参数1】{{!}}【模板参数2】{{!}}…
。nowiki
标签套住希望保持原样的Wiki文本,例如<nowiki>|</nowiki>
和{{!}}
是相同的,但不同于<nowiki>{{!}}</nowiki>
。Template:Eval
;
wikitext
(纯文本)时,本模块/模板才会工作。否则将不会嵌入内容模型为CSS
、JSON
、JavaScript
、Scribunto
(Lua)等的页面。在上述格式中,Wiki文本中的nowiki
标签都将被剥离,因此有必要规定一种格式用于不得不在Wiki文本中使用nowiki
标签的情况。
$NOWIKI_S
:转义<nowiki>
;$NOWIKI_E
:转义</nowiki>
;$$
:转义$
。生效范围仅限于紧跟在$NOWIKI_S
和$NOWIKI_E
前方的连续的$
构成的字符串,其他地方将不会进行转义;$$
→$
的转义,若破坏了$NOWIKI_S
和$NOWIKI_E
的结构,那么后两者将会输出NOWIKI_S
和NOWIKI_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|标题=标题|内容=内容}}
效果:
#{{#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>}}
效果:
{{Eval|page|Template:辅助模板}}
效果:
|