Coloration Code

Basé sur le moteur Geshi, ce plu­gin per­met de colo­ri­ser du code source pour dif­fé­rents lan­ga­ges (dont HTML, PHP, SPIP...).

Présentation

Dans vos articles, il suf­fit de met­tre le code entre les balises <code class="lan­gage">...</code> ou avec un cadre <cadre class="lan­gage">...</cadre>.

Ce qui per­met d’obte­nir ce genre de pré­sen­ta­tion avec <cadre class='html5'>

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Plugins SPIP</title>
    <script src="prive/javascript/jquery.js" type="text/javascript"></script>
    <script src="prive/javascript/jquery.form.js" type="text/javascript"></script>
    <script src="prive/javascript/ajaxCallback.js" type="text/javascript"></script>
    <!-- insert_head -->
    <link rel='stylesheet' href="prive/spip_style.css" type="text/css" />
    <link rel='stylesheet' href='http://plugins.spip.net/prive/spip_admin.css' type='text/css' />
</head>
Classes des langages les plus courants
spip
javascript
php
html4s­trict ou html5
css
xml

Voir les langages supportés :
https://git.spip.net/spip-contrib-extensions/coloration_code/src/branch/master/geshi/geshi

Lien de téléchargement

Par défaut le code n’est pas proposé avec un lien de téléchargement sauf si on modifie la constante PLUGIN_COLORATION_CODE_TELECHARGE.

Dans ce cas, si le code colorisé fait plus d’une ligne, il est mis en cache sous forme tex­tuelle et pro­posé au télé­char­ge­ment par un lien Télécharger placé sous le bloc colorisé .

Si la constante est activé, on peut désactivé ponctuellement le téléchargement en rajou­tant la classe « sans_tele­char­ge­ment »

<code class="php sans_tele­char­ge­ment">.

Le filtre |coloration_code_color

Vous pou­vez aussi uti­li­ser le fil­tre |coloration_code_color dans un sque­lette avec : #TEXTE**|coloration_code_color{spip, code}
Le filtre colorise #TEXTE avec le lan­guage « spip » et en for­mat « code » ; par exem­ple avec un squelette nommé lecode.html, l’url d’appel depuis un arti­cle serait :

<a href="#URL_SITE_SPIP/spip.php?page=lecode&id_article=#ENV{id_article}" title="voir le code de article" class="spip_in">Voir le code de l'article</a>

Constantes

Le plugin est livré avec une série de constantes que vous pouvez refinir à votre guise dans mes_options.php

Voici les valeurs par défaut

// pour interdire globalement et optionnellement le téléchargement associé
define('PLUGIN_COLORATION_CODE_TELECHARGE', true);

// pour utiliser des styles inline (ou des classes css)
 define('PLUGIN_COLORATION_CODE_STYLES_INLINE', true); // false mettra des class et une css associe

// pour mettre des classes css MAIS ne mettre aucun style correspondant
// cela suppose donc qu'une CSS externe a ce plugin s'occupe de les styler
 define('PLUGIN_COLORATION_CODE_SANS_STYLES', false); // true mettra des class 

// pouvoir definir la taille des tablations (defaut de geshi : 8)
// define('PLUGIN_COLORATION_CODE_TAB_WIDTH', 4);

// Liens externes sur les mots cles de langage (defaut de geshi : true)
 define('PLUGIN_COLORATION_CODE_LIENS_LANGAGE', true); // false pour les eviter

// colorier le code SPIP ?
 define('PLUGIN_COLORATION_CODE_COLORIEUR_SPIP', 'spip');

Plugin complémentaire

Il est vivement conseillé d’utliser le plugin coloration code avec le plugin Pre & Code qui améliore la présentation des blocs de code.

Coloration SPIP avec Coloration Code > 0.7.0

La version 0.7.0 de Coloration Code améliore grandement la coloration du code des squelettes SPIP. Cependant, elle nécessite, pour cette coloration là, une version de PCRE (ecrire/ ?exec=info pour la connaitre) au moins supérieure à 7.6. Pour sûr la version 8.12 de PCRE sur un PHP 5.3.5 fonctionne sans problème.

Cette version propose 2 types de coloration du code SPIP :

  • « spip » fait appel à une coloration utilisant des expressions régulières complexes et colorie bien mieux que les versions précédentes du plugin
  • « spip3 » fait appel au phraseur et décompilateur de SPIP pour générer le code à colorier. De ce fait, la coloration est très précise mais certaines informations sont perdues car le code source est reconstruit : des espaces, sauts de lignes, changements de casse ou de syntaxe peuvent se produire. Le code généré est par contre toujours valide.

Coloration biblatex

Si vous souhaitez colorer du code de fichier .bib utilisant les nouveaux champs et types proposés par [biblatex->http://www.ctan.org/biblatex], deux solutions s’offrent à vous :

  • utiliser biblatex comme valeur l’attribut lang.
  • utiliser bibtex comme valeur l’attribut lang en ayant mis la ligne suivant dans votre fichier mes_options : define('_INTERDIRE_COMPACTE_HEAD_ECRIRE', 1);

Discussion

Une discussion

  • 2

    Bonjour,

    Depuis la mise à jour en v1.0.0 par SVP, sur un SPIP 4.2, le plugin ne fonctionne plus du tout chez moi.

    L’identification des langages et la mise en forme des cadres ne s’applique plus.

    J’ai testé les deux modes (statique et dynamique) mais rien à faire, même en vidant le cache (spip et navigateur)

    Voir capture avec 2 cadres, le 1er est en class html, le second en class bash ... aucune différence !

    J’ai loupé un truc où ... ??? 🤔

    Merci par avance

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

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

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom