MediaWiki | 易混淆术语指北
对于刚接触 MediaWiki 的编辑者来说,很多术语听起来特别像一回事,但实际功能天差地别。下面列出的是易混淆术语清单,虽然并不详尽,但能帮入门的新手理清概念,至少在去社区提问时,别人能立刻听懂在说什么。

模板

不要与模块混淆
模板(Template)是 wiki 的核心功能之一,它可以被嵌入(Transcluded)到其他页面里。

比如信息框(Infobox)、导航栏,或者任何需要在多个页面重复显示的内容。修改了模板页,所有引用它的页面都会随之更新。

需要注意的是,修改模板等可被嵌入的页面后,有时可能需要清除缓存(Purge Cache)来刷新引入了嵌入内容的页面,具体取决于对应 wiki 的配置;在国内托管的 wiki (灰机 wikiBWIKI 等)大多需要手动清除缓存,

模块

不要与模板混淆
模块(Module)是存放 Lua 源代码的页面。一般是通过 Scribunto 扩展使用。

模块的页面名称一般是 Module:xxx 或者 模块:xxx。模块的入门门槛较高,大部分情况下我们建议新手从更基础的方面入手。如果有学习过其他编程语言,可以更快上手。

模块一般用于处理复杂的逻辑,然后供模板调用。有时候模块也用于自动化。Lua 源代码是在服务器执行的。大部分情况下,模块的执行效率都要优于解析函数;但仍然需要注意避免模块运行超时或者使用的内存超出限制。

和模板一样,部分 wiki 修改模块之后可能需要清除引入了该模块的页面的缓存。

小工具

不要与微件/小部件混淆
小工具(Gadgets)是 MediaWiki 自带的一个扩展功能,是用来给 Wiki 增加 JS 或 CSS 的,大部分编辑者会直接称呼其为 Gadgets。大部分 wiki 都会启用小工具。

小工具没有独立的命名空间,一般会直接放到命名空间 MediaWiki 下,因此只有拥有 editinterface 权限的管理员和界面管理员能够编辑。页面名称大多形如 MediaWiki:Gadget-XXX(旧版写法)或 MediaWiki:Gadgets/XXX(新版写法)。小工具也会受到 MediaWiki 对 JS 语法版本限制的影响。

虽然管理员可以直接修改 MediaWiki:Common.cssMediaWiki:Common.js 等全局 CSS 或全局 JS,但用小工具更专业、更灵活。使用小工具可以精确控制某段代码只在特定的页面加载,或者让用户在设置里自己选择是否开启这个功能。

访问特殊页面 特殊:小工具 可以查看所有的小工具列表,在此页面中可导出选定小工具,导入到其他 wiki 中使用。如果定义的小工具没有隐藏,那么阅读者登录后可以在 特殊:参数设置#mw-prefsection-gadgets 中自主禁用或启用某些小工具。

特别地,由于 BWIKI 的 CDN 配置问题,小工具极有可能发生串缓存现象(加载了其他用户的设置数据)。因此如非必要,一般不建议在 BWIKI 中使用小工具。

微件/小部件

不要与小工具混淆
微件/小部件(Widgets,下文统称小部件)是一个可在页面里直接插入原生、未过滤的 HTML 代码(甚至包括 script 标签)的扩展。大部分编辑者会直接称呼其为 Widgets。

小部件的命名空间为微件。拥有 editwidgets 权限的小部件编辑者才能编辑小部件(部分 wiki 可能会放宽权限限制)。

由于该扩展极度不安全,大多 wiki 农场已不再开放。Miraheze、灰机 wiki(部分站点除外)已经将其禁用;目前 wiki.gg 正在考虑禁用。不过小部件在 BWIKI 中仍然被广泛使用。

脚本和样式

脚本(Script)通常指 JavaScript 代码(也就是 JS),有时也指通过 Python 运行的自动化机器人脚本。样式(Cascading Style Sheets)这是我们通常所说的 CSS。英语环境下,CSS 代码片段通常被称为 Snippet。二者均属于前端范畴,是在用户的浏览器中执行或者渲染的。

预加载内容

预加载内容(Preload,下文统称预载)可分为两种情况。
一种是 wiki 农场托管下新建站的 wiki (例如 wiki.gg、BWIKI 等)导入的模板、模块、首页示例的页面,这些通常也更多地被称作”’预置”’。
另一种则是新建页面时自动填入的默认内容,和在 Word 或 PPT 里常说的“模板”基本一致,但是 MediaWiki 环境下不能将预载和预置混为一谈!
大多数情况下,预载指的是后者这种情况,此时预载是一个包含预设文本的页面;用户点击“创建新页面”后,这一页的内容会自动填入编辑框,供用户修改和保存。

上一篇