帮助:模板
模板是写Wiki的强力工具,让编写者轻松的编写复杂页面。
要了解如何使用模板,请参阅:
模板简介
基础模板
用于几乎所有页面:
通常,内容页面的第一行是:
{{页面名|页面的中文名}}{{面包屑|页面的分类}} {{施工中|需要翻译|需要润色内容}}
内容页面的结束是:
== 参考来源 == <references/> {{说明|PWIKI=官方页面名|版本=1.0}}
效果如右图所示:
标注、显示
- 提示:增加一个提示栏,已经广泛用于其他模板和文件版权说明
- 扩展:标注此处内容需要特定DLC
- 协议:显示内容/页面来源,标明授权协议。
- 详 / 详见:用于显示 详见词条:XXX
- 另 / 另见:用于显示 另请参阅:XXX
- 消歧义:用于显示消歧义提示
样式、排版
- Label: Label标签。
- Color: 颜色显示文字。
- 划掉重说: 用于
显示整活文字。 - 黑幕:用于隐藏内容
- Clear: 清除浮动。表格换行请用<br>
- Iconbox:集中显示某事物的图标、标题、说明。
- Navicon:用于信息视图页面,用图标跳转代替目录。
- Box wrapper/End box wrapper:用于封装,需要成对使用。
导航、控件
资源、文件
- 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使用 {{模板帮助}} 来提供这一模式。
我们的模板文档/模板帮助位于模板子页面。
如模板:面包屑的文档位于模板:面包屑/文档