Jump to content

可视化编辑器/引用工具

From mediawiki.org
This page is a translated version of the page VisualEditor/Citation tool and the translation is 100% complete.

可视化编辑器引用工具允许使用可视化编辑器的用户使用您wiki上的引用模板。 要启用该工具,你需要准备以下内容:已正常安装可视化编辑器与Parsoid 、你的wiki中可通过TemplateData 指定调用方式的引用模板,以及一条特殊的.json信息,用以关联可视化编辑器和相关模板。

导入引用模板

若要使用所有引用功能,你的wiki数据库中必须存有引用模板。如果你的wiki目前没有引用模板(例如全新安装的情况),则需要自行获取。最简单的方式是从维基百科复制相关模板。若你的wiki已配置引用模板,可直接跳过上述步骤。

  1. 安装Extension:Scribunto , Extension:ParserFunctions , Extension:Cite(引用) , Extension:TemplateData(模板数据) 。 维基百科上的大多数引用模板都会使用Scribunto提供的编程语言Lua,同时也会使用该扩展的解析器函数。 Cite扩展支持使用‎<ref>标签。 所有维基百科以及其他维基媒体基金会旗下的维基站点均已预装全部相关功能。
  2. 从维基百科导出引用模板:Manual:Using content from Wikipedia 。导出w:Template:Cite web、w:Template:Cite news、w:Template:Cite journal、w:Template:Cite book是一个不错的入门选择。 英文维基百科及其他部分站点的这些模板,其最新版本也需要配套的Lua模块提供支持。
  3. 在您的wiki网站上使用“特殊:导入页面”来上传您的模板(例如:http://localhost/index.php/Special:Import)。

模板数据

引用工具需要Extension:TemplateData(模板数据) ,才能将模板数据加载到可视化编辑器的字段中,且每个模板都必须已定义模板数据。 有关如何为引文定义模板数据,以及查看定义和未定义模板数据时引文窗口样式的截图详情,请参阅Wikipedia:VisualEditor/TemplateData

引用工具定义

要在您的 wiki 中启用可视化编辑器引用工具,您需要创建特定的消息:MediaWiki:Cite-tool-definition.json。这是因为每个 wiki 是不同的,所以需要定制它需要的那些功能,例如您 wiki 中的目标名可能与其他 wiki 中的不同。

配置消息的用途

配置消息:

  • template – 标明你的维基百科用于标准引用的模板,可填写最多8个。
    • 注每种模板必须含TemplateData 进行定义,否则用户将很难理解该系统。如果你的wiki目前未使用引用模板,通常可以直接从英文维基百科复制部分模板,以此作为一套通用且合适的基础模板。
  • name – 必须为每种引用类型指定简短且唯一的name。
    • 默认有基础五项:web, book, map, news, journal,可通过MediaWiki:Visualeditor-cite-tool-name-web等参数自动匹配图标并完成翻译。
    • 对于其他所有名称,均需在你想要支持的全部语言中,创建对应的MediaWiki:Visualeditor-cite-tool-name-……相关消息。
    • 若无需翻译,可直接添加单个label替代。 此种情况下无需额外消息。
  • icon – 说明您希望在每种引用类型中使用的图标。
    • 可使用来自OOUI 图标组中editing-citation、interactions或location的任意图标。 例如包括“浏览器”“书籍”“地图”“报纸”“期刊”在内的图标,以及该组中所有其他图标。 请注意,图标名称“browser(浏览器)”和“newspaper(报纸)”,与对应的引用类型名称“web(网页)”和“news(新闻)”存在差异。
    • 以"ref-cite-…"开头的图标已废弃,仅为兼容旧版本提供支持。

一旦创建MediaWiki:Cite-tool-definition.json配置消息,引用工具将在数分钟内对您wiki上的所有可视化编辑器用户生效。

更多类型

如果您考虑新增一种类型,开发团队非常希望先与您沟通,以便提供相关建议、协助制作适配的图标,同时我们也能评估其他wiki是否也需要为所有wiki统一设定该类型。

要添加其他类型,必须:

  1. 确定您要创建的类型
    • 在本例中您要使用数据库引用,所以必须调用“database”类型。
  2. 创建相应标签
    • 在本例中,你可以将标签名称设为db,并在MediaWiki:Visualeditor-cite-tool-name-db处添加值为database的标签。该内容需使用你的wiki的内容语言。若你的wiki使用多种语言或文字体系,你可能需要创建多个此类标签。
  3. 创建一个图标
    • 在本例中,你可以将图标标签设置为"ref-cite-dbase",把图标制作成SVG文件并上传至维基共享,在MediaWiki:Common.css中创建图标类"oo-ui-icon-ref-cite-dbase",再通过"background-image:url(//upload.wikimedia.org/wikipedia/commons/1/12/VisualEditor_-_Icon_-_Ref_db.svg)"或类似方式添加所需图标。

示例

你可以在英文维基百科、波兰语维基百科、法语维基百科、意大利语维基百科上查看示例定义消息。 将代码复制到你的wiki中,并根据本地语境调整相关名称。

模板类型映射

除MediaWiki:Cite-tool-definition.json外,你还需要创建MediaWiki:Citoid-template-type-map.json,用以指定各类引文分别对应哪些模板。 你可以在英文维基百科上查看示例。

“来源请求”工具

“来源请求”工具。

可通过配置MediaWiki:Visualeditor-template-tools-definition.json包含citationNeeded键,将“来源请求”模板设置为在编辑器中显示“添加引用”按钮。

该配置值列出模板(可包含多个跳转别名标题)与参数映射关系。 当前支持的键有:

  • reason – 在上下文条目里展示需要引注的原因
  • date – 显示在条目内容中添加citation needed模板的日期
  • encapsulate - 已被模板包裹的文本,在添加引用内容时需解除包裹

这些映射的值为本地模板中的参数名称:

{
	"citationNeeded": [
		// 该键在所有语言中始终为“citationNeeded”
		// 此列表中的每一项代表一个模板
		{
			"title": [
				// 标题可以是一个字符串,也可以是一组重定向
				"Citation needed",
				"Cn",
				...
			],
			"params": {
				"reason": "reason",
				"date": "date"
			}
		},
		// 该模板是单独定义的,因为它支持“encapsulate”参数。
		// 在某些维基站点上,这个模板与上面的模板相同。
		{
			"title": [
				"Citation needed span",
				"Cite needed span",
				...
			],
			"params": {
				// 参数可以是字符串或别名列表
				"encapsulate": [ "1", "text" ],
				"reason": "reason",
				"date": "date"
			}
		}
	]
}

请参阅英语维基百科上的示例定义。

故障排除

如果你前往"特殊:版本"查看,且已安装TemplateData,但引用对话框中未显示相关字段,你可以打开引用模板进入编辑界面,无需做任何修改,直接重新保存即可。 这是由于一个错误导致的:被转入的TemplateData(即位于Template:Cite_web/doc中而非直接位于Template:Cite_web中)在父模板被编辑之前不会被加载到数据库中;参见T52372。

请注意,当您使用除标准4以外的自定义模板时,用户体验会略有不同。例如,引用对话框中最初不会显示字段列表,但您可以通过点击按钮来调取所有可用字段的列表。