Jump to content
MediaWiki

Nápověda:Rozšíření:GlobalCssJs

From mediawiki.org
This page is a translated version of the page Help:Extension:GlobalCssJs and the translation is 100% complete.

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:

Sdílené CSS/JavaScript pro všechny wiki:

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í

Hodnota Extension:GlobalPreferences (pokud je k dispozici) poskytuje tuto funkci pohodlněji.
/* 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');
}

AltStyle によって変換されたページ (->オリジナル) /