Manual:Vikiarası
Vikiarası bağlantılar, önekli bir dahili bağlantı stili kullanan diğer projelerin sayfalarına bağlantılardır.
Vikiarası bağlantıları, (örneğin) Vikipedi, Vikikitaplar, Vikihaber vb. sayfalarına veya farklı dillerdeki viki projenize bağlanmayı mümkün kılar. (Manual:Viki çiftliği sayfasına bakın.)
[[Wikipedia:Main Page]]
gibi bir bağlantı şöyle görünecektir: Wikipedia:Main Page ve sizi Vikipedi'nin Ana Sayfasına yönlendirecek.
Diğer projelere vikiarası bağlantıları
Tablo ve sorgu API'si
Vikiarası bağlantıları, MediaWiki veritabanının interwiki tablosunda barındırılır. Interwiki listesini siteinfo meta sorgu API'sinin interwikimap özelliğinden, başka bir deyişle gibi bir API isteğinde bulunarak alabilirsiniz.
Varsayılan
Birkaç Wikimedia projesi (ve diğerleri) varsayılan olarak interviki bağlantısına hazırdır, böylece bunları veritabanınızı düzenlemeden kullanabilirsiniz.
Aşağıda, varsayılan olarak kullanılabilen vikiarası öneklerinin bazı örnekleri verilmiştir (Vikipedi da mevcuttur, 1.10 ve sonrası):
önek | hedef URL'si | kullanım örneği |
---|---|---|
commons | https://commons.wikimedia.org/wiki/ | [[commons:MediaWiki]]
|
mediazilla | http://bugzilla.wikimedia.org/ | [[mediazilla:1209]]
|
metawikimedia (1.23 sürümünden önce: metawikipedia) | https://meta.wikimedia.org/wiki/ | [[metawikimedia:Main Page]]
|
Varsayılan interwiki öneklerinin tam listesi maintenance/interwiki.list sayfasında mevcuttur.
Wikimedia projelerinden/projelerine bağlanma hakkında tam bilgi için m:Help:Interwiki linking sayfasına bakın.
Vikiarası bağlantısı için yeni bir web sitesi ekleme
- Vikiarası bağlantıları, veritabanının
interwiki
tablosunda ayarlanır.
- Bunları değiştirmek için, aşağıdaki gibi veritabanını düzenlemeniz gerekecektir.
İşlemi kolaylaştıran "Interwiki" uzantısını kullanmanız önerilir.
Aşağıdaki örnekler, w:
önekinin İngilizce Vikipedi'ye bir bağlantı olarak nasıl ayarlanacağını göstermektedir.
Fikir, formun bir satırını eklemektir:
('prefix', 'URL format string', 1, 0)
interwiki
tablosuna.
Tek satır
İleri düzey kullanıcılar, aşağıdaki gibi tek bir komut satırı kullanabilir:
INSERT INTO interwiki (iw_prefix, iw_url, iw_api, iw_local, iw_trans, iw_wikiid)
VALUES ('w', 'https://en.wikipedia.org/wiki/$1', 'https://en.wikipedia.org/w/api.php', 0, 1, '');
Dışa aktar, ekle, yeniden içe aktar
Alternatif olarak, interwiki
tablosunu dışa aktaran, bir satır ekleyen ve ardından yeniden içe aktaran aşağıdaki çok adımlı işlemi kullanabilirsiniz:
interwiki
veritabanı tablosunu dışa aktarın
- tablonun sonuna aşağıdaki formda bir satır ekleyin (örnek olarak İngilizce Vikipedi kullanarak):
('w', 'https://en.wikipedia.org/wiki/$1', 1, 0);
interwiki
veritabanı tablosunu içe aktarın
Test etmek için
Yapılandırmayı test etmek için:
- Sitenize gidin,
- aşağıdaki içeriğe sahip bir madde oluşturun:
[[w:Wikipedia:Village pump|]]
- Bu, en.Wikipedia.org'daki 'Village pump' sayfasına bir bağlantı göstermelidir (
https://en.wikipedia.org/wiki/Wikipedia:Village_pump
url)
Alan belgelendirmesi
Wiki yöneticileri için ipucu: MediaWiki.org'un Manual ad alanına bağlantı veren birkaç yardım sayfası. Bu bağlantıların yerel vikinizde çalışmasını sağlamak için, iw_prefix=manual ve iw_url=http://www.mediawiki.org/wiki/Manual:iw_prefix=manual
içeren bir vikiarası bağlantısı ekleyin
Wiki yöneticileri için ipucu: LocalSettings.php
dosyanızdaki $wgTranscludeCacheExpiry , yansıtılmış vikide değişiklikler yapılırsa ayarlanmalıdır. Alternatif olarak, yerel vikinizdeki transcache tablosunu temizleyebilirsiniz.
Diğer dillere vikiarası bağlantıları
Bir Viki çiftliği yüklediyseniz, İngilizce bir maddeden Almanca bir maddeye bağlantı verebilirsiniz (eğer bir Almanca projeniz de varsa). MediaWiki'yi bu bağlantıları araç kutusunun hemen altındaki kenar çubuğunda gösterecek şekilde ayarlayabilirsiniz.
Dosya sisteminizde, MediaWiki kurulumunuzun "diller" adı verilen bir alt klasörü vardır.
Oraya gidin ve Names.php
dosyasına bir göz atın, çünkü içinde bilinen dillerin ve öneklerinin bir listesi var.
Örneğin. Almanca projenizi eklemek istiyorsanız, "Deutsch" için Names.php
araması yapın ve "de" önekini not edin.
"Doğru" öneki biliyorsanız, interwiki
tablosuna yeni bir satır ekleyerek veritabanınızı düzenleyin:
iw_prefix |
*iw_prefix : dil-öneki (ör. Almanca için "de"), "Names.php " içinde listelenen
|
iw_url |
*iw_url : Viki projenizin URL'si (ör. http://de.example.org/index.php/<code><nowiki>http://de.example.org/index.php/$1 </nowiki>)
|
iw_local |
*iw_local : yukarıdaki "Daha Fazla Ekleme" ile aynı
|
iw_trans |
*iw_trans : yukarıdaki "Daha Fazla Ekleme" ile aynı
|
Şimdi, bir maddeyi diğer dillerdeki aynı maddeye bağlayabilirsiniz.
İngilizce Main_Page sayfanıza [[de:Hauptseite]]
eklenmesi, araç kutusunun altında bir "Deutsch" bağlantısı oluşturacaktır ve bu, Almanca vikinin (Hauptseite) Main_Page sayfasına götürür.
Bu bağlantının maddenin içinde değil, Kenar çubuğu'nun yalnızca bölümünde gösterildiğini unutmayın.
Metnin içinde bir bağlantı oluşturmak istiyorsanız, önekin önüne iki nokta üst üste eklemeniz gerekir: [[:de:Hauptseite]]
veya $wgInterwikiMagic ile false olarak ayarlayın.
Vikiarası tablosunu bir vikiden dışa aktarma
Aşağıdaki JavaScript kodu, var olan bir vikinin vikiarası haritasını almak için API sorgusunu gerçekleştirir, ardından yeni bir wivikideki vikiarası tablosunu doldurmak için SQL INSERT ifadelerini görüntüler. Örneğin, kodu tarayıcınızın geliştirici araçlarıyla enjekte ederek veya Special:MyPage/görünüm adı.js içine yerleştirerek ve önizleme yaparak çalıştırırsınız.
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/tr 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.