如果你打开过基于MediaWiki系统的网站,并且浏览过特殊:所有页面(英文Special:Allpages)或者是使用过它的高级搜索,你会发现一个叫做命名空间的选项,并且在不同命名空间下你能得到你想要浏览或查找的不同页面。
事实上,命名空间是具有特殊用途和特定行为的页面的高级集合。Mediawiki为主条目、上传文件描述、用户页面、系统消息、分类、模板、支持内容(帮助页面和项目页面)、系统报告和工具都提供了单独的命名空间。用户可以单独搜索命名空间,也可以按命名空间微调用户访问和编辑页面的权限。命名空间背后的重要思想是区分主要内容和辅助内容。例如,如果你为wiki编辑器创建手册,最好将它们放入“帮助”命名空间中,这样读者默认情况下不会在搜索结果中找到这些页面。通过前缀可以轻松识别当前页面的命名空间,例如:

  • “分类:图书”——分类(Category)命名空间中的“图书”页面(包括所有图书);
  • “帮助:简介”——帮助(Help)命名空间中的“简介”页面(包含网站介绍、操作入门、格式等帮助的指引);
  • “模板:格式手册”——模板(Template)命名空间中的“格式手册”页面(包括与网站编辑相关的格式列表);
  • “文件:Paul Ekman.jpeg”——文件(File)命名空间中的“Paul Ekman.jpeg”页面(包含已上传同名文件的描述);

包含主条目的页面则存储在无前缀的“主(Main)”命名空间中。

  • “心理学” ——关于心理学的条目内容。

每个命名空间——除了包含系统报告和工具的“特殊(Special)”命名空间——都有关联的“讨论(Talk)”命名空间,允许讨论主题页面的内容:

  • “帮助:如何引用来源”——关于“如何引用来源”的帮助页面。
  • “帮助讨论:如何引用来源”——对于“如何引用来源”进行讨论的页面。

扩展可以定义自己的命名空间,例如:

  • “表单:Book”——页面表单(Page Forms)扩展提供的“表单”命名空间中的“Book”页面(在此命名空间中,用户可以使用表单的方式编辑条目内容)。
  • “微件:MyCard”——微件(Widgets)扩展提供的“Widget”命名空间中的“MyCard”页面(在此命名空间中,与默认MediaWiki命名空间不同,允许使用原始HTML、CSS和Javascript)。

另外,管理员可以根据特定wiki配置自定义名称空间,比如心百科中的“图书”命名空间。
总而言之,在MediaWiki中一切皆是页面。
有关命名空间的更多内容,请浏览官方文档或本站的其他文章

接下来,让我们来了解一下那些不一样的页面。

MediaWiki分类

MediaWiki页面可以属于一个或多个分类——相关页面的索引。分类由“分类(category)”命名空间中的页面表示,其中包含用分类名称标记的所有页面的列表。作为页面,分类页面也可以被分类。分类、子分类和页面的层次结构树可以显示在特殊页面(Special:CategoryTree)上——需安装CategoryTree扩展(系统自带)。

有关分类的更多内容,请浏览官方文档

MediaWiki模板

简而言之,模板是用于存储可重用内容的页面,这些内容可以使用出色的MediaWiki嵌入技术传递到其他页面。最大的优点是你可以自定义模板,并且更改将反映在包含该模板的所有页面上。

智能模板是快速创建具有专业外观的页面的绝佳工具。可以为模板提供编辑器定义的选项,这些选项可以传递可变内容,同时为模板所属的所有元素或页面保持一致的外观和感觉。

模板参数的值可以通过其他扩展(例如DynamicPageList3 )查询,甚至可以存储在页面内容旁边(例如Semantic MediaWiki),以进行页面的细粒度分组或过滤。其他扩展(VisualEditor、PageForms)可以提供用于模板值引导输入的表单。

有关模板的更多内容,请浏览官方文档

MediaWiki子页面

如果在配置中启用,子页面会向wiki页面添加一些层次结构。页面名称中的斜杠 (/) 将页面递归地分为父页面和子页面,例如:

  • “主题页面”——根页面,其所有子页面的父页面;
  • “主题页面/子页面”——子页面,位于主题页面下;
  • “主题页/子页/子子页”——孙子页,位于主题页的子页面下;

当一页内容太多或者你希望为内容添加严格的结构时,这会很有帮助。MediaWiki中的页面名称必须是唯一的,但使用子页面可以为子页面提供可预测的而非唯一的名称:

  • “艾萨克·牛顿/传记”
  • “阿尔伯特·爱因斯坦/传记”

每个子页面都提供指向其所有祖先的反向链接。

MediaWiki重定向页和消歧义页

重定向页主要用于解决有别称或多种标点、大小写、拼写的情况,可以有效减少重复编辑。事实上,如果你打开该页面的源代码会发现,通常只有一行代码——即#REDIRECT [[页面名]]——有点像Windows系统中的快捷方式。

MediaWiki特殊页面

特殊页面是由软件按需创建以执行特定功能的页面。比如常用的特殊:版本(英文Special:Version),从中我们能够查询到当前使用的MediaWiki版本以及皮肤和扩展的版本,另外还有诸如PHP和数据库版本等。

MediWiki代码页面

在MediaWiki中,代码也被存储在页面之中,比如我们接触最多的Mediawiki:common.cssMediawiki:common.js(全局的CSS和JS代码,能对整个系统产生影响)就是典型。还有跟模板配套的模块(Module),它使用Lua语言但仍以页面形式存储。还有小工具扩展和微件扩展同样如此。

更多有关代码的信息,可浏览本站的另一篇文章《MediaWiki中的代码》。


本文翻译自《What are MediaWiki Namespaces, Categories, Pages, and Sub-Pages》,并根据实际需要增删和修改了部分内容。

最后修改:2024 年 03 月 10 日
如果觉得我的文章对你有用,请随意赞赏