Extension:Disambiguator/zh

Category:MIT licensed extensions/zh
Disambiguator
Category:Stable extensions/zh
Category:Special page extensions/zh
描述 使用魔术字启用消除歧义页
作者 Ryan Kaldari (Kaldari留言)
最新版本 持续更新
快照跟随MediaWiki发布。
MediaWiki 1.28+Category:Extensions with manual MediaWiki version
PHP 5.4+
MIT授權條款
下載 Category:Extensions in Wikimedia version control/zh
Help:Extension:Disambiguator/zh
  • $wgDisambiguatorIndicateLinks
季度下載量 60 (Ranked 47th)
正在使用的公开wiki数 6,730 (Ranked 31st)
前往translatewiki.net翻譯Disambiguator
問題 开启的任务 ·
Category:All extensions/zh

这个消歧义扩展被设计以用于更方便地以编程方式处理消歧义页。 它允许你使用 __DISAMBIG__ magic word (或一个等价的别名)来标记所有的消歧义页,然后将它们标记在数据库中。 这允许其他扩展可选地将消除歧义页作为一个单独的页类来处理,尽管它们仍然被认为是“正常”页。

安裝

  • 下载,并将解压后的Disambiguator移动到extensions/目录中。
    开发者和代码贡献人员应从Git安装扩展,输入:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Disambiguator
  • 将下列放置在您的LocalSettings.php 的底部:
    wfLoadExtension( 'Disambiguator' );
    
  • Yes 完成 – 在您的wiki上Special:Version,以验证已成功安装

配置

可以从LocalSettings.php文件中设置以下配置变量。

  • $wgDisambiguatorIndicateLinks - whether to add a 'mw-disambig' CSS class to links to disambiguation pages (default is true)
  • $wgDisambiguatorNotifications - whether to warn the user when they type a link to a disambiguation page in wikitext editors (default is false)

功能

Disambiguator provides the following features:

  • Programmatic identification of disambiguation pages via the __DISAMBIG__ magic word
  • New special pages for listing all disambiguation pages and pages linking to disambiguation pages
  • New API functions equivalent to the above special pages as well as an API function for querying whether or not a page is a disambiguation page
  • Modifies Special:LonelyPages to ignore disambiguation pages
  • Modifies Special:Random to ignore disambiguation pages (requires MediaWiki 1.26.0)
  • If VisualEditor is enabled, allows marking a page as a disambiguation page via the page properties interface
  • If VisualEditor is enabled, shows whether a page is a disambiguation page or not in the link inspector
  • If VisualEditor is enabled, shows whether a page is a disambiguation page or not in the link dialog
  • If configured, adds a 'mw-disambig' CSS class to links to disambiguation pages (See #Configuration above)
  • Warns a WikiEditor user when linking to a disambiguation page, and allows them to fix the link.

用法

关于end-user help,参见:Help:Extension:Disambiguator

On wiki

Once Disambiguator is installed, the best way to use it is to add the __DISAMBIG__ magic word to a template that is then included in all of your disambiguation pages.

Once the magic word is in place, your disambiguation pages will all have the 'disambiguation' page property assigned to them in the database. This property resides in the page_props table.

You will also have two new 特殊页面:

  • Special:DisambiguationPages - which lists all the disambiguation pages on your wiki.
  • Special:DisambiguationPageLinks - which lists all of the pages on your wiki that link to disambiguation pages. (This is a replacement for the old Special:Disambiguations page which is deprecated.)

With API

To list all the disambiguation pages:

api.php?action=query&list=querypage&qppage=DisambiguationPages

To list all the disambiguation page links:

api.php?action=query&list=querypage&qppage=DisambiguationPageLinks

Note that on wikis running in MiserMode (all WMF wikis), both the special page and API interface for DisambiguationPageLinks are limited to a certain number of results (typically 1000–5000).

To see if an individual page is a disambiguation page:

api.php?action=query&titles=Bug&prop=pageprops&ppprop=disambiguation

If it is a disambiguation page it will include 'disambiguation' in its pageprops. Note that the disambiguation pageprop, if present, will have its value set to an empty string, so be careful about testing it as a boolean.

With Lua

For wikis with Scribunto installed, Disambiguator adds a isDisambiguationPage property to mw.title objects.

SQL

To see if an individual page is a disambiguation page, check the page_props table for the presence of a pp_propname = 'disambiguation'. Pages that are not disambiguation pages will not have this pp_propname. The pp_value isn't important.

SELECT page_title, pp_propname
FROM page
LEFT JOIN page_props ON pp_page = page_id AND pp_propname = 'disambiguation'
WHERE page_namespace = 0
AND page_title IN ('John', 'COVID-19') -- John is a disambiguation page on enwiki, COVID-19 is not


Possible future plans

  • Add an option to hide disambiguation pages from:

Special:AllPages (task #9936), Special:PrefixIndex (task #11319), Special:WhatLinksHere (task #9935), Special:AncientPages (task #76287)

  • Consider extending link dialog in wikitext editor with ability to detect disambigs in search results and pull a list of links
Category:Extensions used on Wikimedia/zh#Disambiguator/zh Category:Disambiguation extensions/zh
Category:All extensions/zh Category:AncientPagesQuery extensions/zh Category:ChangeTagsListActive extensions/zh Category:Disambiguation extensions/zh Category:EditPage::showEditForm:initial extensions/zh Category:Extensions in Wikimedia version control/zh Category:Extensions included in Canasta/zh Category:Extensions included in Fandom/zh Category:Extensions included in Miraheze/zh Category:Extensions included in MyWikis/zh Category:Extensions included in WikiForge/zh Category:Extensions included in wiki.gg/zh Category:Extensions used on Wikimedia/zh Category:Extensions with manual MediaWiki version Category:GetDoubleUnderscoreIDs extensions/zh Category:GetLinkColours extensions/zh Category:LinksUpdateComplete extensions/zh Category:ListDefinedTags extensions/zh Category:LonelyPagesQuery extensions/zh Category:MIT licensed extensions/zh Category:RandomPageQuery extensions/zh Category:RecentChange save extensions/zh Category:ShortPagesQuery extensions/zh Category:Special page extensions/zh Category:Stable extensions/zh Category:WgQueryPages extensions/zh