Aujourd’hui, j’ai testé le plugin coloration_code pour SPIP. Ce truc est génial et je pense m’en servir plutôt que d’utiliser la bidouille dont je parlais dans un billet précédent (jusqu’ici, pour afficher du code dans un cadre, j’entourais mon code avec la balise <pre>
).
Par contre, je trouve que le code généré par le plugin est un peu chargé. Lorsqu’on insère du code dans la balise <carde>
, avec la classe qui va bien pour définir le langage, on obtient ceci :
<div class="coloration_code">
<div class="spip_cadre spip">
<div class="spip" style="font-family: monospace;">
...
</div>
</div>
<div class="cadre_download" style="text-align: right;">
</div>
</div>
C’est un peu le syndrome de la "divite". Du coup je voudrais modifier le plugin, ou plutôt ajouter une option pour qu’on puisse afficher le code dans une balise <pre>
dont je me servais jusqu’ici. Cela permettrait d’alléger le code, et ça ressemblerait à ce qu’on peut voir dans mon billet "Des tags pour SpipClear".
En fouinant dans la doc de GeSHi, code qui gère la coloration dans le plugin, j’ai lu qu’on pouvait choisir le type de conteneur pour le code affiché. Et on peut définir un conteneur <pre>
à la place d’une <div>
comme ceci :
$geshi->set_header_type(GESHI_HEADER_PRE);
Pour l’instant, j’ai joué un peu le bourrin en élaguant le fichier php du plugin pour l’adapter à mes besoins, mais comme je le dis plus bas ça serait pas mal d’en faire une option pour le plugin. Mais là je sèche un peu...
Le lien télécharger en option
Dans le fichier de description du plugin, il est inqiqué :
Par défaut, si le code mis en surbrillance fait plus d’une ligne, il est mis en cache sous forme textuelle et proposé au téléchargement. Ce fonctionnement est contrôlé globalement par une constante PLUGIN_COLORATION_CODE_TELECHARGE défaut true.
J’ai essayé de définir cette constante à "false" dans le fichier coloration-code.php
mais ça n’a pas l’air de fonctionner.
define('PLUGIN_COLORATION_CODE_TELECHARGE','false');
Bref ça marche pas, mais je suis têtu et je vais bien finir par y arriver. La solution serait tout simplement d’enlever les lignes qui génèrent le fichier et qui affichent le lien "télécharger" dans coloration_code.php
. Mais je me dis que je ne vais pas massacrer le travail des autres pour faire mon petit truc qui ne servirait du coup qu’à moi.
Messages
3 mai 2008, 14:20
Maintenant on peut aussi un autre plugin : SyntaxHighlighter pour SPIP