Manual:ResourceLoaderSkinModule/fr

Depuis MW 1.39 ResourceLoaderSkinModule.php est renommé SkinModule.php. Il est possible que la documentation ci-dessous ne soit plus actuelle.

ResourceLoaderSkinModule est un type spécial de module qui fournit des squelettes de styles pour vous aider à réaliser un habillage opérationnel. Peut être utilisé en enregistrant un module dans le fichier skin.json de votre habillage de la manière suivante :

"skins.myskin.styles": {
        "class": "MediaWiki\\ResourceLoader\\SkinModule",
        "features": {
                "normalize": true,
                "elements": true,
                "content": true,
                "interface": true,
                "logo": true
        },
        "styles": [ "resources/skin.css" ]
},
Version de MediaWiki :
1.36

Fonctionnalités

Fonctionnalité Valeur par défaut Description HTML nécessaire Notes
logo false Ajoute le CSS pour mettre en forme un élément avec la classe mw-wiki-logo en utilisant la valeur de wgLogos['1x']. Pour les nouveaux habillages nous recommandons d'utiliser la balise img directement en incluant le logo.
<div id="p-logo" role="banner">
       <a class="mw-wiki-logo" href="/wiki/MediaWiki" title="Visit the main page"></a>

   </div>
Sera vraisemblablement obsolète à l'avenir. Il est recommandé d'utiliser la balise img pour ne pas bloquer les habillages.

(introduit dans 1.35)

normalize true Normalizes browser default styles to sensible defaults. n/a (introduit dans 1.35)
elements false An opinionated set of styles to be used with or instead of normalize.

Only styles for single elements are included, no styling for complex structures like the TOC is present. This level is for skins that want to implement the entire style of even content area structures like the TOC themselves. Peut être redondant si vous utilisez normalize en fonction de votre habillage.

n/a This can be considered as an opinionated version of normalize. (introduit dans 1.35)
legacy false Fonctionnalité historique, utilisée dans MediaWiki de la 1.35 à 1.38. A été découpé en plusieurs fonctionnalités listées dans cette table. Si activé, cela activera les fonctionnalités content-thumbnails, interface-category, content.tables et i18n (i18n-ordered-lists, i18n-all-lists-margins, i18n-headings).


Les styles restants dans ce module doivent être redondants. Les habillages qui en sortent doivent activer mediawiki.pager.tablePager, mediawiki.action.styles

n/a (obsolète depuis v. 1.37 (T89981)) (supprimé en 1.38 (T304325)) (introduit dans 1.35)
Style des contenus
content false Alias pour content-thumbnails. n/a (obsolète depuis v. 1.37) Don't use. (introduit dans 1.35)
content-thumbnails false Styles pour les vignettes et les éléments flottants. Nécessaire aux habillages qui souhaitent prendre en charge l'arrangement des vignettes sur la page. n/a (obsolète depuis v. 1.37) Utiliser le média du contenu à la place. (introduit dans 1.36)
content-media false Styles for the new media structure on wikis where $wgUseNewMediaStructure is enabled. Voir Parsing/Media structure. May be merged into content-thumbnails so should be considered unstable n/a Remplace les vignettes de contenu en 1.37 . (introduit dans 1.36)
content-links false The skin will apply optional styling rules for links that should be styled differently to the rules in elements and normalize. It provides support for .mw-selflink, a.new (red links), a.stub (stub links) and some basic styles for external links.

Fournit également les règles de prise en charge des préférences utilisateur pour le soulignement.

n/a (introduit dans 1.36)
content-links-external false L'habillage adoptera les règles facultatives de mise en forme des liens pour fournir les icônes correspondantes aux différents types de fichiers. (introduit dans 1.37)
content-body true Styles associés à l'analyseur syntaxique. n/a Ne pas désactiver ni activer, à moins de savoir ce que vous faites. Ancien content-parser-output (introduit dans 1.36)
content-tables false Styles associés aux tableaux créés en wikicode. A remplacer si l'aspect esthétique ne vous convient pas. n/a (introduit dans 1.36)
Interface styles
interface false Provides basic styles for MediaWiki concepts such as indicators, menus (Allows gadget developers to hide them) to get started with a skin quicker. Includes the orange user message bar, edit links, and site notices. Les développeurs d'habillage avancés peuvent souhaiter que cela soit désactivé pour fournir leur propres règles de style.

Alias for interface-core, interface-indicators, interface-subtitle, interface-user-message, interface-site-notice and interface-edit-section-links.

(introduit dans 1.35)
interface-category false Fournit une boîte grisée de styles pour les catégories. Peut être désactivé si l'habillage ne prend pas en charge les catégories ou s'il souhaite les mettre en forme différemment. (introduit dans 1.36)
interface-core true Styles des interfaces noyau nécessaires. Il n'est pas recommandé de les désactiver. (introduit dans 1.39)
interface-edit-section-links false Styles des interfaces par défaut pour les liens de modification des sections. (introduit dans 1.39)
interface-indicators false Style des interfaces par défaut pour les indicateurs. (introduit dans 1.39)
interface-message-box false Provides support for styling warning, error and success message boxes across all pages. Skins worried about performance may wish to limit where this feature is loaded by using an additional module.

Les habillages n'ont plus besoin de fournir cela depuis la 1.43 .

(introduit dans 1.36) (obsolète depuis v. 1.43)
interface-site-notice false Style des interfaces par défaut pour les notices de site. (introduit dans 1.39)
interface-subtitle false Styles des interfaces par défaut pour la zone de sous-titre. (introduit dans 1.39)
interface-user-message false Styles des interfaces par défaut pour les messages utilisateur HTML (vous avez une nouvelle boîte de message de la page de discussion) (introduit dans 1.39)
toc true Fournit une boîte grisée de styles pour les catégories. Can be disabled if skin disables or provides its own table of contents. (introduit dans 1.36)
support i18n
i18n-ordered-lists false Styles pour les listes ordonnées d'éléments supportant un contenu en plusieurs langues. (introduit dans 1.35)
i18n-all-lists-margins false Styles des marges pour les listes d'éléments où LTR et RTL sont utilisés. From 1.43, this is provided by the elements module or must be provided by the (obsolète depuis v. 1.43) (introduit dans 1.35)
i18n-headings false Styles for line-heights of headings across different languages. (introduit dans 1.35)

Pour les habillages utilisant les modules obsolètes

The mediawiki.skinning.interface, mediawiki.skinning.content, mediawiki.toc.styles, mediawiki.legacy.config, mediawiki.legacy.shared, mediawiki.legacy.commonPrint modules were removed in 1.39. Les remplacements sont documentés ici.

mediawiki.skinning.interface

"skin.{name}.styles": {
    "class": "MediaWiki\\ResourceLoader\\SkinModule",
    "features": {
        "content-links": true,
        "content-media": true,
        "interface-message-box": true,
        "interface-category": true,
        "content-tables": true,
        "i18n-ordered-lists": true,
        "i18n-all-lists-margins": true,
        "i18n-headings": true,
        "elements": true,
        "interface": true,
        "logo": true
    },
    ..
}

Pour les habillages utilisant des fonctionnalités obsolètes

v1.43: fonctionnalité interface-message-box obsolète

No replacement is needed - just remove the feature, unless you need to retain support for extensions that make use of mw-message-box markup and haven't updated to Codex. Informations complémentaires dans phab:T360668.

v1.43: fonctionnalité i18n-all-lists-margins obsolète

Les habillages qui utilisent le i18n-all-lists-margins peuvent ajouter la fonctionnalité elements.

If you don't want to add the elements feature you can add the following CSS to your skin:

@import 'mediawiki.mixins.less';
ul {
	margin-top: 0.3em;
	.margin-inline( 1.6em, 0 );
	padding: 0;
}

ol {
	margin-top: 0.3em;
	.margin-inline( 3.2em, 0 );
	padding: 0;
}

dd {
	.margin-inline( 1.6em, 0 );
}

v1.38 Pour les habillages rendant obsolètes les anciennes fonctionnalités

Les habillages qui utilisent la fonctionnalité legacy doivent à la place activer les fonctionnalités suivantes

Avant :

"skins.legacy": {
    "class": "MediaWiki\\ResourceLoader\\SkinModule",
    "features": {
        "legacy": true
    },
    ..
}

Après :

"skins.legacy": {
    "class": "MediaWiki\\ResourceLoader\\SkinModule",
    "features": {
        "content-links": true,
        "content-thumbnails": true,
        "interface-message-box": true,
        "interface-category": true,
        "content-tables": true,
        "i18n-ordered-lists": true,
        "i18n-all-lists-margins": true,
        "i18n-headings": true
    },
    ..
}

When making this transition please report any bugs and heed the following advice...

Recommendations

Il est recommandé d'activer les fonctionnalités normalize et elements

Without this, you may notice some elements look a little off, particularly in print mode. However if your skin provides alternatives you can ignore.

visualClear

Skins making use of visualClear should instead use the clear fix mixin (.mixin-clearfix()). To aid migrating add the following style to your skin:

.visualClear {
    clear: both;
}

Les habillages doivent définir en rouge les liens vers les pages non existantes

Les habillages qui utilisent l'ancienne fonctionnalité reçoivent actuellement la couleur rouge pour le lien ba0000. Les habillages qui utilisent la fonctionnalité content-links recevront une couleur de d33. In future skins will be able to define a LESS variable to override it.

Pour les habillages qui ne les importent pas, ces liens apparaîtront comme des liens classiques.

Suggéré :

a.new {
	color: #ba0000;
}

Les habillages doivent mettre en forme leurs liens de modification s'ils n'incluent pas la fonctionnalité interface

If a skin does not include the interface feature, it may make sense for the skin to copy across the content of the deprecated styles inside resources/src/mediawiki.skinning/interface-edit-section-links.less. Skins are encouraged to be opinionated about how edit links display and to revise these as needed.

Skins using error, warning or success classes should provide their own styles

  • Consider using mw-messagebox, mw-warningbox, mw-successbox instead and there associated Html::warningBox/Html::messageBox PHP classes.

Vérifiez votre habillage lorsque vous imprimez

please check your print stylesheet, in particular for UI regressions relating to the footer.

  • Seuls les habillages utilisant la fonctionnalité de l'interface vont masquer automatiquement les éléments avec la classe printfooter.
  • Les habillages qui utilisent l'élément #footer avec la fonctionnalité interface auront reçu précédemment le pied de page contenu dans une boîte grise. Maintenant ceci est de la responsabilité de l'habillage.
@media (print) {
    #footer {
        background: #fff;
        color: #000;
        margin-top: 1em;
        border-top: 1pt solid #aaa;
        padding-top: 5px;
        direction: ltr;
    }
}

Note concernant la directionnalité

Previously the legacy feature provided the following rules:

.mw-content-ltr {

       /* @noflip */

       direction: ltr;

}

.mw-content-rtl {

       /* @noflip */

       direction: rtl;

}

Ces règles ne sont plus nécessaires. All elements with these classes should have a dir HTML attribute to provide this rule.

Many wikis might use these classes without dir attributes, as discovered in T287701 so it may make sense for your skin to include them for now.

Les spinners Ajax

Il n'y aura plus de valeur par défaut pour mw-ajax-loader, mw-small-spinner. Copier les styles s'ils sont nécessaires.

.mw-ajax-loader {
	background-image: url( images/ajax-loader.gif );
	background-position: center center;
	background-repeat: no-repeat;
	padding: 16px;
	position: relative;
	top: -16px;
}

.mw-small-spinner {
	padding: 10px !important; /* stylelint-disable-line declaration-no-important */
	margin-right: 0.6em;
	background-image: url( images/spinner.gif );
	background-position: center center;
	background-repeat: no-repeat;
}