Extension:CSS
CSS État de la version : stable |
|
---|---|
Implémentation | Fonction d'analyseur |
Description | Fournit une fonction d'analyseur pour ajouter aux articles : des fichiers CSS, des articles ou des règles en ligne. |
Auteur(s) | |
Dernière version | 3.5.0 |
MediaWiki | >= 1.31.0 |
Licence | Licence publique générale GNU v2.0 ou supérieur |
Téléchargement | |
Exemple | organicdesign.nz |
|
|
Téléchargements trimestriels | 124 (Ranked 43rd) |
Traduire l’extension CSS sur translatewiki.net si elle y est disponible | |
Problèmes | Tâches ouvertes · Signaler un bogue |
L'extension CSS permet d'inclure des feuilles de style CSS dans des articles spécifiques. Le CSS peut être un autre article, un fichier, ou un ensemble de règles définies directement dans la fonction analyseur.
Utilisation
Par exemple, étant donné un article CSS nommé MyStyles.css qui contient les styles prévus pour l'article MyFancyUserPage, on ajouterait la syntaxe de la fonction analyseur suivante à ce dernier :
{{#css:MyStyles.css}}
Si par ailleurs, MyStyles.css était un fichier dans le répertoire /wiki/skins, il pourrait être inclus dans une page avec la syntaxe ci-dessous. Notez qu'un fichier doit être désigné par un chemin absolu commençant par une barre oblique (/) afin de le distinguer d'un titre d'article.
{{#css:/skins/MyStyles.css}}
Il est également possible d'inclure directement des règles CSS à l'intérieur de la fonction analyseur (inline) comme dans l'exemple suivant,
{{#css:
body {
background: yellow;
font-size: 20pt;
color: red;
}
}}
Installation
- Téléchargez et placez le(s) fichier(s) dans un répertoire appelé
CSS
dans votre dossierextensions/
.
Les développeurs et les contributeurs au code doivent à la place installer l'extension à partir de Git en utilisant:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CSS - Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
wfLoadExtension( 'CSS' );
- Configurer si nécessaire.
- Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.
Configuration
En option, vous pouvez initialiser l'URL de base pour les fichiers externes.
$wgCSSPath = false; # Par défaut, relatif à $wgScriptPath
$wgCSSPath = ''; # Relatif par rapport à la racine de votre serveur
$wgCSSPath = 'https://example.org/stylesheets'; # Relatif à un site différent
Utiliser comme PageCSS de substitution
Il existait une ancienne Extension:PageCSS (archivée maintenant) qui utilisait les balises <css>
et </css>
au lieu de la fonction d'analyseur #css:.
Cette extension peut faire la plupart de ce que ces extensions fournissent comme fonctions, mais la syntaxe n'est pas compatible.
Une façon pour éviter de casser les pages existantes qui utilisent encore les anciennes balises <css>
est d'utiliser en même temps cette Extension:CSS et Extension:NewPageCSS sur le même wiki.
Une solution alternative (si vous ne voulez utiliser que cette extension et que vous avez du contenu qui nécessite Extension:PageCSS) est de sauvegarder cette fonction bouchon en tant que fichier PHP et de l'inclure à partir de votre fichier LocalSettings.php pour forcer <css> en #css:
<?php
// Bouchon pour rétablir la correspondance entre les balises <css></css> et l'extension des fonctions d'analyse {{#css:}}
// A utiliser quand vous installez https://www.mediawiki.org/wiki/Extension:CSS pour remplacer Extension:NewPageCSS sur les wikis existants
$wgHooks['ParserFirstCallInit'][] = 'wfCSSParserStubInit';
// Relier l'accroche à une fonction de callback de l'analyseur syntaxique
function wfCSSParserStubInit( Parser $parser ) {
// Lorsque l'analyseur syntaxique renconnaît la balise <css>, il exécute la fonction bouchon wfCSSTagRender (ci-dessous) pour appeler l'analyseur {{#css:}}
$parser->setHook( 'css', 'wfCSSTagRender' );
return true;
}
// Exécuter la balise <css>
function wfCSSTagRender( $input, array $args, Parser $parser, PPFrame $frame ) {
// Fonction bouchon qui redirige simplement le texte entré par l'utilisateur vers la fonction analyseur {{#css:}} pour refaire l'analyse en tant que wikicode
$output = $parser->recursiveTagParse('{{#css:' . $input . '}}', $frame);
return $output;
}
A ce moment, les anciennes extensions PageCSS (ou NewPageCSS) peuvent être supprimées de votre configuration; <css> va maintenant vers #css: et (si vous avez cette extension CSS déja installée et active) vous vous comporterez de la même manière que les autres extensions CSS.
Problèmes liés au changement de la couleur ou du fond d'une page donnée
Appeler la fonction d'analyseur pour utiliser le CSS à partir d'une autre page ne fonctionne pas si on veut modifier la couleur ou le fond de page, néanmoins en utilisant la fonction analyseur sur une page unique, permet en soi-même de modifier le fond. Pour contourner ce problème, il est possible de charger le CSS via une transclusion, ce qui ne fait pas apparaître le problème d'échec de chargement du fond de page.
Bogues
Voir les pages de discussion.
Voir aussi
- Extension:NewPageCSS
- Extension:TemplateStyles - une extension similaire qui normalise le CSS et le sauvegarde dans des pages séparées.
Cette extension est incluse dans les fermes de wikis ou les hôtes suivants et / ou les paquets : Cette liste ne fait pas autorité. Certaines fermes de wikis ou hôtes et / ou paquets peuvent contenir cette extension même s'ils ne sont pas listés ici. Vérifiez toujours cela avec votre ferme de wikis ou votre hôte ou votre paquet avant de confirmer. |