模板:Softsubst/doc

維基百科,自由的百科全書

页面[[:Module:Message box/mbox.css|Module:Message box/mbox.css]]没有内容。

(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
跳至導覽 跳至搜尋

頁面Module:Message box/mbox.css沒有內容。

軟替換引用(Softsubst)是常規或「硬」替換引用的替代,其不會真的將對應模板替換引用,但會引導編者進行替換引用。常規替換引用軟替換引用的關聯或差異就好比常規重新導向軟重新導向間的差異,同為因技術限制等原因無法達成效果但提供了提示供編者或讀者達成目標。

概要[編輯]

本模板是設計能使一些不能被提換引用的模板提供一個替換引用的方案。其效果與直接使用模板接近,但預覽時會顯示一個提示框告知編者替換引用後的結果原始碼。

softsubst與safesubst類似,條目儲存編輯在無法替換引用的情況下會有與普通使用模板相同的行為。此外,此用法不同於{{#tag:nowiki}}{{#tag:pre}},透過這些擴展標籤雖然也能有類似效果,但在擴展標籤之下的原始碼不能用,softsubst則有提示文字題是編者應該檢查校正;而{{#tag:source}}產生帶代碼偶爾會有多餘的換行字元,而此模板沒有此問題。

另外一個類似的工具為Special:展開模板,然而其無法測試位於頁面局部的特殊環境狀態(如{{變數}}或特殊的多層參數傳遞甚至是特殊環境測試需求),而本模板可以克服此問題。

使用方法[編輯]

若一個模板是無法替換引用的模板,如{{ilh}},想嘗試替換引用如下代碼:

{{ilh|測試的內容|context for test|lang={{lan|zh-hant=英語|zh-hans=英语}} |lang-code=en}}
→「package.lua第80行Lua錯誤:module 'Module:Ilh/data' not found

直接替換引用會變為:

{{subst:ilh|測試的內容|context for test|lang={{lan|zh-hant=英語|zh-hans=英语}} |lang-code=en}}
→「package.lua第80行Lua錯誤:module 'Module:Ilh/data' not found」(效果異常)

使用Softsubst則為:

{{softsubst|ilh|測試的內容|context for test|lang={{lan|zh-hant=英語|zh-hans=英语}} |lang-code=en}}
→「package.lua第80行Lua錯誤:module 'Module:EncoderUtil/yaml' not found」(非預覽模式下模板行為接近一般模板)

使用Softsubst在預覽模式下會出現以下提示:

package.lua第80行Lua錯誤:module 'Module:EncoderUtil/yaml' not found

這些原始碼的渲染效果:

→「測試的內容英語context for test

參見[編輯]