Présentation
SyntaxHighlight est une extension qui permet de mettre en couleur le code source.
Cette extension utilise le moteur de coloration syntaxique GeSHi (Generic Syntax Highlighter).
Installation
- Télécharger l'extension SyntaxHighlight_GeSHi
- Dé-zipper le dossier « SyntaxHighlight_GeSHi » dans le dossier « extensions »
- Ajouter au fichier « LocalSettings.php » : « require_once( "$IP/extensions/geshi/geshi.php" ); »
Utilisation
|
<syntaxhighlight lang="csharp">
...
</syntaxhighlight_>
|
Langage par défaut
|
# A ajouter au fichier LocalSettings.php
require_once("$IP/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php");
$wgSyntaxHighlightDefaultLang = "csharp";
|
Background color
Pour permettre l'édition du background il faut modifier le fichier « SyntaxHighlight_GeSHi.class.php ». site web
|
// dans la fonction parserHook
static $codeAreaNumber = 0;
$codeAreaNumber += 1;
if( isset( $args['backgroundcolor'] ) && $args['backgroundcolor'] ) {
$backgroundcolor = $args['backgroundcolor'];
$geshi->set_overall_style('background-color: '.$backgroundcolor, true);
}
$geshi->set_overall_id( 'codeArea'.$codeAreaNumber );
|
|
<syntaxhighlight lang="csharp" backgroundcolor="#0B4051">
...
</syntaxhighlight_>
|
CSS
La page MediaWiki:Geshi.css peut contenir du code CSS destiné à Geshi.
|
/* couleurs par défaut */
.mw-geshi {
background-color: white;
color: black;
}
/* couleurs spécifiques pour C# */
.csharp {
background-color: #084152;
color: #CFEDE2;
}
/* couleur du texte sélectionné */
.csharp pre::-moz-selection, .csharp pre span::-moz-selection {
background: black;
}
|
Fichiers de langue
Site web
|
Dans les expressions rationnelles $ / { } ont besoins d'être échappé 2 fois. |
Expressions rationnelles
GESHI_SEARCH |
l'expression à rechercher
|
GESHI_REPLACE |
le groupe cible
|
GESHI_MODIFIERS |
u → utf8 i → insensible à la casse
|
GESHI_BEFORE |
le groupe situé avant le groupe cible
|
GESHI_AFTER |
le groupe situé après le groupe cible
|
Problèmes avec: class, < >
STRINGS
Ils sont définis avec les QUOTEMARKS.
Les REGEXPS, KEYWORDS et SYMBOLS ne s'appliquent pas dans les STRINGS