(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Liens
Ajouter un nouveau lexer
La version de Pygments fournit avec Mediawiki ne permet pas d'ajouter de nouveaux lexers.
Il faut donc installer Pygments et demander à Mediawiki d'utiliser plutôt cette version.
|
pacman -S pygmentize
|
|
# mise à jour du fichier de mapping: _mapping.py
cd /usr/lib/python3.5/site-packages/pygments/lexers
python ./_mapping.py
# lister tous les lexers pour vérifier que le nouveau lexer a bien été ajouté
pygmentize -L lexer
# tester le lexer: créer un fichier test.html contenant la coloration syntaxique
pygmentize -l mon_lexer -O full -f html -o test.html test.ext
|
Intégration dans Mediawiki
LocalSettings.php
|
// forcer Mediawiki a utiliser la version installée au lieu de la version fournie
$wgPygmentizePath = '/usr/bin/pygmentize';
|
|
# mettre à jour la liste des lexers:
# /usr/share/webapps/mediawiki/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.lexers.php
cd /usr/share/webapps/mediawiki/extensions/SyntaxHighlight_GeSHi
php maintenance/updateLexerList.php
|
Configuration
LocalSettings.php
|
# par défaut
# $wgPygmentizePath = '/usr/share/webapps/mediawiki/extensions/SyntaxHighlight_GeSHi/pygments/pygmentize';
$wgPygmentizePath = '/usr/bin/pygmentize';
|
Changer default par un autre style: native
/usr/share/webapps/mediawiki/extensions/SyntaxHighlight_GeSHi/maintenance/updateCSS.php
|
$process = $builder
->add( '-f' )->add( 'html' )
->add( '-S' )->add( 'native' )
->add( '-a' )->add( '.' . SyntaxHighlight_GeSHi::HIGHLIGHT_CSS_CLASS )
->getProcess();
|
|
cd /usr/share/webapps/mediawiki/extensions/SyntaxHighlight_GeSHi
php maintenance/updateCSS.php
# écrase le fichier /usr/share/webapps/mediawiki/extensions/SyntaxHighlight_GeSHi/modules/pygments.generated.css
|
/etc/php/php.ini
|
open_basedir = /usr/share/webapps/mediawiki/cache/
|
Télécharger l'archive et placer le dossier SyntaxHighlight_GeSHi dans /usr/share/webapps/mediawiki/extensions
LocalSettings.php
|
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
|
composer
L'installation de composer est-elle nécessaire ?
|
sudo pacman -S php-composer
# aller dans le dossier de l'extension
cd /usr/share/webapps/mediawiki/extensions/SyntaxHighlight_GeSHi
composer install
composer update
|
PHP Fatal error: Class 'Phar' not found in /usr/bin/composer on line 23
/etc/php/php.ini
|
extension=phar.so
|
open_basedir restriction in effect. File(/usr/bin/composer) is not within the allowed path(s)
/etc/php/php.ini
|
open_basedir = /usr/bin/composer
|
open_basedir restriction in effect. File(/root/.composer/.htaccess)
/etc/php/php.ini
|
open_basedir = /root/.composer
|