Template: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
|
以指定的页面内容模型来解析页面源代码。若省略则自动判断。 | 字符串 | 可选 |