Aide:Extension:GlobalCssJs

This page is a translated version of the page Help:Extension:GlobalCssJs and the translation is 73% complete.

L'extension GlobalCssJs permet aux utilisateurs de créer une page JavaScript ou CSS pouvant être chargée dans tous les wiki d'une ferme de wiki. Si vous allez à Préférences > Apparence sur un wiki pour lequel l'extension est activée, vous trouverez les liens vers les scripts ou feuilles de styles globaux :

CSS/JavaScript partagé pour tous les wikis (plus d’informations) :

Sur les wikis de Wikimedia, ces personnalisations sont hébergées sur Meta-Wiki.

Scripts globaux (JavaScript)

Variables

Lors de l'ajout de scripts à votre global.js, veuillez noter que, comme pour gadgets, des variables déclarées avec "var example" ne sont pas attachées à l'objet window: il y a des variables locales dont le scope est une fonction enveloppe insérée par ResourceLoader pour implémenter le module global (qui est appelé "ext.globalcssjs.user"). Aussi, si vous envisagez de déplacer un script local vers un module global, qui nécessite la déclaration de variables globales, assurez vous d'utiliser la syntaxe "window.example" pour les déclarer.

Exemple

/* Tout code JavaScript ajouté à cette page sera chargé sur tous les wikis où vous avez un compte (voir la [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|documentation]]). */
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' );

Table des URLs

You will need to pass a full URL to load the script.

Exemples

/* Tout code JavaScript ajouté à cette page sera chargé sur tous les wikis où vous avez un compte (voir la [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|documentation]]). */

mw.loader.load( '//en.wikipedia.org/w/index.php?title=User:Lupin/popups.js&action=raw&ctype=text/javascript' );


Personnalisation de l'apparence

Exemple

/* Tout code JavaScript ajouté à cette page sera chargé sur tous les wikis où vous avez un compte (voir la [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|documentation]]). */
// Define a few functions
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();
}

Pour exclure une propriété

If you want to exclude a specific wiki, e.g. English Wikisource, you can wrap all or part of your global.js with:

if ( mw.config.get("wgDBname") !== "enwikisource" ) {
	// <span lang="en" dir="ltr" class="mw-content-ltr">Whatever JavaScript you want to run on all wikis but enwikisource, goes here</span>
}

Exemple : définir une langue d'interface globale

Note: Extension:GlobalPreferences (if present) provides this functionality more conveniently.

/* Change language to German */
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( 'Language has been changed to German. Please refresh the page.' );
		} );
	} else {
		console.log( 'Language already set to German!' );
	}
} );

Feuilles de style globales (CSS)

Note: Any @import ... lines must be at the top.

Exemple

/* Tout CSS ajouté à cette page sera chargé sur tous les wikis où vous avez un compte (voir la [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|documentation]]). */

/* Hide a few elements of the interface */
#n-help,
#footer {
	display: none !important;
}

Personnalisation par skin

Currently the extension does not provide global CSS/JS for specific skins, but it is possible to customize CSS and JS for a skin globally. For CSS, you can edit the appearance of a specific skin by using classes such as "skin-vector" and "skin-monobook", which are added to the body element automatically by MediaWiki. You can use the :not() selector to skip just one skin, e.g. :not(.skin-minerva) to not apply the rule to the mobile skin.

Exemple

/* Tout CSS ajouté à cette page sera chargé sur tous les wikis où vous avez un compte (voir la [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|documentation]]). */

/* Hide a few elements of the interface on vector skin */
.skin-vector #n-help,
.skin-vector #footer {
	display: none !important;
}

/* Bold the sidebar interwiki links to Enwiki/Simple, and interproject links to Commons/WikiVoyage */
.interwiki-en, .interwiki-simple, .wb-otherproject-commons, .wb-otherproject-wikivoyage {
        font-weight: bold;
}

Example (JS)

/* Tout code JavaScript ajouté à cette page sera chargé sur tous les wikis où vous avez un compte (voir la [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|documentation]]). */
// Load JWB globally when using the Vector skin

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');
}