SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

39 visiteurs en ce moment

fontsizeup fontsizedown
[10 commentaires]

Plugin Coloration Code

lundi 22 décembre 2008, par ARNO*, mortimer

1 vote

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

10 Messages de forum

Voir toute la discussion

  • Répondre à ce message

    18 mars 20:33 , par thierrybo

    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

    17 mars 22:28 , par Matthieu Marcillaud

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

    MM.

  • Répondre à ce message

    17 mars 20:44 , par thierrybo

    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 !!?

  • Répondre à ce message

    17 mars 19:35 , par thierrybo

    de même, si je met

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

  • Répondre à ce message

    17 mars 19:27 , par thierrybo

    Bonjour,

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

  • Répondre à ce message

    30 décembre 2008 12:50 , par KMk

    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

    29 décembre 2008 23:27 , par StGermain

    Bonjour, c’est plutôt en htm4strict, sans le L !!!

  • Répondre à ce message

    29 décembre 2008 23:01 , par Stéphane Deschamps

    Essaie code class="html4strict" pour voir ?

  • Répondre à ce message

    23 décembre 2008 11:10 , par KMk

    Re-bonjour,

    Avec spip 2.0 (plugin couteau suisse dans celui-ci), pas de numérotation ni de téléchargement, que ce soit avec "code" comme avec "cadre" (avec spip 1.9, "cadre" me permet d’obtenir une numérotation et la proposition de téléchargement, si je mets les deux class dans la balise cadre, class="langage" & class="chargement".

    Bigre...

    Cordialement, KMk

  • Répondre à ce message

    23 décembre 2008 10:49 , par KMk

    Bonjour,

    Je viens de tester ce plugin intéressant dès qu’il s’agit de communiquer des morceaux de code. Spip 1.92d. Pas de résultat avec les balises :

    code class="langage"... /code

    Numérotation des lignes avec les balises :

    cadre class="langage"... /cadre

    Point de couleurs... aurais-je raté une marche ?

    Codialement, KMk

Répondre à cet article

Retour en haut de la page

Ça discute par ici