2023年政策修订增补工作正在进行中,欢迎参与!
模板:SpecialWikitext
跳至導覽
跳至搜尋
本模板之全部或部分原來自中文維基百科的Template:Special_wikitext,依 CC BY-SA 3.0 授權引入;原貢獻者可以在這裡看到。 |
本模板主要目的是在不支持顯示標記模板或界面文字之特殊頁面中補上標記模板或界面文字,以令標記維護模板或提刪流程得以順利進行。
本模板為Module:SpecialWikitext、Module:ModuleWikitext和MediaWiki:Gadget-SpecialWikitext.js的模板調用。
本模板詳細參考案例見Template:SpecialWikitext/Testcase。
功能
- 系列工具的功能:
功能 | 實現方式 | ||
---|---|---|---|
內容模型 | 命名空間 | ||
插入Wikitext | JS、 JSON、 CSS | User、MediaWiki | 內嵌至MediaWiki:Clearyourcache |
其他命名空間 | AJAX:當前版本內容送交API:parse | ||
模板樣式、 純文字及其他 | 任何 | ||
Lua | Module | 內嵌至MediaWiki:Scribunto-doc-page-does-not-exist | |
預覽功能 | |||
JS、 JSON、 CSS、 模板樣式、 純文字及其他 | 任何 | AJAX:編輯框內容送交API:parse | |
已刪內容預覽 | |||
Lua | Module | AJAX:使用模板沙盒參數解析Lua | |
檢視差異或歷史版本 (含修訂版本刪除) |
任何符合_addText模式的頁面 | AJAX:歷史版本送交API:parse |
- 各內容模型插入Wikitext的方式:
內容模型 | 插入Wikitext的語法 | 內容模型 | 插入Wikitext的語法 | ||
---|---|---|---|---|---|
JSON | Array模式 | [...
{"_addText":"<wikitext>"},
...]
|
JavaScript | _addText="<wikitext>";
| |
Object模式 | {...
"_addText":"<wikitext>",
...}
|
Lua | require('Module:Module wikitext')._addText('<wikitext>')
| ||
CSS | ._addText{
content:"<wikitext>";
}
|
通用模式 (JSON除外) |
/* _addText : "<wikitext>" */
|
- ※技術限制1:由於以上主要是在界面層面上顯示內容,故某些情形下頁面分類可能會無法正常運作。目前已知頁面分類無法正常運作的頁面內容模型包括JSON及純文字。
- ※技術限制2:
-{}-
模式的繁簡轉換無法在界面層面上生效,請考慮使用{{Lan}}做繁簡轉換。
- {{SpecialWikitext}}模板的功能:
功能 | 你所輸入的 | 你所看到的 |
---|---|---|
嵌入包含特殊頁面中的_addText
|
{{SpecialWikitext
|preview=preview
|SpecialWikitext/Testcase/ceshi.js
}}
|
|
嵌入包含一個特殊頁面 | 嵌入Module:SpecialWikitext/Testcase: |
local p = {}
local wikitext = require('Module:ModuleWikitext')
wikitext._addText('{{info|[[Module:SpecialWikitext/Testcase]]}}')
return p
|
嵌入Template:SpecialWikitext/Testcase/ceshi.json: |
{
"key": "value",
"_addText": "{{info|[[Template:SpecialWikitext/Testcase/ceshi.json]]}}"
}
| |
嵌入Template:SpecialWikitext/Testcase/ceshi.js: |
var _addText="{{info|[[Template:SpecialWikitext/Testcase/ceshi.js]]}}";
| |
對比一般的嵌入方式 Template:SpecialWikitext/Testcase/ceshi.js: |
var _addText=""; | |
標記觸發預覽 | {{SpecialWikitext
|preview=js
|SpecialWikitext/Testcase/ceshi.js
}}
|
var _addText="{{info|[[Template:SpecialWikitext/Testcase/ceshi.js]]}}";
|
展示某個頁面的源代碼 | {{SpecialWikitext
|lang=wikitext
|Ifsubst
}}
|
{{ {{{|safesubst:}}}#ifeq:{{ {{{|safesubst:}}}NAMESPACE}}|{{NAMESPACE}}
|{{{no|{{{2|}}}}}}
|{{{yes|{{{1|}}}}}}
}}
|
參數說明
- 參數1:
要處理的特殊頁面名稱。若省略此參數則須提供源代碼src
參數。
- 參數
src
:
要處理的特殊頁面內容模型之源代碼。若輸入了此參數則參數1將會無效。
- 參數
preview
:
決定特殊頁面的展示模式。
模式名稱 | 代碼 | 功能 |
---|---|---|
完整模式 | preview=wiki 、wikitext
|
同時展示_addText 與特殊頁面源代碼
|
代碼模式 | preview=code
|
僅展示特殊頁面源代碼 |
預覽模式 | preview=preview
|
僅展示_addText
|
小工具預覽模式 | preview=js 、ajax
|
展示特殊頁面源代碼,並向小工具請求發送預覽。 |
預設模式 | (未輸入) | 同完整模式,可當作特殊頁面的嵌入包含。 |
- 模板功能與參數總表:
參數 | 描述 | 類型 | 狀態 | |
---|---|---|---|---|
源代碼 | src
|
從指定的源代碼中解析。(建議用<nowiki>包覆) | 內容 | 可選 |
預覽模式 | preview
|
控制輸出的預覽模式 | 字符串 | 可選 |
頁面名稱 | 1
|
要嵌入或讀取_addText內容的頁面。如果省略此參數則需要加入源代碼(src)參數。 | 頁面名稱 | 可選 |
頁面內容模型 | contentModel 或lang
|
以指定的頁面內容模型來解析頁面源代碼。若省略則自動判斷。 | 字符串 | 可選 |