ビジュアルエディター/参照ツール
ビジュアルエディターの引用ツール(VisualEditor citation tool)は皆さんのウィキの出典テンプレートを、ビジュアルエディターの利用者にも使えるようにするツールです。
ツールを有効にする方法は以下に従います。お使いのウィキに実用のためにインストールするものは VisualEditor とParsoid、出典テンプレート類、それらの呼び出しを定義した TemplateData、さらに VisualEditor をテンプレートに紐付けするには、専用のメッセージ.json もインストールが必要です。
出典テンプレートをインポートする
出典機能を使うには出典テンプレートがあなたのウィキのデータベースに含まれている必要があります。新しくインストールされたウィキなど出典テンプレートがない場合、それらを導入する必要があります。最も簡単な導入方法はウィキペディアからコピーすることです。なお、すでに出典テンプレートがある場合は下記の手順を飛ばすことができます。
- Extension:Scribunto, Extension:ParserFunctions, Extension:Cite, Extension:TemplateData をインストールします。 ウィキペディアの出典テンプレートの大半は Lua というプログラミング言語を使っており(Scribunto拡張機能で使えるようになります)、また同拡張機能のパーサー関数も使っています。 Cite は
<ref>のタグを使えるようにするための拡張機能です。 これらの拡張機能は、ウィキメディア財団の全プロジェクトですでにインストールされています。 - ウィキペディアから出典テンプレートを書き出す(Manual:Using content from Wikipedia をご参照ください)。最初はw:en:Template:Cite web、w:en:Template:Cite news、w:en:Template:Cite journal、w:en:Template:Cite bookの4テンプレートを書き出しましょう。 英語版ウィキペディアなど一部の言語版ではテンプレートの最新版を使うには Lua モジュールが使える必要もあります。
- あなたのウィキのSpecial:Importページでテンプレートをアップロードします(例:http://localhost/index.php/Special:Import )。
テンプレートデータ
参照ツールがテンプレートのデータをビジュアルエディターの欄に読み込むには Extension:TemplateData を導入して、各テンプレートでテンプレートデータを指定する必要があります。 テンプレートデータを定義する方法、およびテンプレートデータがある/ない場合の表示については ja:Wikipedia:ビジュアルエディター/TemplateData を参照してください。
参照ツールの定義
あなたのウィキでビジュアルエディターの参照ツールを有効化するためにはMediaWiki:Cite-tool-definition.jsonという特別な設定メッセージを作成する必要があります。これはウィキの間の差が大きく、使いたい機能をカスタマイズする必要があるためです。例えば、あなたのウィキで使われるテンプレートの名前はほかのウィキのそれとは違うかもしれません。
設定メッセージの目的
設定メッセージ:
template– あなたのウィキにおいて標準の出典で使われるテンプレートを指定します (8つまで指定できます)。- ご注意: どのテンプレートにも必ずテンプレートデータが必要です。 指定しなかった場合、かなりわかりにくいシステムになってしまいます。出典テンプレートがまだ使われていない場合は、英語版ウィキペディアからコピーして使うことが多いです。
name– Must specify a short, uniquenamefor each type of citation.- 標準では
web,book,map,news,journalの 4 種類があり、これらは MediaWiki:Visualeditor-cite-tool-name-web などを通じて自動的にアイコンと翻訳が付与されます。 - For any other name the corresponding MediaWiki:Visualeditor-cite-tool-name-… messages should be created in all languages you want to support.
- In case no translation is needed a single
labelcan be added instead. The additional messages are not needed in this case.
- 標準では
icon– 出典の種類ごとに使いたいアイコンを指定します。- Any icon from the OOUI icon groups editing-citation, interactions, or location can be used. Notably the icons "browser", "book", "map", "newspaper", "journal", as well as any other icon from these groups. Note that the icon names "browser" and "newspaper" differ from the corresponding citation type names "web" and "news".
- Icons starting with "ref-cite-…" are deprecated and only supported for backwards compatibility.
MediaWiki:Cite-tool-definition.jsonの設定メッセージが作成されたら、参照ツールは数分内に使えるようになります。
タイプの追加
もしタイプの追加を考えている場合、開発チームに是非ご連絡ください。助言やアイコン作成などの手助けができるほか、新しく作成されるタイプが全ウィキで定義されるべきか他ウィキと検討することもできます。
タイプを追加する手順:
- 作成したいタイプを決める
- たとえば、データベースへのリファレンスを作成したい場合、そのタイプを"database"と名付けます。
- ラベルを作る
- 例えば、ラベルの名前を"db"にして、
MediaWiki:Visualeditor-cite-tool-name-dbで"データベース"というラベルを追加することができます。これはあなたのウィキの言語で記述すべきです。あなたのウィキで複数の言語や文字が使われている場合、ラベルも複数作成する必要があります。
- 例えば、ラベルの名前を"db"にして、
- アイコンを作る
- たとえば、"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)"のようにアイコンのURLを追加します。
- たとえば、"ref-cite-dbase"というアイコンラベルを作成して、アイコン自体はSVGファイルとしてコモンズにアップロードします。続いて、
例
定義メッセージの例は英語版ウィキペディア、ポーランド語版ウィキペディア、フランス語版ウィキペディア、イタリア語版ウィキペディアを参照してください。 コードをご使用のウィキにコピー、ローカルの規則に従う名前に変えます。
テンプレートのタイプをマッピング
MediaWiki:Cite-tool-definition.json に加えて、出典のどのタイプ(種別)はどのテンプレートを使うのか、必ず MediaWiki:Citoid-template-type-map.json を作成して定義します。
英語版ウィキペディアが見本になります。
「要出典」ツール

「要出典」テンプレートはエディタ画面に「出典を追加」ボタンを表示する設定で、citationNeededキーを使ってMediaWiki:Visualeditor-template-tools-definition.jsonを設定します。
設定値はテンプレート名(リダイレクト用の複数の題名を記述可能)と引数のマッピングをリスト化します。 現在、対応しているのは以下の通りです:
reason– 文脈の項目に引用が必要な理由を示すdate– 文脈の項目にテンプレートが追加された日付"citation needed"を示すencapsulate- テンプレートに内包した文字列で、引用を加えたときに表示させる
これらマッピングの値は 、次のようにローカルのテンプレートで属性類(パラメータ)の名前に使います:
{
"citationNeeded": [
// このキーはそれぞれの言語で必ず "引用が必要" になる
// この一覧に含まれた項目はそれぞれ、一対一で特定のテンプレートを指す
{
"title": [
// タイトル title は文字列でもリダイレクトの一覧でも可
"Citation needed",
"Cn",
...
],
"params": {
"reason": "reason",
"date": "date"
}
},
// このテンプレートは、"encapsulate" 属性に対応するよう個別に定義。
// ウィキによっては、上記のテンプレートと同じ。
{
"title": [
"Citation needed span",
"Cite needed span",
...
],
"params": {
// パラメータは特定の文字列、または別名の一覧(aliases)のどちらか
"encapsulate": [ "1", "text" ],
"reason": "reason",
"date": "date"
}
}
]
}
JSON定義の例は 英語版ウィキペディアをご参照ください。
トラブルシューティング
Special:VersionではTemplateDataがインストールされていると表示されるにもかかわらず、出典ダイアログに引数欄が表示されない場合、出典テンプレートを編集して、変更点なしで保存する必要があります(いわゆる「空編集」)。 これはTemplateDataが(たとえば、Template:Cite_webではなくTemplate:Cite_web/docに存在するため)参照読み込みされるとき、親テンプレートが編集されるまでTemplateDataがデータベースにロードされないというバグによるものです。T52372もご参照ください。
なお、標準の4テンプレート以外のテンプレートを使用する場合、ユーザー体験はやや違うものとなります。例えば、出典ダイアログにおいて引数の一覧は最初には表示されないが、ボタンを押して引数の一覧を表示させることができます。