模板:Special wikitext

文档图示 模板文档[查看] [编辑] [历史] [清除缓存]

本系列工具主要目的是在不支援显示标记模板或界面文字之特殊页面中补上标记模板或界面文字,以令标记维护模板或提删流程得以顺利进行。

本模板为Module:Special wikitextModule:Module wikitextMediaWiki:Gadget-SpecialWikitext.js的模板调用,目的是为了验证相关程式码行为的一致性、除错、维护以及测试相关功能之用。

详细结果请参考本模板的测试样例:Template:Special wikitext/testcases

功能

系列工具的功能:
功能 实现方式
0 内容模型 命名空间
插入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}}做繁简转换。
{{Special wikitext}}模板的功能:
功能 你所输入的 你所看到的
嵌入包含特殊页面中的_addText
{{Special wikitext
|preview=preview
|Special wikitext/testcase.js
}}
嵌入包含一个特殊页面 嵌入Module:Module_wikitext/testcase
local p = {}
local wikitext = require('Module:Module wikitext')
wikitext._addText('{{#if:{{CheckPage|Module:Module wikitext/testcase}}|{{Sample}}}}')
wikitext._addText('{{ambox|issue=[[Module:Module wikitext/testcase]]}}')
wikitext._addText('{{#if:{{CheckPage|Module:Module wikitext/testcase}}|<div style="display:none;">}}')
return p
嵌入Template:Special wikitext/testcase.json
{
"key":"value",
"_addText":"{{#if:{{CheckPage|Template:Special wikitext/testcase.json}}|{{Sample}}}}{{ambox|issue=[[Template:Special wikitext/testcase.json]]}}"
}
嵌入Template:Special wikitext/testcase.js
var _addText="{{#if:{{CheckPage|Template:Special wikitext/testcase.js}}|{{Sample}}}}{{ambox|issue=[[Template:Special wikitext/testcase.js]]}}";
对比一般的嵌入方式
Template:Special wikitext/testcase.js
var _addText="";
标记触发预览
var _addText="{{#if:{{CheckPage|Template:Special wikitext/testcase.js}}|{{Sample}}}}{{ambox|issue=[[Template:Special wikitext/testcase.js]]}}";
展示某个页面的源代码
{{Special wikitext
|lang=wikitext
|Ifsubst
}}
{{ {{{|safesubst:}}}#ifeq:{{ {{{|safesubst:}}}NAMESPACE}}{{{nosubst|}}}|{{NAMESPACE}}
 |{{{no|{{{2|}}}}}}
 |{{{yes|{{{1|}}}}}}
}}<noinclude>
{{Documentation}}
</noinclude>

参数说明

参数1:

要处理的特殊页面名称。若省略此参数则须提供源代码src参数。

参数src

要处理的特殊页面内容模型之源代码。若输入了此参数则参数1将会无效。

参数preview

决定特殊页面的展示模式。

模式名称 代码 功能
完整模式 preview=wikiwikitext 同时展示_addText与特殊页面源代码
代码模式 preview=code 仅展示特殊页面源代码
预览模式 preview=preview 仅展示_addText
小工具预览模式 preview=jsajax 展示特殊页面源代码,并向小工具请求发送预览。
默认模式 (未输入) 同完整模式,可当作特殊页面的嵌入包含。
模板功能与参数总表:

嵌入包含一个特殊页面内容模型之页面

模板参数[编辑模板数据]

参数描述类型状态
页面名称1

要嵌入或读取_addText内容的页面。如果省略此参数则需要加入源代码(src)参数。

页面名称可选
预览模式preview

控制输出的预览模式

字符串可选
页面内容模型contentModel lang

以指定的页面内容模型来解析页面源代码。若省略则自动判断。

字符串可选
源代码src

从指定的源代码中解析。(建议用<nowiki>包覆)

内容可选

子模板相依关系图

Special wikitext
展示代码展示_addText展示特殊页面请求预览
#/codeshow#/previewdisplay#/preview#/jspreviewModule:#/Template
图例
#/code#/content#/codedisplayGadget:#.js模板本身
主要模板
#/include#/immcodeModule:#Module wikitext#/JSON渲染JSON可外部调用
相依模块
#/testcases#/testcaseModule:#/JSON#/JSON.css测试样例
内部模板
Template:##/codeshow

相依性

以下为MediaWiki:Gadget-SpecialWikitext.js的相依模板、模块与脚本。要让本工具导入至其他维基媒体站点,令其在其他维基运作,需要在其他维基站点备齐。

参见