Help:Extension:GlobalCssJs/cs

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í
function onMultiLingualWikis(){
	// ...
}
function onWikibooks(){
	// ...
}
function onFrench(){
	// ...
}
function onRuWikisource(){
	// ...
}
function onEveryWiki(){
	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();
} else if ( /wikibooks$/.test( mw.config.get( 'wgDBname' ) ) ) {
	onWikibooks();
} else if ( mw.config.get( 'wgContentLanguage' ) === 'fr' ) {
	onFrench();
} else if ( 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' ) {
		( new mw.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');
}
Category:Extension help/cs
Category:Extension help/cs