Extension:Disambiguator
Disambiguator リリースの状態: 安定 |
|
---|---|
実装 | 特別ページ |
説明 | 曖昧さ回避ページの指定をマジックワードで決める拡張機能 |
作者 | Ryan Kaldari (Kaldariトーク) |
最新バージョン | 継続的な更新 |
互換性の方針 | MediaWiki とともにリリースされるスナップショット。 master には後方互換性がありません。 |
MediaWiki | 1.28+ |
PHP | 5.4+ |
ライセンス | MIT ライセンス |
ダウンロード | |
ヘルプ | Help:Extension:Disambiguator/ja |
|
|
四半期ごとのダウンロード数 | 55 (Ranked 85th) |
使用中の公開ウィキ | 6,730 (Ranked 31st) |
translatewiki.net で翻訳を利用できる場合は、Disambiguator 拡張機能の翻訳にご協力ください | |
問題点 | 未解決のタスク · バグを報告 |
Disambiguator 拡張機能はプログラム上で動作しやすい曖昧さ回避ページを簡単に作成するよう設計してあります。
すべての曖昧さ回避ページの指定は__DISAMBIG__
マジックワード (もしくは同等の別名) で実行でき、データベース上の指定を変更します。
これにより、通常ページとみなされているものが、曖昧さ回避ページという別の種類のページとして扱うことが可能になります。
インストール
- ダウンロードして、ファイルを
extensions/
フォルダー内のDisambiguator
という名前のディレクトリ内に配置します。
開発者とコード寄稿者は、上記の代わりに以下を使用してGitからインストールします:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Disambiguator - 以下のコードを LocalSettings.php ファイルの末尾に追加します:
wfLoadExtension( 'Disambiguator' );
- 必要に応じて設定します。
- 完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。
設定
利用者の LocalSettings.php
ファイルから以下の設定変数を書き込みます。
- $wgDisambiguatorIndicateLinks - 'mw-disambig' CSS クラスを追加し、曖昧さ回避ページへのリンクを作るかどうか (既定は true)
- $wgDisambiguatorNotifications - ウィキテキスト エディターで曖昧さ回避ページへのリンクを入力する際に警告を出すかどうか (既定は false)
特徴
この拡張機能は以下の機能を提供します:
- プログラム上で__DISAMBIG__ マジックワード を使い、曖昧さ回避ページを検出
- 特別ページを新設して曖昧さ回避ページと、それにリンクするページをすべてまとめる
- 上記の特殊ページに相当する新たなAPI関数と、あるページが曖昧さ回避ページであるかどうかを照会するAPI関数を追加
- 曖昧さ回避のためのページを無視するようにSpecial:LonelyPagesを変更する
- Special:Randomで曖昧さ回避のためのページを無視するように変更(MediaWiki 1.26.0が必要)
- VisualEditor が有効な場合、ページのプロパティ・インターフェースを使って、ページを曖昧さ回避のためのページとしてマークすることができます。
- VisualEditor が有効な場合、リンクインスペクタでページが曖昧さ回避ページであるかどうかを表示します。
- VisualEditor が有効な場合、リンクダイアログでページが曖昧さ回避ページであるかどうかを表示する
- 設定されている場合、曖昧さ回避のためのページへのリンクに 'mw-disambig' CSSクラスを追加します (上記の #Configuration を参照)。
- Warns a WikiEditor user when linking to a disambiguation page, and allows them to fix the link.
使用法
ウィキ上で
Disambiguatorをインストールした後は、__DISAMBIG__
のマジックワードをテンプレートに追加し、それをすべての曖昧さ回避ページに含めるのが最も良い使い方です。
このマジックワードが設定されると、あなたの曖昧さ回避ページはすべて、データベース内で「曖昧さ回避」ページプロパティが割り当てられます。 このプロパティは、page_props テーブルに存在します。
さらに2つの特別ページ を生成します。それはこちらです:
- Special:DisambiguationPages - これは、Wikiのすべての曖昧さ回避ページを一覧表示します。
- Special:DisambiguationPageLinks - これは、曖昧さ回避のためのページにリンクしている、あなたのウィキのすべてのページをリストアップするものです。 (これは、古いSpecial:Disambiguationsのページが非推奨になったことを受けてのものです。)
APIとの組み合わせ
すべての曖昧さ回避のためのページを一覧表示する。
api.php?action=query&list=querypage&qppage=DisambiguationPages
すべての曖昧さ回避のためのページのリンクを一覧表示する。
api.php?action=query&list=querypage&qppage=DisambiguationPageLinks
なお、MiserModeで動作しているWiki(すべてのWMF Wiki)では、DisambiguationPageLinksの特設ページとAPIインターフェイスの両方が、特定の数の結果に制限されています(通常は1000~5000件)。
個々のページが曖昧さ回避ページであるかどうかを確認する。
api.php?action=query&titles=Bug&prop=pageprops&ppprop=disambiguation
曖昧さ回避のためのページであれば、そのページプロップに「曖昧さ回避」が含まれます。 曖昧さ回避のためのページプロップが存在する場合、その値は空の文字列に設定されるので、真偽値としてテストする場合は注意が必要です。
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
今後の開発案
- 曖昧さ回避ページを非表示にするオプションを追加します。 Special:AllPages (task #9936), Special:PrefixIndex (task #11319), Special:WhatLinksHere (task #9935), Special:AncientPages (task #76287)
- ウィキテキストエディタのリンクダイアログを拡張し、検索結果の曖昧さを検出してリンクのリストを引き出す機能を検討します。
- この拡張機能のすべてのバグ
この拡張機能は 1 つ以上のウィキメディアのプロジェクトで使用されています。 これはおそらく、この拡張機能が安定していて高いトラフィックのウェブサイトでも十分に動作することを意味します。 この拡張機能がインストールされている場所を確認するには、ウィキメディアの設定ファイル CommonSettings.php および InitialiseSettings.php 内で、この拡張機能の名前を探してください。 特定のウィキにインストールされている拡張機能の完全な一覧は、そのウィキの Special:Version ページにあります。 |
この拡張機能は以下のウィキ ファーム/ウィキ ホスト/パッケージに含まれています: これは正式な一覧ではありません。 一部のウィキ ファーム/ウィキ ホスト/パッケージは、ここに記載されていなくてもこの拡張機能を含んでいる場合があります。 必ずご利用のウィキ ファーム、ウィキ ホスト、バンドルで確認してください。 |