Test extension eZ Geshi

Lorsqu'on utilise un site web pour montrer ses compétences techniques, il parait utile de disposer d'un outil capable de mettre en forme du code. eZ Publish ne possède pas cette fonctionnalité. Par contre, il existe une extension disponible sur projects.ez.no : eZ Geshi. Installation et évaluation.

Exemple

Une fois l'extension paramétrée vous pourrez obtenir ce résultat là:

{foreach fetch_alias(comments, hash(parent_node_id, $node.node_id )) as $comment}
   {node_view_gui view='line' content_node=$comment}
{/foreach}
 

 

Éléments requis

eZ Publish 4.x

eZ Geshi extension développée par Gaetano Giunta.

Installation

  • Décompresser le zip et le placer dans le répertoire extension de votre site eZ Publish.
  • Se connecter à l'interface d'administration de eZ Publish et cliquer sur l'onglet Administration.
  • Dans le menu de gauche, cliquer sur Extension
  • Cocher la case ezsh et cliquer sur le bouton "Mettre à jour"
Activation ezsh

Paramétrage

Il faut tout d'abord donner les droits aux utilisateurs concernés. Dans mon exemple, je décide de les attribuer aux utilisateurs anonymes.

  • Modifier le rôle Anonymous
  • Cliquer sur le bouton "Nouvelle politique de sécurité"
  • Sélectionner le module "geshi" et la fonction "view_any_source"
  • Cliquer sur le bouton "Accorder un accès illimité"
  • Si tout est correct vous devez voir apparaître dans la liste des politiques de sécurité le droit que vous avez accordez
  • Cliquer sur "Enregistrer"
fonction ezgeshi
Anonymous role

La liste des langages est très longue. Vous pouvez choisir vos langages préférés. Pour cela:

  • Editez le fichier /extension/ezsh/settings/content.ini.append.php
  • Supprimer les lignes inutiles.

A titre d'exemple, voici mon fichier :

<?php /*
[literal]
AvailableClasses[]=apache
AvailableClasses[]=bash
AvailableClasses[]=css
AvailableClasses[]=ezini
AvailableClasses[]=eztemplate
AvailableClasses[]=html4strict
AvailableClasses[]=ini
AvailableClasses[]=javascript
AvailableClasses[]=jquery
AvailableClasses[]=php
AvailableClasses[]=php-brief
AvailableClasses[]=sql
AvailableClasses[]=text
AvailableClasses[]=vim
AvailableClasses[]=xml
 
ClassDescription[apache]=Apache configuration
ClassDescription[bash]=Bash
ClassDescription[css]=CSS
ClassDescription[ezini]=eZ Publish ini
ClassDescription[eztemplate]=eZ Publish template
ClassDescription[html4strict]=HTML
ClassDescription[ini]=INI
ClassDescription[javascript]=Javascript
ClassDescription[jquery]=jQuery
ClassDescription[php]=PHP
ClassDescription[php-brief]=PHP (brief)
ClassDescription[sql]=SQL
ClassDescription[text]=Text
ClassDescription[vim]=Vim Script
ClassDescription[xml]=XML
*/ ?>

Pensez à vider les caches (on est sur eZ Publish tout de même !)

Voila, votre extension est désormais disponible et prête à être utilisée !

Utilisation

Depuis Online Editor

Vous pouvez vous rendre dans l'interface d'édition d'un article (ou autre contenu) pour insérer votre code.

Pour cela, cliquer sur le bouton "Insérer un texte littéral"

Une fenetre s'ouvre vous proposant de choir le langage que vous souhaitez insérer.

Dans cet exemple, j'ai choisi eZ Publish template.

Un cadre bleu apparait et vous pouvez taper votre code.

Une fois que cela est fait, cliquer sur "Envoyer pour publication"

Depuis le template

Cette extension permet aussi d'utiliser un opérateur de template pour formater le code. Pour cela il vous suffit de procéder de la façon suivante:

{ezsh('<p>Hello World!</p>',html)}

A noter : le deuxième paramètre (langage) n'est pas un paramètre obligatoire. Par défaut, le langage utilisé est php.

Avis

eZ Geshi apparait comme une extension importante voire indispensable pour les utilisateurs d'eZ Publish ayant besoin de partager ou diffuser les codes. Cette extension utilise Geshi (Generic Syntax Highlighter) qui possède un grand nombre de langages, vous devriez trouver votre bonheur.

Note

9

Les plus

  • Facilité d'installation
  • Facilité d'utilisation
  • Important nombre de langages disponibles

Les moins

  • Absence des numéros de lignes
  • L'indentation du code impossible avec la touche tabulation.

Partagez :

Tags : extension , test , tutorial , eZ Publish

Blog

Le blog de l'agence Yuzu... Uzuya donne infos, astuces, etc