Manual:Interwiki/cs
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
api.php?action=query&meta=siteinfo&siprop=interwikimap
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.
[[metawikipedia:Main Page]]
.
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.
Protože Wikipedie není před verzí 1.10 ve výchozím nastavení nastavena, můžete ji přidat (i další projekty, které si přejete).
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:
- MySQL a PostgreSQL
<translate> MediaWiki versions:</translate> |
INSERT INTO interwiki (iw_prefix, iw_url, iw_local, iw_trans) VALUES ('w', 'https://en.wikipedia.org/wiki/$1', 1, 0);
Novější verze MediaWiki vyžadují některá další pole, například iw_wikiid
.
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í
File:Tools.svg
<translate> Tip for wiki admins:</translate> 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
File:Tools.svg
<translate> Tip for wiki admins:</translate> $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>de:Hauptseite</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);