Manual:インターウィキ
インターウィキ リンク (ウィキ間リンク) は、内部リンクに接頭辞を付けたスタイルを使用する、ページから他のプロジェクトへのリンクです。
インターウィキ リンクを使用すると、(例えば) ウィキペディア、ウィキブックス、ウィキニュースなどのページや、さまざまな言語のウィキ プロジェクトにリンクできます。 (Manual:ウィキファミリー を参照してください。)
[[Wikipedia:Main Page]]
のようなリンクはWikipedia:Main Pageのように表示され、ウィキペディアのメインページにリダイレクトされます。
他のプロジェクトへのインターウィキリンク
テーブルとクエリAPI
インターウィキ リンクは MediaWiki のデータベースの interwiki テーブルで保持されています。
You can retrieve the interwiki list from the interwikimap
property of the siteinfo meta query API, in other words by making an API request like:
既定
Several Wikimedia projects (and others) are ready for interwiki linking by default, so you can use them without editing your database.
The following are some examples of interwiki prefixes which are available by default (Wikipedia is also available, 1.10 and after):
接頭辞 | 転送先 URL | 使用例 |
---|---|---|
commons | https://commons.wikimedia.org/wiki/ | [[commons:MediaWiki]]
|
mediazilla | http://bugzilla.wikimedia.org/ | [[mediazilla:1209]]
|
metawikimedia (before version 1.23: metawikipedia) | https://meta.wikimedia.org/wiki/ | [[metawikimedia:Main Page]]
|
The full list of default interwiki prefixes is available at maintenance/interwiki.list
See Interwiki linking on Wikimedia wikis for complete information on linking from/to Wikimedia projects.
ウィキ間リンクに新しいウェブサイトを追加
- Interwiki links are set in the
interwiki
table of the database.
- These can be modified at Special:Interwiki. In MediaWiki 1.44 and later, this feature is built into MediaWiki core. Older versions can use the Interwiki extension.
テストの方法
環境設定をテストするには:
- Go to your site,
- create an article, with the following content:
[[w:Wikipedia:Village pump|]]
- This should display a link to the 'Village pump' page on en.Wikipedia.org (the url
https://en.wikipedia.org/wiki/Wikipedia:Village_pump
)
Field documentation
ウィキ管理者への助言: 複数のヘルプページは MediaWiki.org のManual 名前空間にリンクしています。 To make these links work on your local wiki, add an interwiki link with iw_prefix=manual
and iw_url=http://www.mediawiki.org/wiki/Manual:$1
ウィキ管理者への助言: $wgTranscludeCacheExpiry in your LocalSettings.php
should be set if changes in the transcluded wiki are done. Alternatively, you can flush the table transcache on your local wiki.
他の言語へのインターウィキリンク
すでに Wiki family をインストールしてあると、日本語版の記事からドイツ語版の対応する記事にリンクが貼れます(そのウィキでドイツ語版のプロジェクトが存在する場合。) MediaWiki を設定することで、これらのリンクをツールボックスの直下にあるサイドバーに表示できます。
ご利用のファイルシステムで MediaWiki をインストール先に下位フォルダー「languages」があるはずです。
そのフォルダを開き、Names.php
を調べると既知の言語版とその接頭辞が一覧になっています。
一例として、ドイツ語版のプロジェクトを追加する場合には Names.php
で "Deutsch" (ドイツ語)を検索すると、接頭辞の "de" を見つけます。
「正しい」接頭辞がわかっている場合は、データベースを編集し interwiki
テーブルに追加します。
iw_prefix |
language-prefix (e.g. "de" for German), which is listed in Names.php
|
iw_url |
URL to your wiki-project (e.g. http://de.example.org/index.php/$1 )
|
iw_local |
same as above at #Adding a new website for interwiki linking |
iw_trans |
same as above at Adding a new website for interwiki linking |
この方法で、他言語版の記事にもリンクが貼れます。
英語版のメインページに [[de:Hauptseite]]
を追加すると、ツールボックスの下部に "Deutsch" (ドイツ語)が増え、リンク先はドイツ語版ウィキペディアのウィキ(Hauptseite)になります。
留意点として、このリンクはサイドバーにのみ表示され、記事の文中には表れない点です。
テキストにリンクを埋め込む場合は、右記の例のように接頭辞の後に半角のコロン「:」が必要です。[[:de:Hauptseite]]
あるいは、$wgInterwikiMagic を false に設定します。
特定のウィキからウィキ間テーブルをエクスポートする
以下の JavaScript コードは API クエリを実行し、既存のウィキからインターウィキ・マップを取得し、SQL INSERT ステートメントを表示して新しいウィキのインターウィキ・テーブルに書き込みます。たとえばブラウザの開発者ツールを介してコードを挿入するか、Special:MyPage/skinname.js 内にコードを配置してプレビューし、実行します。
function ExtractInterwikiMapTable() {
$.getJSON(mw.config.get('wgScriptPath') + '/api.php?action=query&meta=siteinfo&siprop=interwikimap&format=json', function(data) {
var iw_prefix, iw_url, iw_local, iw_api, re_escape = /(')/g, result = '';
for (var i = 0, iwm = data.query.interwikimap; i < iwm.length; i++) {
iw_prefix = "'" + iwm[i].prefix.replace(re_escape, '\\$1') + "'";
iw_url = "'" + iwm[i].url.replace(re_escape, '\\$1') + "'";
iw_local = (typeof iwm[i].local == 'string') ? '1' : '0';
iw_api = "'" + (iwm[i].iw_api || '').replace(re_escape, '\\$1') + "'";
result += 'INSERT INTO interwiki (iw_prefix, iw_url, iw_local, iw_trans, iw_api) VALUES ('+iw_prefix+', '+iw_url+', '+iw_local+', 0, '+iw_api+');\n'
}
$('<textarea style="width:800px;height:400px;"/>').val(result).appendTo(document.body);
});
}
$(ExtractInterwikiMapTable);
Interwiki links versus external links
[[imdbtitle:0389790|Bee Movie]]
→Bee Movie
[http://www.imdb.com/title/tt0389790 Bee Movie]
→Bee Movie
Linksearch works for the latter only.
Wikitext using interwiki links isn't always easily transferable between different wikis because they don't consistently use the same interwiki prefixes, or they might not have them at all. Additionally, interwiki links can sometimes mislead users since they don't know when they're being sent to another site.
You can choose between "extiw" and "external text" CSS classes for links, depending on whether you want them to look the same or different. Using just the interwiki link is easier to type, but copying the URL from the webpage is handy. Templates like w:Template:imdb title can be set up to use either an interwiki link with a parameter like "tt0389790" or "0389790", or an external link with a parameter like one of those or the full URL, making it easier to include IMDb references.
Interwiki links to the local wiki
Interwiki links can be configured to point to the same wiki they are being rendered from. For example, mw:Manual:Interwiki/ja points to this page. These links are treated identically to internal links and do show up on Special:WhatLinksHere, appear bold if they are a selflink like the above, appear red if the page doesn't exist, etc.