跳至内容

维基教科书:助手

来自维基教科书,开放世界中的开放书籍

此父页面下的助手是一组交互式页面,旨在帮助人类用户执行各种任务——从新手到专家,从日常任务到可能每隔几年才出现一次的事情。在我们编写这些页面时,将它们列在这里。它们还在分类:交互式助手中进行了分类。

编写助手有一些重要的约定在本页底部;最终希望有一个或多个助手来帮助构建和维护助手。

助手列表

[编辑源代码]
  • 对对话框操作的命名空间使用{{SITENAME}}魔法字。这样可以避免将项目的名称硬编码到将来可能在其他项目上使用或改编的页面中。全局助手也使用该命名空间,如果明确引用它,应该使用魔法字,但其他模板通常会处理这种情况,如下所述。
  • 给定助手的所有页面都是一个父页面的子页面,即助手根页面;或者位于模板空间中,并具有相应的名称。助手主页面及其所有子页面属于助手类别,而模板属于子类别,文档页面属于另一个子类别。
  • 助手主页面有两种命名方案,全局和本地。
  • 全局主页面名称的形式为{{SITENAME}}:Assistant:<name>。子页面为{{SITENAME}}:Assistant:<name>/...;模板为Template:Assistant:<name>/...或偶尔为Template:Assistant:<name>。助手类别为Category:Assistant:<name>。助手页面的分类通过模板{{AssistantCat}}来协调。
  • 本地主页面是(非助手)页面的子页面<page>,位于除模板或类别之外的任何命名空间中。主页面名称的形式为<page>/Assistant:<name>。子页面为<page>/Assistant:<name>/...;模板为Template:<page>/Assistant:<name>/...或偶尔为Template:<page>/Assistant:<name>。助手类别为Category:<page>/Assistant:<name>.
  • 有一些魔法字模板可以为当前页面所属的助手派生关联的助手页面名称形式:{{ASSTDOC}}给出助手文档主页面的名称,{{ASSTROOT}}给出助手主页面的名称;{{ASSTCATEGORY}}给出助手类别的名称;{{ASSTTEMPLATE}}给出助手模板的基本名称。{{ASSTTEXT}}返回助手文本描述。(还有一些其他模板。)
  • 有四种类型的助手
  • 直接助手。助手是一个模板,它提供控件以立即在转入页面上执行简单功能。
  • 框架助手。主要助手页面只能通过查看动词访问,并使用{{dialog/preview}}来显示要操作的目标页面的修改后的形式。
  • 单页面独立助手。助手主要由一个页面组成,其布局与目标页面(与框架助手形成对比)有很大不同。
  • 多页面独立助手。助手具有多个不同的主页面。
这些助手中的任何一个都可能有一些辅助页面;它们之间的区别在于不同的主要重点。
  • 根页面
  • 对于直接助手,根页面应该是指向模板的重定向。在模板的文档页面上使用模板{{assistant/direct}}。
  • 对于框架助手,根页面应该是主要框架页面;查看动词故意不支持重定向的目标。使用模板{{assistant/framing}}。相应的模板页面通常提供一个按钮来在转入页面上调用框架助手。
  • 对于单页面独立助手,根页面应该是内容页面,因为没有理由用重定向使事情变得更复杂。使用{{dialog/ifsupported}}以在直接作为维基页面访问时实现优雅的行为,以及{{assistant/single}}。
  • 对于多页面独立助手,根页面应该是指向子页面的重定向,因此助手中的所有主要内容页面都处于同一级别。对重定向根进行分类(通过{{AssistantCat}},和往常一样)。
  • 重定向目标应该使用{{dialog/ifsupported}}以在直接作为维基页面访问时实现优雅的行为,以及{{assistant/viewable}}。考虑将其命名为{{ASSTROOT}}/start;一个可识别的标准名称是可取的,因为任何通过查看动词进入助手的按钮都必须直接指向子页面。
  • 主要文档页面
  • 始终子页面{{ASSTROOT}}/doc,但如果助手是直接的,则应重定向到模板文档。
  • 如果主页面是多页面助手的重定向,则主要文档页面应该为每个子页面和模板包含一个部分。这些部分应该与各个页面的文档一致;这可以通过{{assistant/extract doc}}来实现。
  • 如果主页面是内容页面,则在文档的参见部分中的关键子页面和模板链接就足够了。
  • 助手的某些页面旨在通过将其命名为查看动词来访问;某些页面旨在转入到另一个页面上;还有一些页面可以以这两种方式访问。以下大多数原则都与管理这些不同的访问模式及其不同的行为有关。
  • 子页面和模板
  • 在子页面上,使用{{assistant/viewable}}。
  • 转入时,始终将所有可用的输入参数传递给它。
  • 当通过标记{{{...}}}使用参数时,不要在它的默认值中嵌套另一个模板参数,例如{{{foo|{{{bar}}}}}}。非嵌套保留了通过对话框参数的可替换性,因为对话框参数(截至目前)仅替换非嵌套的模板参数。
  • 当指定与输入参数相对应的字段时,将模板参数指定为初始值,例如{{dialog/text|id=foobar|{{{foobar|}}}}}。这适用于页面查看或转入、模板传递参数或未传递参数以及对话框传递参数或未传递参数的任何组合。
  • 当在任何页面上指定按钮时,始终明确地从它传出所有输入参数(除了SUBJECT-CONTENT之类的不会通过操作请求传递的内容)。如果这些参数中的任何一个没有作为数据字段在本地存储(例如,通过当前页面上的{{dialog/text}}),明确地将模板参数指定为传出对话框参数的值,例如{{dialog/button/view|...|foobar::{{{foobar|}}}|...}}。这同样适用于页面查看或转入、模板传递参数或未传递参数以及对话框传递参数或未传递参数的任何组合。
  • 子页面和模板的文档页面
  • 记录子页面,使用{{assistant/documentation}}。
  • 记录多页面助手的每个页面,维护一个它可能使用的输入参数列表,不区分模板参数和对话框参数。
  • 记录模板,使用{{assistant/template}}。
  • 记录对话框编辑表单,使用{{assistant/form}}。
  • 为了在助手的主文档页面转入时正确显示文档,对于页面相对引用,使用 {{OBJECTPAGENAME}}

另请参阅

[编辑源代码]


华夏公益教科书