Code Style Mediawiki

De EjnTricks
Révision de 20 septembre 2014 à 02:15 par Etienne (discussion | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Lors de l'écriture de ce wiki, des extraits de code devaient être présentés. Le plugin SyntaxHighlight GeSHi a été trouvé afin de mettre en place la coloration synthaxique.

Attention, celui-ci a été intégré dans Mediawiki à partir de la version 1.21.X. A partir de ces versions, il n'est donc plus nécessaire de le téléchargé et de le référencé dans l'instance.

Hand-icon.png Votre avis

Current user rating: 52/100 (1 votes)

 You need to enable JavaScript to vote


Version < 1.21.X

System-Install-icon.png Installation

Le plugin utilisé est disponible sur le site: http://qbnz.com/highlighter

Le plugin a été téléchargé directement depuis MediaWiki à l'adresse: http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi. Une fois téléchargé, celui ci est décompressé via la commande tar dans le répertoire /var/datas/mediawiki/extensions.

Puis, il faut le rendre disponible, comme indiqué en introduction de la page des plugins, en créant le lien sous /var/lib/mediawiki/extensions.

#sudo ln -s /var/datas/mediawiki/extensions/SyntaxHighlight_GeSHi /var/lib/mediawiki/extensions/SyntaxHighlight_GeSHi
#sudo chown -h www-data:www-data /var/lib/mediawiki/extensions/SyntaxHighlight_GeSHi

Le fichier /etc/mediawiki/LocalSettings.php est ensuite modifié afin d'ajouter:

require_once("$IP/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php");


Une deuxième installation a été réalisé en téléchargeant le package depuis: http://sourceforge.net/projects/geshi/files. Le répertoire geshi/docs a été supprimé par la commande:

#sudo rm -rf /var/lib/mediawiki/extensions/SyntaxHighlight_GeSHi/geshi/docs

Dans la documentation, il est indiqué que l'on peut utiliser la syntaxe <syntaxhighlight>...</syntaxhighlight> ou <source></source>. Or la première syntaxe ne semble pas fonctionner de base. Pour cela, il faut changer le fichier /var/lib/mediawiki/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php, pour déclarer le nouveau nom de balise.

Code original:

/**
 * Register parser hook
 */
function efSyntaxHighlight_GeSHiSetup() {
	global $wgParser;
	$wgParser->setHook( 'source', array( 'SyntaxHighlight_GeSHi', 'parserHook' ) );
	return true;
}

Code modifié:

/**
 * Register parser hook
 */
function efSyntaxHighlight_GeSHiSetup() {
	global $wgParser;
	$wgParser->setHook( 'source', array( 'SyntaxHighlight_GeSHi', 'parserHook' ) );
	$wgParser->setHook( 'syntaxhighlight', array( 'SyntaxHighlight_GeSHi', 'parserHook' ) );
	return true;
}

Style-sheet-icon.png CSS

Sur ce wiki, la CSS a été modifiée pour le plugin afin d'afficher un cadre sur et un fond grisé sur les codes sources. Pour cela, la page MediaWiki:Geshi.css a été modifiée pour modifier la définition de la CSS autogénérée. Le contenu du fichier est le suivant:

.bash.source-bash .de1{
    background-color:#EEEDED;
    border:1px solid;
}

.css.source-css .de1{
    background-color:#EEEDED;
    border:1px solid;
}

.html4strict.source-html4strict .de1{
    background-color:#EEEDED;
    border:1px solid;
}

.java.source-java .de1{
    background-color:#EEEDED;
    border:1px solid;
}

.php.source-php .de1{
    background-color:#EEEDED;
    border:1px solid;
}

.plsql.source-plsql .de1{
    background-color:#EEEDED;
    border:1px solid;
}

.sql.source-sql .de1{
    background-color:#EEEDED;
    border:1px solid;
}

.text.source-text .de1{
    background-color:#EEEDED;
    border:1px solid;
}

.xml.source-xml .de1 {
    background-color:#EEEDED;
    border:1px solid;
}

Untar-icon.png Package installé

Plugin installé: Geshi_plugin.tar.gz


Version >= 1.21.X

System-Install-icon.png Activation

Le plugin étant disponible dans les sources de MediaWiki, il n'est plus nécessaire de l'installer. Toutefois, il est toujours nécessaire de le référencer dans le fichier LocalSettings.php, dans le cadre de cette installation fichier /etc/mediawiki/LocalSettings.php.

require_once("$IP/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php");


Viewer icon.png Voir aussi

Documentation officielle: http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi