SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 59 visiteurs en ce moment

Accueil du site > Rédaction > Assistants de rédaction > Coloration code > Coloration Code

Coloration Code

22 décembre 2008 – par ARNO*, mortimer – 21 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

11 votes

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...).

Il suf­fit de met­tre le code entre <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 :

  1.       <head>
  2.               <title>Plugins SPIP</title>
  3.               <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4.               <script src="prive/javascript/jquery.js" type="text/javascript"></script>
  5.               <script src="prive/javascript/jquery.form.js" type="text/javascript"></script>
  6.               <script src="prive/javascript/ajaxCallback.js" type="text/javascript"></script>
  7.               <!-- insert_head -->
  8.               <link rel='stylesheet' href="prive/spip_style.css" type="text/css" />
  9.               <link rel='stylesheet' href="http://plugins.spip.net/spip.php?page=css&amp;id_rubrique=1" type="text/css" />
  10.               <link rel='stylesheet' href='http://plugins.spip.net/prive/spip_admin.css' type='text/css' />
  11.       </head>

Les lan­ga­ges sup­por­tés sont ceux four­nis par http://sour­ce­forge.net/pro­jects/geshi/ avec une classe sup­ple­men­taire : « spip ». Attention, la « classe » pour affi­cher du HTML et du XHTML est html4s­trict :

Par défaut, si le code mis en sur­brillance fait plus d’une ligne, il est mis en cache sous forme tex­tuelle et pro­posé au télé­char­ge­ment. Ce fonc­tion­ne­ment est controlé glo­ba­le­ment par une cons­tante PLUGIN_COLORATION_CODE_TELECHARGE (par défaut, true). Il peut être forcé loca­le­ment en rajou­tant la classe « sans_tele­char­ge­ment » dans un sens ou « char­ge­ment » dans l’autre comme <code class="php sans_tele­char­ge­ment">.

Vous pou­vez aussi uti­li­ser le fil­tre coloration_code_color dans un sque­lette comme

  1. #TEXTE**|coloration_code_color{spip,code}

il colore #TEXTE avec le lan­guage spip en for­mat code (sans cadre), voir exem­ple lecode.html. L’url depuis l’arti­cle serait

  1. <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>
Retour en haut de la page

Vos commentaires

  • Le 28 juillet 2011 à 19:44, par ? En réponse à : Coloration Code

    2 problèmes :

    je n’ai pas les numéros de ligne avec ie9 (serveur easyphp-5.3.4, win7) mais sur autre serveur (lamp ubuntu) oui

    et quand on copie le code avec numéro de ligne depuis poste en win xp , on a des #
    _

    Répondre à ce message

  • Le 10 juin 2011 à 10:15, par Nico En réponse à : Coloration Code

    Je cherche a utiliser la fonction Highlighting Special Lines “Extra” de GeSHi.

    Je ne pense pas que cette fonction soit présente dans le plugin Coloration Code 2 pour spip. Si je me trompe comment faut-il la déclarer au cas par cas.
    ex :

    1. <..cadre class="SPIP" highlight="3">
    2. Mon code ici
    3. avec ma
    4. ligne 3
    5. en surbrillance
    6. <../cadre>

    Sinon je me doute que la modification va se faire dans le fichier coloration_code.php du plugin mais je ne vois pas trop comment.

    Une aide serait la bienvenue.

    Merci par avance.

    • Le 10 juin 2011 à 12:29, par Nico En réponse à : Coloration Code

      Je me reponds à moi même, j’ai rajouté dans la function coloration_code_color :

      $geshi->set_highlight_lines_extra_style('background-color: #000000;');
              if(preg_match('/hightlight|\d/', $toHighlight, $out)){
      $geshi->highlight_lines_extra($out);

      Je ne suis pas expert des expressions régulières mais cela marche comme cela.

    • Le 10 juin 2011 à 22:16, par Nico En réponse à : Coloration Code

      Bon juste au dessus ca marchait pour les lignes jusqu’à 9.

      J’ai amélioré un peu mon code pour pouvoir faire :

      1. <cadre class="php" highlight=1,2,8>

      Je détaille sur cet article les modifications apportées.

    Répondre à ce message

  • Le 27 mai 2011 à 16:55, par Ben. En réponse à : Coloration Code

    Compatible avec SPIP3.0-dev de ce que j’en ai vu ( pour le class=’spip’). Depuis il y a une nouvelle version de geshi ( GeSHi-1.0.8.10) qui semble apporter de nouveaux languages mais bon pas nécessaire d’en faire une nouvelle version je pense.

    Répondre à ce message

  • Le 15 mai 2011 à 13:06, par raumin En réponse à : Coloration Code

    Bonjour, merci pour ce plugin !

    Une question, pour un code assez long à afficher, est il possible de mettre ce code dans un cadre ? Parceque là avec un code de 100 lignes, la page web devient assez longue...

    Merci d’avance

    Répondre à ce message

  • Le 8 février 2011 à 10:33, par Code404 En réponse à : Coloration Code

    Le lien de téléchargement est cassé (erreur 404), il faut aller le chercher sur la zone et prendre l’archive selon la version de Spip utilisée.

    Répondre à ce message

  • Le 4 avril 2010 à 23:03, par thierrybo En réponse à : Plugin Coloration Code

    Bonjour,

    j’ai une proposition pour le plugin qui pourrait être intéressante à intégrer. On pourrait avoir besoin de différencier le comportement par défaut du lien de téléchargement en fonction de la balise cadre ou code utilisée.

    Pour ma part, la balise code est plutôt pour du code inclut dans le flux du texte, généralement pas très long, même si il peut parfois dépasser une ligne. Dans ce cas je ne veux pas de lien. Je pourrais passer par la classe "sans_telechargement", mais pour en faire un comportement par défaut ce n’est pas pratique.

    Par contre pour les cadres je voudrais toujours le lien télécharger.

    Dans coloration_code.php j’ai placé :

    1. // pour interdire globalement et optionnellement le téléchargement associé
    2. if (!defined('PLUGIN_COLORATION_CODE_TELECHARGE')) {
    3.         define('PLUGIN_COLORATION_CODE_TELECHARGE', false);
    4. }
    5. // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    6. if (!defined('PLUGIN_COLORATION_CADRE_TELECHARGE')) {
    7.         define('PLUGIN_COLORATION_CADRE_TELECHARGE', true);
    8. }

    et plus bas :

    1.   $plugin_coloration_telecharge = ($cadre == 'cadre') ?
    2.      PLUGIN_COLORATION_CADRE_TELECHARGE : PLUGIN_COLORATION_CODE_TELECHARGE;
    3.         $telecharge =
    4.                 ($plugin_coloration_telecharge || in_array('telechargement', $params))
    5.          && (strpos($code, "\n") !== false) && !in_array('sans_telechargement', $params);

    Répondre à ce message

  • Le 2 mars 2010 à 12:40, par Maïeul En réponse à : Plugin Coloration Code

    sur ce site (contrib)
    si je met une classe spip

    1. [avant(#BALISE{argument}|filtre{argument})après]
    [avant(#BALISE{argument}|filtre{argument})après]

    j’ai des espace autour des [){. A croire qu’il n’échappe pas à propre.

    Répondre à ce message

  • Le 13 février 2010 à 12:36, par JD En réponse à : Plugin Coloration Code

    L’installation automatique (SPIP 2) ne fonctionne PAS, sinon les fichiers sont placés dans le dossier /lib/

    Il faut passer _obligatoirement_ par une installation manuelle si on veut l’installer.

    Répondre à ce message

  • Le 17 mars 2009 à 19:27, par thierrybo En réponse à : Plugin Coloration Code

    Bonjour,

    je viens de tester sur spip 1.9.2 et du code php. En utilisant CODE : aucun effet, marche avec CADRE.

    • Le 17 mars 2009 à 19:35, par thierrybo En réponse à : Plugin Coloration Code

      de même, si je met

      il n’en tient pas compte et me propose toujours le téléchargement.

    • Le 17 mars 2009 à 20:44, par thierrybo En réponse à : Plugin Coloration Code

      Bon, je viens de regarder dans le code :

      1- c’est sans_telecharge qu’il faut mettre , pas sans_telechargement

      2- Même avec le point 1 ça ne marche pas. C’est extrêmement bizarre, j’ai débogué le fichier mes_options.php à la ligne

      et bien !(in_array("sans_tele­char­ge", $params)) vaut toujours 1 même si « sans_tele­char­ge » est bien présent dans $params !!?

    • Le 17 mars 2009 à 22:28, par marcimat En réponse à : Plugin Coloration Code

      Bonjour,

      Je viens de corriger ce que vous venez de soulever (telechargement / sans_telechargement).

      J’ai aussi supprimé ce traitre de fichier mes_options.php qui trainait dans ce plugin, qui n’a rien à y faire, et qui ne servait à rien (il n’était pas appelé) !

      http://zone.spip.org/trac/spip-zone/changeset/27400

      MM.

    • Le 18 mars 2009 à 20:33, par thierrybo En réponse à : Plugin Coloration Code

      Ca y est, ça marche :

      -  concernant le fait que ça ne marchait qu’avec cadre et pas code, j’avais un caractère invisible dans le nom de la class, mais non visible : je voyais class="sans_telecharge" mais au débogage il me disait "class="sans_telecharge←", provenant d’un copier/coller. J’ai mis du temps à le trouver celui-la.

      -  Merci pour ta correction à propos de mes_options.php qui n’était pas utilisé, mais je parle depuis le début de SPIP 1.9.2 ... et la pour le coup il le faut, et ce coup ci il y a un vraiment un bug, ça ne vient pas de moi :-)

      A la fin de mes_options.php, rajouter :

      sinon on aura jamais la coloration avec la balise <code>.

    Répondre à ce message

  • Le 30 décembre 2008 à 12:50, par KMk En réponse à : Test : suite

    Bonjour,

    J’ai testé donc le nom de la class (il faut le « L ») : html4strict

    • Spip 1.92 : coloration & numérotation + téléchargement avec « cadre », mais sans résultat avec « code ».
    • Spip 2.0.2 : Coloration & numérotation + téléchargement avec « cadre », coloration uniquement + téléchargement avec « code ».

    Avec mes remerciements !

    KMk

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Squelettes « Chez nous »

    17 avril 2008 – 26 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Jeu de squelettes prêts à l’emploi pour site de maison : visite des lieux, présentation des habitants, chronique et livre d’or.

  • Formidable, le générateur de formulaires

    23 janvier – 55 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Un générateur de formulaires facilement configurable pour les non-informaticiens et facilement extensible pour les développeurs. Introduction L’objectif était de créer un plugin permettant de générer des formulaires. Historiquement, 2 plugins avaient (...)

  • Transaction : créer des formulaires avec paiement en ligne

    13 mars 2011 – 33 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Transaction est une extension du plugin de création de formulaires Formidable pour concevoir des formulaires de paiement en ligne et les connecter aux principales API bancaires françaises. Présentation Transaction introduit 3 nouveaux types de (...)

  • Plugin SPIP-Géoportail

    17 août 2010 – 169 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Plugin pour l’intégration d’objets géographiques dans SPIP avec l’API Géoportail. Affichage de cartes Géoportail, OpenStreetMap (OSM), Google Maps ou Yahoo !... Préambule : Travaillant sur un projet utilisant SPIP et le Géoportail, il nous a semblé (...)

  • Navigation AJAX

    31 janvier – 13 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet de modifier automatiquement une parties des liens internes de manière à ce qu’ils ne déclenchent pas un chargement complet de la page cible, mais un chargement en AJAX de certains éléments spécifiés à l’avance. Il permet aussi de (...)