Accueil > Docs > Plugin coloration code pour SPIP

Plugin coloration code pour SPIP

vendredi 8 décembre 2006, par b_b

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

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.