Příručka:Interwiki
Interwiki links jsou odkazy na stránky z jiných projektů, které kombinují interní odkazy s prefixy.
Těmito odkazy můžete prolinkovat svoji vlastní wiki se stránkami z Wikipedie, Wikiknih, Wikinews a jinými v různých jazycích. (Podívejte se na stránku Příručka:Rodina wiki .)
Odkaz jako [[Wikipedia:Main Page]]
se zobrazí takto: Wikipedia:Main Page vás přesměruje na hlavní stránku Wikipedie.
Interwiki odkazy na jiné projekty
Tabulka a dotaz API
Odkazy Interwiki jsou hostovány v tabulce interwiki v databázi MediaWiki.
Seznam interwiki můžete načíst z vlastnosti interwikimap
meta dotazu API siteinfo , jinými slovy vytvořením požadavku API jako například
Výchozí
Několik projektů Wikimedie (a dalších) je ve výchozím nastavení připraveno pro propojení interwiki, takže je můžete použít bez úprav databáze.
Následuje několik příkladů předpon interwiki, které jsou standardně dostupné (Wikipedie je má k dispozici také od verze 1.10 a mladší):
předpona | cílová adresa URL | příklad použití |
---|---|---|
commons | https://commons.wikimedia.org/wiki/ | [[commons:MediaWiki]]
|
mediazilla | http://bugzilla.wikimedia.org/ | [[mediazilla:1209]]
|
metawikimedia (před verzí 1.23: metawikipedia) | https://meta.wikimedia.org/wiki/ | [[metawikimedia:Main Page]]
|
Úplný seznam výchozích předpon interwiki je k dispozici na stránce maintenance/interwiki.list.
Úplné informace o propojení z nebo do projektů Wikimedie najdete na stránce m:Help:Interwiki linking.
Přidání nového webu pro propojení interwiki
- Interwiki odkazy jsou nastaveny v tabulce
interwiki
databáze. - Chcete-li je upravit, budete muset upravit databázi, jak je uvedeno níže.
Doporučuje se použít rozšíření "Interwiki", které proces usnadňuje.
Níže uvedené příklady ukazují, jak nastavit w:
jako odkaz na anglickou Wikipedii.
Záměrem je vložit řádek do formuláře:
('prefix', 'URL format string', 1, 0)
do tabulky interwiki
.
Jeden řádek
Pokročilí uživatelé mohou používat jeden příkazový řádek takto:
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, '');
Export, přidání, opětovný import
Případně můžete použít následující vícekrokový proces, který exportuje tabulku interwiki
, přidá řádek a znovu jej importuje:
- Exportujte tabulku databáze
interwiki
- Na konec tabulky přidejte řádek následujícího formuláře (jako příklad použijte anglickou wikipedii):
('w', 'https://en.wikipedia.org/wiki/$1', 1, 0);
- Importujte tabulku databáze
interwiki
Testování
Testování konfigurace:
- Přejděte na svůj web.
- Vytvořte článek s následujícím obsahem:
[[w:Wikipedia:Village pump|]]
- To by mělo zobrazovat odkaz na stránku 'Village pump' na en.Wikipedia.org (url
https://en.wikipedia.org/wiki/Wikipedia:Village_pump
)
Dokumentace polí
Tip pro správce wiki: Několik stránek nápovědy odkazuje na Manual jmenný prostor MediaWiki.org. Chcete-li, aby tyto odkazy fungovaly na vaší místní wiki, přidejte odkaz na interwiki s iw_prefix=manual
a iw_url=http://www.mediawiki.org/wiki/Manual:$1
Tip pro správce wiki: $wgTranscludeCacheExpiry ve vašem LocalSettings.php
by mělo být nastaveno, pokud jsou provedeny změny v přenesené wiki. Alternativně můžete na místní wiki vyčistit plochu transcache.
Interwiki odkazy na jiné jazykové verze
Pokud jste nainstalovali Wiki family , můžete odkazovat z článku v angličtině na článek v němčině (pokud máte i německý projekt). Můžete nastavit MediaWiki, aby tyto odkazy zobrazoval na postranním panelu, hned pod panelem nástrojů.
Ve vašem souborovém systému je podsložka vaší instalace MediaWiki, nazvaná "jazyky".
Jděte tam a podívejte se na Names.php
. Obsahuje seznam známých jazyků a jejich předpony.
Např. chcete přidat svůj německý projekt, hledejte Names.php
pro "Deutsch" a poznamenejte si předponu "de".
Pokud znáte správnou předponu, upravte svou databázi přidáním nového řádku do tabulky interwiki
:
iw_prefix |
prefix jazyka (např. "de" pro němčinu), který je uveden v Names.php .
|
iw_url |
URL na váš projekt wiki (např. http://de.example.org/index.php/$1 ).
|
iw_local |
Stejné jako výše "Přidání dalších". |
iw_trans |
Stejné jako výše "Přidání dalších" |
Nyní můžete propojit článek se stejným v jiných jazycích.
Přidáním <nowicki></nowiki>
na svou anglickou Main_Page vytvoří odkaz "Deutsch" pod panelem nástrojů, což vede k Main_Page německé wiki (Hauptseite).
Tento odkaz je zobrazen v části postranního panelu, pouze, nikoli uvnitř článku.
Pokud chcete vytvořit odkaz uvnitř textu, musíte přidat dvojtečku před: [[:de:Hauptseite]]
nebo nastavit $wgInterwikiMagic na false .
Export tabulky interwiki z wiki
Následující kód JavaScript provede dotaz API k načtení mapy interwiki existující wiki a poté zobrazí příkazy SQL INSERT, aby vyplnily tabulku interwiki na nové wiki. Spustíte jej například vložením kódu pomocí vývojových nástrojů vašeho prohlížeče nebo umístěním do Special:MyPage/skinname.js a náhledu.
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/cs 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.