Extension:CSS

From mediawiki.org
This page is a translated version of the page Extension:CSS and the translation is 100% complete.
Manuel des extensions MediaWiki
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
  • $wgCSSPath
  • $wgCSSIdentifier
Téléchargements trimestriels 157 (Ranked 45th)
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 dossier extensions/.
    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.
  • Yes 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