คู่มือการใช้งาน:อินเตอร์วิกิ
อินเตอร์วิกิลิงก์ คือลิงก์ไปยังหน้าต่าง ๆ ของโครงการอื่น ๆ โดยใช้รูปแบบลิงก์ภายในเติมเข้าไป
อินเตอร์วิกิลิงก์ ทำให้สามารถเชื่อมโยงไปยังหน้าเว็บ เช่น วิกิพีเดีย, วิกิตำรา, วิกิข่าว เป็นต้น หรือสู่หรือโครงการวิกิของคุณในภาษาต่าง ๆ (ดู คู่มือ:Wiki family )
ลิงก์เช่น [[Wikipedia:Main Page]]
จะปรากฏดังนี้: Wikipedia:Main Page และเปลี่ยนทางคุณไปยังหน้าหลักของวิกิพีเดีย
อินเตอร์วิกิลิงก์สู่โครงการอื่น ๆ
Table and query API
อินเตอร์วิกิลิงก์จะเป็นส่วนปฏิคมในตาราง interwiki ของฐานข้อมูลมีเดียวิกิ คุณสามารถดึงรายการอินเตอร์วิกิจากคุณสมบัติ interwikimap ของ siteinfo meta query API หรืออีกนัยหนึ่งโดยการร้องขอ API เช่น
ค่าเริ่มต้น
โครงการวิกิมีเดียหลายโครงการ (และอื่น ๆ) พร้อมสำหรับการเชื่อมโยงระหว่างกันโดยปริยาย เพื่อให้คุณสามารถใช้งานได้โดยไม่ต้องแก้ไขฐานข้อมูลของคุณ
ต่อไปนี้คือตัวอย่างของคำนำหน้าอินเตอร์วิกิ ซึ่งพร้อมใช้งานโดยค่าเริ่มต้น (วิกิพีเดียยังมีอยู่, 1.10 และรุ่นหลังจากนั้น):
อักขระเติมหน้า | ยูอาร์แอล ปลายทาง | ตัวอย่างการใช้งาน |
---|---|---|
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]]
|
รายการเต็มรูปแบบของอักขระเติมหน้าอินเตอร์วิกิค่าเริ่มต้นสามารถดูได้ที่ maintenance/interwiki.list
ดู m:Help:Interwiki linking สำหรับสำหรับข้อมูลที่สมบูรณ์เกี่ยวกับการเชื่อมโยงจาก/ถึงโครงการวิกิมีเดีย
การเพิ่มเว็บไซต์ใหม่สำหรับการเชื่อมโยงอินเตอร์วิกิ
- อินเตอร์วิกิลิงก์ได้รับการตั้งค่าในตาราง
interwiki
ของฐานข้อมูล
- 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.
ทดสอบ
ทดสอบการกำหนดค่า:
- ไปที่เว็บไซต์ของคุณ,
- สร้างบทความ ด้วยเนื้อหาดังต่อไปนี้:
[[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
ทิปสำหรับผู้ดูแลระบบโครงข่าย: Several help pages link to MediaWiki.org's Manual namespace. 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.
Interwiki links to other languages
If you have installed a Wiki family , you can link from an article in English to an article in German (if you have a German project, too). You can set up MediaWiki to show those links in the sidebar, just below the toolbox.
In your filesystem, there is a subfolder of your MediaWiki installation, called "languages".
Go there and have a look at Names.php
as it contains a list of known languages and their prefixes.
E.g. you want to add your German project, search Names.php
for "Deutsch" and note the prefix "de".
If you know the "right" prefix, edit your database by adding a new line to table 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 |
Now, you can link an article to the same in other languages.
Adding [[de:Hauptseite]]
on your English Main_Page will create a link "Deutsch" below the toolbox, which leads to the Main_Page of the German wiki (Hauptseite).
Note, that this link is shown in Sidebar's section, only, and not inside of the article.
If you want to create a link inside of the text, you have to add a colon previous to the prefix: [[:de:Hauptseite]]
or set $wgInterwikiMagic to false.
Exporting the interwiki table from a wiki
The following JavaScript code performs the API query to retrieve the interwiki map of an existing wiki, then displays the SQL INSERT statements to fill the interwiki table on a new wiki. You run it for example by injecting the code through your browser's developer tools, or by placing it inside Special:MyPage/skinname.js and previewing.
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/th 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.