bugfix1001.2
全站通知:

帮助:模板

来自都市天际线2WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索
基本
面包屑 • 页面名 • 说明 • 施工中
显示标注
提示 • 协议 • 详见(详) • 另见(另) • 消歧义 • 键帽(key) • Cost • Icon(i)
样式排版
Label • Color(C) • 划掉重说 • 黑幕 • Clear
控件
导航 • 轮播图 • 计时 • 用户 • BV • Copytext
其他
文件版权 • 协议 • 模板帮助 • JS • ResourceLoader

模板是写Wiki的强力工具,让编写者轻松的编写复杂页面。

要了解如何使用模板,请参阅:

模板简介

基础模板

用于几乎所有页面:

  • 面包屑 :提供导航。几乎用于所有内容页面。
  • 页面名 :英文页面设置中文页面名(支持面包屑模板)
  • 说明 :为翻译页面添加翻译说明(为搜索引擎优化,置于页面底部)
  • 施工中 :标注未完成的页面。

通常,内容页面的第一行是:

{{页面名|页面的中文名}}{{面包屑|页面的分类}}
{{施工中|需要翻译|需要润色内容}}

内容页面的结束是:

== 参考来源 ==
<references/>

{{说明|PWIKI=官方页面名|版本=1.0}}

效果如右图所示:

标注、显示

  • 提示:增加一个提示栏,已经广泛用于其他模板和文件版权说明
  • 扩展:标注此处内容需要特定DLC
  • 协议:显示内容/页面来源,标明授权协议。
  • 详 / 详见:用于显示 详见词条:XXX
  • 另 / 另见:用于显示 另请参阅:XXX
  • 消歧义:用于显示消歧义提示


  • DLC:根据模板英文名/缩写,获取图标、链接或显示名
  • key / 键帽:显示快捷键
  • i / Icon:显示游戏图标。
  • Cost:显示金额
  • Green:增益效果

样式、排版

导航、控件

  • 轮播图:轮播
  • 计时:对页面进行计时或者倒计时。
  • 用户:显示一个用户的头像,鼠标悬浮就可以看详情。
  • B站视频:显示B站视频。
  • Copytext:提供一键复制指定内容的按钮。

资源、文件

  • JS:为页面引入JS文件,限制:只允许使用MediaWiki命名空间中的JS文件。
  • ResourceLoader:为页面加载资源,使用时应当使用模板CSS或者JS。
  • 模板:文件版权: 说明文档来源与游戏或官方Wiki。
  • 模板:协议:部分其他来源,或来自官方Wiki的图需要说明来源链接和协议,需要使用此模板,参见文件上传页面或已有文件。

特殊模板

模板的设计原则

设计模板应至少遵循以下原则。

单一功能

每个模板只提供一个功能,只对一件事负责(参见单一职责设计原则[1])。

如果一个模板提供多个功能,或者做多个事情,有以下缺点:

  • 增加理解困难:看一个模板=看十个
  • 增加维护困难:难以确定修改的影响。一个地方出错,其他功能也会受影响。
  • 增加测试困难:测试一个功能很简单,测试一堆可能相互影响的功能很困难。

典型的负面例子是BWiki的模板:板块。 它提供了13个模板的功能。

如果修改其中一个子功能时出现了语法错误,导致分配功能的Switch提前结束,可能的异常表现是位于子功能代码后边的所有功能失效。 这会对分析、定位问题带来很大困难。 如果这些子功能相互依赖,这将是调试、修改、维护者的噩梦。

KISS(Keep It Simple Stupid)

设计应当保持简洁、单纯,不加入非必要的复杂性[2]

  • 不复杂化代码
  • 不过度设计
  • 不过早优化
  • 不断重构

KISS原则最后的Stupid并没有任何隐涵开发者是愚蠢的含义,而是相反的,要求模板的设计让人易于理解。

再复杂的模板,其使用者和未来的维护者也是广泛的BWiki用户。我们不能假设所有用户都是MediaWiki的使用专家。

设计和开发模板时,每多使用一个特性,就引入了一个新知识。这会增加对维护者的要求,使用者也更难理解模板的行为和工作原理。 缺少使用和维护的模板会逐渐被抛弃、替换。

举个例子:

目前的天际线Wiki对导航的需求很少,因此我们决定改造Paradox CSL Wiki的Navbox以替代早期引入的导航盒模板,这导致了模板:导航的产生。

相比于导航盒模板,Paradox的Navbox使用了更简单的实现,此时导航盒被认为复杂、过度设计

相应的,很多Wiki对导航的需求更多更大。这时Navbox的缺点就暴露出来,此时Navbox被认为缺乏功能、设计不足

这不是说导航盒不好。而是针对简单的导航需求,Navbox使用了更简单的设计和实现,需要更少的知识和理解成本。

这不是说Navbox不好。而是针对复杂的导航需求,导航盒提供了更充分的设计和实现,提供丰富的功能和灵活表现。

需求是变化的,比如早上我想喝咖啡,但现在想来一瓶可乐。未来,本Wiki一定会需要不一样的导航,我们相信后人的智慧。


模板的管理原则

管理模板应至少遵循以下原则。

开放编辑

作为一个Wiki站点,我们应当尽量开放左右页面的编辑。

我们应当谨慎的限制模板的编辑,需要给出充分的理由,并给出限制编辑的时间。

充分测试

在编辑模板前,应当尽量充分的测试。

比如利用沙盒模板和用户页面测试。

被广泛使用的模板出错将会影响大量页面。

提供文档

模板应当提供文档,文档应当面向使用者+维护者。

格式规范

模板应当有规范的格式、容易阅读。

比如一些模板缺乏换行(不是所有的换行都会导致生成的页面换行)。复杂的HTML或标签如果缺乏换行将会非常难阅读。

模板帮助页模式

参见Wikipedia:模板文件頁模式。上文节选:

模板文档页模式是一种机制,用来将模板帮助文档从模板源代码中安全地分离成为帮助文档页面。
这能够使得模板本身处于完全保护状态下,而说明部分保持未保护状态,让每个人仍然可以编辑模板帮助文档。

本Wiki使用 {{模板帮助}} 来提供这一模式。

我们的模板文档/模板帮助位于模板子页面。

如模板:面包屑的文档位于模板:面包屑/文档