Date de publication: le lundi 19 décembre 2011 à 23h37
Dernière modification: par Pascal BOYER le mercredi 21 décembre 2011 à 21h03
« Article précédent: eZ Publish : traduction de eZ Survey
» Article suivant: eZ Publish : bpce_backupbdd - sauvegarde automatique de la base de données
Table des matières
- eZ Geshi / ezsh : mettre les exemples de codes en couleur
- eZ Geshi : télécharger l'extension
- eZ Geshi : installer l'extension
- eZ Geshi : activer l'extension
- eZ Geshi : accorder les permissions au groupe Anonymous
- eZ Geshi : configurer l'extension
- eZ Geshi : problèmes rencontrés
Lorsque l'on écrit des articles techniques traitant d'informatique, il n'est pas rare de mettre des portions de codes en exemple. Et quoi de plus explicite qu'un code colorisé (en couleur) en fonction de son langage (PHP, Bash, HTML, Javascript, C++, Cobol, etc...) ?
Par défaut, il est impossible de coloriser du code placé dans la balise <literal> de l'éditeur Online Editor d'eZ Publish. En revanche, l'installation de l'extension eZ Geshi / ezsh de Gaetano Giunta comble cette lacune, et de belle manière.
eZ Geshi ou ezsh : Principe de fonctionnement de l'extension
Une fois installée et correctement configurée, l'extension eZ Geshi propose une très longue liste de classe CSS qu'il suffit d'associer à la balise <literal> de l'éditeur Online Editor d'eZ Publish:
Fig. 1: La liste des très nombreuses classes CSS proposées par défaut par eZ Geshi
Cette liste sera bien évidemment configurable afin de répondre au souhait ou besoin de chacun.
eZ Geshi : quelques exemples de codes colorisés
[ImageConverterSettings] ImageConverters[] ImageConverters[]=ImageMagick ImageConverters[]=GD [GD] Name=GD IsEnabled=false # Which PHP handler to use for the conversion, # ezimagegd means to use the ImageGD extension in PHP Handler=eZImageGDFactory [ImageMagick] IsEnabled=true ExecutablePath=/usr/bin/ Executable=convert
Code d'un fichier de configuration INI d'eZ Publish - Classe INI
<?php /** * @copyright Copyright (C) 1999-2011 eZ Systems AS. All rights reserved. * @license http://www.gnu.org/licenses/gpl-2.0.txt GNU General Public License v2 * @version 2011.11 * @package kernel */ $Module = $Params['Module']; $GroupID = false; if ( isset( $Params["GroupID"] ) ) $GroupID = $Params["GroupID"]; $http = eZHTTPTool::instance(); $http->setSessionVariable( 'FromGroupID', $GroupID ); if ( $http->hasPostVariable( "RemoveButton" ) ) { if ( $http->hasPostVariable( 'DeleteIDArray' ) ) { $deleteIDArray = $http->postVariable( 'DeleteIDArray' ); if ( $deleteIDArray !== null ) { $http->setSessionVariable( 'DeleteClassIDArray', $deleteIDArray ); $Module->redirectTo( $Module->functionURI( 'removeclass' ) . '/' . $GroupID . '/' ); } } }
Code d'un fichier PHP d'eZ Publish - Classe PHP
getPageSize : function () { var d = document, w = window, iebody = d.compatMode && d.compatMode != 'BackCompat' ? d.documentElement : d.body; var b = d.body; var xScroll = (w.innerWidth && w.scrollMaxX) ? w.innerWidth + w.scrollMaxX : Math.max(b.scrollWidth, b.offsetWidth), yScroll = (w.innerHeight && window.scrollMaxY) ? w.innerHeight + w.scrollMaxY : Math.max(b.scrollHeight, b.offsetHeight), pageWidth = hs.ie ? iebody.scrollWidth : (d.documentElement.clientWidth || self.innerWidth), pageHeight = hs.ie ? Math.max(iebody.scrollHeight, iebody.clientHeight) : (d.documentElement.clientHeight || self.innerHeight); var width = hs.ie ? iebody.clientWidth : (d.documentElement.clientWidth || self.innerWidth), height = hs.ie ? iebody.clientHeight : self.innerHeight; return { pageWidth: Math.max(pageWidth, xScroll), pageHeight: Math.max(pageHeight, yScroll), width: width, height: height, scrollLeft: hs.ie ? iebody.scrollLeft : pageXOffset, scrollTop: hs.ie ? iebody.scrollTop : pageYOffset } },
Code Javascript - Classe Javascript
Commentaires














