Extension:CSS

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:CSS and the translation is 28% complete.

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎dansk • ‎español • ‎français • ‎português do Brasil • ‎中文 • ‎日本語
Manuel des extensions MediaWiki
OOjs UI icon advanced.svg
CSS
État de la version : stable
Implémentation Parser function
Description A parser-function for adding CSS files, article or inline rules to articles
Auteur(s) Aran Dunkley, Rusty Burchfield
Dernière version 3.5.0 (2017-06-06)
MediaWiki 1.25+
Changements
base de données
Non
Licence GNU General Public License 2.0 or later
Téléchargement
Exemple Organised Design
Accroches utilisées
ParserFirstCallInit
RawPageViewBeforeOutput
Traduisez l’extension CSS sur translatewiki.net
Vérifiez la matrice des utilisations et des versions.
Problèmes Tâches ouvertes · Signalez un bug

L'extension CSS permet d'inclure des feuilles de style CSS dans des articles spécifiques.

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 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 suivante. Notez qu'un fichier doit être désigné par son 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 des règles CSS dans un article avec la fonction #css selon la syntaxe suivante :

{{#css:
  body {
    background: yellow;
    font-size: 20pt;
    color: red;
  }
}}

Installation

  • Téléchargez et placez le(s) fichiers (s) dans un répertoire appelé CSS dans votre dossier extensions/.
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
    wfLoadExtension( 'CSS' );
    
  • Yes Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.

Pour les utilisateurs de MediaWiki 1.29 ou précédents :

Les instructions ci-dessous décrivent la nouvelle procédure pour installer cette extension en utilisant wfLoadExtension() Si vous avez besoin d'installer cette extension sur les précédentes versions de MediaWiki (1.29 ou précédent), à la place de wfLoadExtension( 'CSS' );, vous devez utiliser :

require_once "$IP/extensions/CSS/CSS.php";

Configuration

Optionally, you can set the base URL for external files.

$wgCSSPath = false;  # Default, relative to $wgScriptPath
$wgCSSPath = '';  # Relative to the root of your server
$wgCSSPath = 'https://example.org/stylesheets';  # Relative to a different site

Use as a PageCSS replacement

There is a prior Extension:PageCSS (now archived) which used <css> and </css> tags instead of the #css: parser function. This extension can do most of what those extensions provide, but the syntax is incompatible. One way to avoid breaking existing pages which still use the old <css> tags is to use both this Extension:CSS and Extension:NewPageCSS on the same wiki.

An alternate solution (if you want to use only this extension, but have existing content which expects Extension:PageCSS) is to save this stub function as a PHP file and include it from your LocalSettings.php to remap <css> to #css:

<?php

// Stub to remap <css></css> tags to {{#css:}} parser function extension

// For use when installing http://www.mediawiki.org/wiki/Extension:CSS to replace Extension:NewPageCSS on existing wikis

$wgHooks['ParserFirstCallInit'][] = 'wfCSSParserStubInit';
 
// Hook our callback function into the parser
function wfCSSParserStubInit( Parser $parser ) {

        // When the parser sees the <css> tag, it executes the stub wfCSSTagRender function (below) to invoke the {{#css:}} parser
        $parser->setHook( 'css', 'wfCSSTagRender' );
        return true;
}
// Execute <css> tag
function wfCSSTagRender( $input, array $args, Parser $parser, PPFrame $frame ) {

        // Stub function, just redirect the user-provided input text blindly to the {{#css:}} parser function to re-parse it as wikitext
        $output = $parser->recursiveTagParse('{{#css:' . $input . '}}', $frame);
        return $output;
}

At this point, the prior PageCSS (or NewPageCSS) extensions may be removed from your configuration; <css> now goes to #css: and (if you have this CSS extension already up and running) will behave the way any of the other CSS extensions always have.

Problems with changing the color or background of a specific page

Using the parser function to use the CSS from another page does not work to change the color or background of the page, however, using the parser function on a single page by itself does allow the background to be changed. To overcome this problem, it is possible to load the CSS through transclusion, which does not cause the problem of failing to load the change to the page background.

Bugs

See talk page.

Voir aussi