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 |
Un ensemble défini de styles à utiliser avec, ou à la place de normalize .
Uniquement les styles pour les éléments seuls sont inclus, pas les styles pour les structures complexes telles que la table des matières. Ce niveau concerne les habillages qui veulent implémenter le style entier même les structures des zones de contenu telles que les tables des matières elles-mêmes. Peut être redondant si vous utilisez |
n/a | Cela peut être considéré comme une version définie de 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).
|
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 pour la nouvelle structure du média sur les wikis où $wgUseNewMediaStructure est activé. Voir Parsing/Media structure . Peut être fusionné en vignette de contenu, il doit donc être considéré comme instable | n/a | Remplace les vignettes de contenu en 1.37 . (introduit dans 1.36) |
content-links | false |
L'habillage va appliquer les règles facultatives de mise en forme pour les liens qui doivent êtres formatés différemmentdes règles de elements et normalize . Fournit le support pour .mw-selflink, a.new (liens en rouge), a.stub (liens de bouchons) et certains styles de base pour les liens externes.
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) |
Style des interfaces | ||||
interface | false |
Fournit des styles de base pour les concepts MediaWiki tels que les indicateurs, les menus (permet aux développeurs de gadgets de les masquer) pour commencer plus rapidement avec un habillage. Inclut la barre orange des messages utilisateur, les liens d'édition, et les notices de site. 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 |
Fournit un support pour mettre en forme les boîtes des messages d'avertissement, d'erreur et de succès sur toutes les pages. Les habillages qui s'inquiètent des performances peuvent souhaiter limiter là où cette fonctionnalité est chargée en utilisant un module additionnel.
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. Peut être désactivé si l'habillage désactive ou fournit sa propre table des matières. | (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. A partir de la 1.43, ceci est fourni par le module des éléments ou doit être fourni par le .... | (obsolète depuis v. 1.43) (introduit dans 1.35) | |
i18n-headings | false |
Styles pour la hauteur de ligne des titres en différentes langues. | (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
Aucun remplacement est nécessaire - supprimez simplement la fonctionnalité, sauf si vous avez besoin de conserver un support pour les extensions qui utilisent le balisage mw-message-box et qui n'ont pas été mises à jour dans le 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
.
Si vous ne souhaitez pas ajouter la fonctionnalité elements
vous pouvez ajouter le CSS suivant à votre habillage :
@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
},
..
}
Lors de cette transiton, veuillez rapporter tout bogue et suivez le conseil suivant...
Recommendations
Il est recommandé d'activer les fonctionnalités normalize et elements
Sans cela, vous pouvez noter que quelques éléments apparaîssent un peu en dehors, particulièrement dans le mode impression. Néanmoins si votre habillage fournit des alternatives, vous pouvez ignorer.
visualClear
Les habillages qui utilisent visualClear
doivent utiliser à la place le mixin de correction clair (.mixin-clearfix()
).
Pour aider dans la migration, ajoutez le style suivant à votre habillage :
.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
.
Dans le futur, les habillages pourront définir une variable LESS pour le redéfinir.
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
Si un habillage n'inclut pas la fonctionnalité interface
, il peut être logique que l'habillage copie le contenu des styles obsolètes dans resources/src/mediawiki.skinning/interface-edit-section-links.less.
Les habillages sont encouragés à être déterminés sur la manière dont les liens de modification s'affichent et les réviser selon les besoins.
Les habillages qui utilisent les classes error, warning ou success doivent fournir leurs propres styles
- Remplacer par
mw-messagebox
,mw-warningbox
,mw-successbox
et ses classes PHP Html::warningBox/Html::messageBox associées.
Vérifiez votre habillage lorsque vous imprimez
Veuillez vérifier votre feuille de style pour l'impression, en particulier pour les régressions de l'interface utilisateur concernant le pied de page.
- 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é
Auparavant, la fonctionnalité legacy
imposait les règles suivantes :
.mw-content-ltr {
/* @noflip */
direction: ltr;
}
.mw-content-rtl {
/* @noflip */
direction: rtl;
}
Ces règles ne sont plus nécessaires.
Tous les éléments avec ces classes doivent avoir un attribut HTML dir
pour fournir cette règle.
Plusieurs wikis pourraient utiliser ces classes sans l'attribut dir, comme découvert dans T287701 et cela a donc un sens pour que votre habillage les inclut pour l'instant.
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;
}