心百科:模板文档页模式
搬运说明:本页内容源自维基百科,并根据心百科自身需要进行了适当修改。 |
模板文档页模式是一种机制,用来将模板帮助文档从模板源代码中安全地分离成为帮助文档页面。这能够使得模板本身处于完全保护状态下,而说明部分保持未保护状态,让每个人仍然可以编辑模板帮助文档。
能够解决什么问题?
维基人经常喜欢在模板页面里加上使用说明(例如:template:cite news)。这些叙述文字可以用包含在维基源代码<noinclude>...</noinclude>的方式写在模板里。然而,这种作法会有一些缺点:
- 在 <noinclude>...</noinclude> 中的文字会被加算到“展开前的大小 pre-expand include size”,其大小有上限(参见心百科:模板限制)。
- 有一些模板,因为被大量的页面所引用而受到完全的保护。这时候编辑说明内容变得极为不方便,非管理员必须提出修改的要求,而管理员得去代为修改。
- 一个页面的“预先包含 pre-included”和“展开后 post-expanded”的大小设有上限。更糟的情况是,模板里包含了另一个模板,其“预先展开 pre-expanded”大小因此倍增而发生冲突。(参见心百科:模板限制)。
本说明页面进一步阐释对策和技巧,用以满足需要更新浏览器暂存记忆的人(or most commonly, learn from the first exposure! 解说文档是必须的,特别是为了停留在陡峭的维基学习曲在线的新加入编辑者。),以及增进效益使建构页面变得更快、与摆脱服务器处理(更新)时的读取。(我们都希望页面能够更快地被加载!)
总括来说,有个双重办法可以将解说和使用方法置于一个“解说模板”,以取代<noinclude>...</noinclude>区块所围住的工具模板(若妥善运用的话,可以涵盖数个相关的工具型模板),so easy on the processor and, thus,我们仍然可以拥有解说蛋糕并且更快速地享用它!
这个方法同时具有两个明显的附加效果:
- 当广受利用的模板更新时,能将服务器重新读取的资料量降到最小。
- 受保护的稳定模板,可以增添解说、分类等内容,而不用干扰到主要用途。
使用方法
假设有一个模板 Template:X ,在 template X 的模板源代码底下加入以下的标示:
[--模板的最後一行文字--]<noinclude>
{{Documentation}}
<!-- 請將模板的分類放在 /doc 子頁面 -->
</noinclude>
保存后,单击模板文档中的“创建”按钮,即可以对 Template:X/doc 进行编辑模板说明。如果该文档模板没有创建,以下的维基源代码会自动产生:(参见Template:Documentation/preload)
{{NoteTA |G1 = MediaWiki }} {{Documentation subpage}} <!-- 在本行下编辑模板说明 --> == 概要 == == 参数及使用方法 == == 范例 == == 注意事项 == == 重定向 == == 模板编辑说明 == == 参见 == <includeonly>{{Sandbox other|| <!-- 本行下加入模板的分类 --> }}</includeonly>
在上方指示的注释行下分别填写模板说明和分类。
注意:
- 请确保...
的开头,接在模板源代码或文字的最后一列后方,不要新起一列。否则,一个多余的新列会被插入到包含 X 模板的页面中,往往该页面不需要这个新列。
- 此外,子页面的标题请必定要使用"/doc"的型式。
- 'X/doc'文档页面的分类应该只有Category:模板帮助文档,请调整源代码让属于模板的分类只存在于模板主页面。
- 你可以将 /doc 子页面的讨论页重定向到模板本身的讨论页,那么最后所有有关模板及其文档页的讨论就会在同一讨论页上,举个例,将 Template talk:X/doc 重定向到 Template talk:X。
现在这个模板可以被完全保护了。因为它的'X/doc'文档页面并没有被保护,所以任何人可以编辑该文档页面。然而,注意连锁保护模板会使得文档页面也被保护。
分类链接
- 要将模板本身置于一个分类中,请在 doc 子页面上的
段落中添加代码 [[Category:分类名]]
。
- 要将 doc 子页面置于一个分类中,请在 doc 子页面上的
段落中添加代码 [[Category:分类名]]
。
- 要让该模板将条目置于一个分类中(当该条目使用该模板时),请在模板页上的
段落中添加代码 [[Category:分类名]]
。
优点
- 编辑的 X/doc 页面只会传递展示到该模板页面上,而不会被包含在 X 模板里。引用 X 模板的页面不需要仰赖文档页面,所以不会为了重度使用模板而扩大工作请求(m:Help:job queue)。
- 文档的编辑不会对模板本身和引用的页面造成任何危害。对于文档页面的破坏,不会扩及到引用 X 模板的页面上。
- 即使模板受到完全保护,每个人仍然能够编辑模板帮助文档。分类可以简单地增加在 X/doc 子页面。
注释
- 蒂姆·斯塔林(Tim Starling)写到:“若解说文档过大或是更新频繁,我建议你将它移动到子页面。如此一来你可以将它引用到 <noinclude> 区段和讨论页之中。” [1]
示例
- {{Tnavbar}}(被保护),{{Tnavbar/doc}}(未保护)
参见
- 和