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

模板: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:辅助模板}}

效果: