ビジュアルエディター/参照ツール
ビジュアルエディターの引用ツール(VisualEditor citation tool)は皆さんのウィキの出典テンプレートを、ビジュアルエディターの利用者にも使えるようにするツールです。
To enable the tool, you'll need the following: a working installation of VisualEditor and Parsoid , citation templates on your wiki that use TemplateData to specify how they are invoked, and a special .json
message in order to hook VisualEditor and the templates together.
出典テンプレートをインポートする
出典機能を使うには出典テンプレートがあなたのウィキのデータベースに含まれている必要があります。新しくインストールされたウィキなど出典テンプレートがない場合、それらを導入する必要があります。最も簡単な導入方法はウィキペディアからコピーすることです。なお、すでに出典テンプレートがある場合は下記の手順を飛ばすことができます。
- 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
という特別な設定メッセージを作成する必要があります。これはウィキの間の差が大きく、使いたい機能をカスタマイズする必要があるためです。例えば、あなたのウィキで使われるテンプレートの名前はほかのウィキのそれとは違うかもしれません。
設定メッセージの目的
設定メッセージ:
- あなたのウィキにおいて標準の出典で使われるテンプレートを指定します(5つまで指定できます)。
- ご注意: どのテンプレートにも必ずテンプレートデータが必要です。 指定しなかった場合、かなりわかりにくいシステムになってしまいます。出典テンプレートがまだ使われていない場合は、英語版ウィキペディアからコピーして使うことが多いです。
- 出典の種類ごとに使いたいラベルを指定します。
- 標準では"web"、"book"、"news"、"journal"の4種類があります。たとえば、"web"のラベルは
MediaWiki:Visualeditor-cite-tool-name-web
で指定されます。
- 標準では"web"、"book"、"news"、"journal"の4種類があります。たとえば、"web"のラベルは
- 出典の種類ごとに使いたいアイコンを指定します。
- 標準では"ref-cite-web"、"ref-cite-book"、"ref-cite-news"、"ref-cite-journal"の4種類があります。
oo-ui-icon-ref-cite-news
といったCSSのクラスを指しており、アイコンはSVGファイルで背景画像として扱われます。
- 標準では"ref-cite-web"、"ref-cite-book"、"ref-cite-news"、"ref-cite-journal"の4種類があります。
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ファイルとしてコモンズにアップロードします。続いて、
例
定義メッセージの例は英語版ウィキペディア、ポーランド語版ウィキペディア、フランス語版ウィキペディア、イタリア語版ウィキペディアを参照してください。 コードをご使用のウィキにコピー、ローカルの規則に従う名前に変えます。
Template type mapping
In addition to MediaWiki:Cite-tool-definition.json
, you also need to create MediaWiki:Citoid-template-type-map.json
to specify which types of citations map to which templates.
You can see an example on the English Wikipedia.
「要出典」ツール
「要出典」テンプレートはエディタ画面に「出典を追加」ボタンを表示する設定で、citationNeeded
キーを使ってMediaWiki:Visualeditor-template-tools-definition.json
を設定します。
The configuration value lists templates (which can contain multiple titles for redirects) and parameter mappings. Currently supported keys are:
reason
- shows the reason a citation is needed in the context itemdate
- shows the date "citation needed" template was added in the context itemencapsulate
- text which has been wrapped by the template, and which should be unwrapped when a citation is added
The value of these mappings is the name of the parameter(s) in the local template:
{
"citationNeeded": [
// This key is always "citationNeeded" in every language
// Each item of this list represents a single template
{
"title": [
// Title can be a string, or list of redirects
"Citation needed",
"Cn",
...
],
"params": {
"reason": "reason",
"date": "date"
}
},
// This template is defined separately as it supports the
// "encapsulate" param. On some wikis this is the same
// template as the one above.
{
"title": [
"Citation needed span",
"Cite needed span",
...
],
"params": {
// Parameters can be a string or list of aliases
"encapsulate": [ "1", "text" ],
"reason": "reason",
"date": "date"
}
}
]
}
JSON定義の例は 英語版ウィキペディアをご参照ください。
トラブルシューティング
Special:VersionではTemplateDataがインストールされていると表示されるにもかかわらず、出典ダイアログに引数欄が表示されない場合、出典テンプレートを編集して、変更点なしで保存する必要があります(いわゆる「空編集」)。 これはTemplateDataが(たとえば、Template:Cite_webではなくTemplate:Cite_web/docに存在するため)参照読み込みされるとき、親テンプレートが編集されるまでTemplateDataがデータベースにロードされないというバグによるものです。タスク T52372もご参照ください。
なお、標準の4テンプレート以外のテンプレートを使用する場合、ユーザー体験はやや違うものとなります。例えば、出典ダイアログにおいて引数の一覧は最初には表示されないが、ボタンを押して引数の一覧を表示させることができます。