Nápověda:Rozšíření:GlobalCssJs
Rozšíření GlobalCssJs umožňuje uživatelům vytvořit stránku JavaScript a stránku CSS, které se načtou do každé wiki farmy.
Pokud na jakékoli wiki, kde je toto rozšíření povoleno, přejdete na stránku Nastavení > Vzhled , najdete odkazy na vaše globální skripty a stylové listy:
Na stránkách wikin Wikimedie jsou tato globální přizpůsobení hostována na Meta-Wiki.
Všeobecné skripty (JavaScript)
Proměnné
Při přidávání skriptů do souboru global.js mějte na paměti, že stejně jako u gadgets nejsou proměnné deklarované s parametrem "var example" připojeny k objektu window: Jedná se o lokální proměnné, jejichž rozsah je obalovací funkce vložená parametrem ResourceLoader pro implementaci globálního modulu (který se nazývá "ext.globalcssjs.user").
Pokud tedy plánujete přesunout lokální skript do globálního modulu a ten potřebuje definovat globální proměnné, ujistěte se, že k jejich deklaraci používáte syntaxi "window.example".
Příklad
/* Libovolný JavaScript přidaný na tuto stránku se bude načítat na všech wiki, na kterých máte účet (viz [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|dokumentaci]]). */ window.myConfig=true; // [[wikipedia:User:Lupin/popups]] window.popupAdminLinks=true; mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Lupin/popups.js&action=raw&ctype=text/javascript');
Explicitní URL
Pro načtení skriptu budete muset zadat úplnou URL adresu.
Příklad
/* Libovolný JavaScript přidaný na tuto stránku se bude načítat na všech wiki, na kterých máte účet (viz [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|dokumentaci]]). */ mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Lupin/popups.js&action=raw&ctype=text/javascript');
Přizpůsobení pro jednotlivé wiki
Příklad
/* Libovolný JavaScript přidaný na tuto stránku se bude načítat na všech wiki, na kterých máte účet (viz [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|dokumentaci]]). */ // Definujte několik funkcí functiononMultiLingualWikis(){ // ... } functiononWikibooks(){ // ... } functiononFrench(){ // ... } functiononRuWikisource(){ // ... } functiononEveryWiki(){ mw.loader.load('//www.mediawiki.org/w/index.php?title=MediaWiki:Gadget-UTCLiveClock.js&action=raw&ctype=text/javascript'); } onEveryWiki(); if(/^(mediawiki|wikidata|meta|commons)wiki$/.test(mw.config.get('wgDBname'))){ onMultiLingualWikis(); }elseif(/wikibooks$/.test(mw.config.get('wgDBname'))){ onWikibooks(); }elseif(mw.config.get('wgContentLanguage')==='fr'){ onFrench(); }elseif(mw.config.get('wgDBname')==='ruwikisource'){ onRuWikisource(); }
Vyloučení wiki
Pokud chcete vyloučit konkrétní wiki, např. anglický Wikisource, můžete celý soubor global.js nebo jeho část zabalit do:
if(mw.config.get("wgDBname")!=="enwikisource"){ // Sem se přidává jakýkoli JavaScript, který chcete spouštět na všech wikinách kromě enwikisource. }
Příklad: Nastavení globálního jazyka rozhraní
/* Změnit jazyk na němčinu */ mw.loader.using('mediawiki.user',function(){ if(mw.user.options.get('language')!=='de'){ (newmw.Api()).postWithToken('csrf',{ action:'options', change:'language=de' }).then(function(){ mw.notify('Jazyk byl změněn na němčinu. Aktualizujte prosím stránku.'); }); }else{ console.log('Jazyk je již nastaven na němčinu!'); } });
Globální stylové listy (CSS)
Poznámka: Všechny řádky @import ... musí být nahoře.
Příklad
/* Libovolné CSS přidané na tuto stránku se bude načítat na všech wiki, na kterých máte účet (viz [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Extension:GlobalCssJs dokumentaci]). */ /* Skrytí několika prvků rozhraní */ #n-help, #footer{ display:none!important; }
Přizpůsobení jednotlivých vzhledů
Rozšíření v současné době neposkytuje globální CSS/JS pro konkrétní vzhledy, ale je možné CSS a JS pro vzhled globálně přizpůsobit.
V CSS můžete upravit vzhled konkrétního skinu pomocí tříd jako "skin-vector" a "skin-monobook", které MediaWiki automaticky přidává k elementu body.
Selektor :not() můžete použít k přeskočení pouze jednoho vzhledu, např. :not(.skin-minerva), abyste pravidlo nepoužili na mobilní vzhled.
Příklad (CSS)
/* Libovolné CSS přidané na tuto stránku se bude načítat na všech wiki, na kterých máte účet (viz [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Extension:GlobalCssJs dokumentaci]). */ /* Skrýt několik prvků rozhraní na vektorovém vzhledu */ .skin-vector#n-help, .skin-vector#footer{ display:none!important; } /* Zvýrazněte tučně postranní panel s interwiki odkazy na en.wikipedia.org, simple.wikipedia.org a interprojektovými odkazy na Commons/Wikivoyage */ .interwiki-en,.interwiki-simple,.wb-otherproject-commons,.wb-otherproject-wikivoyage{ font-weight:bold; }
Příklad (JS)
/* Libovolný JavaScript přidaný na tuto stránku se bude načítat na všech wiki, na kterých máte účet (viz [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|dokumentaci]]). */ // Načíst JWB globálně při použití vektorového vzhledu if(mw.config.get('skin')==='vector'){ mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js/load.js&action=raw&ctype=text/javascript'); }