Il suffit de mettre le code entre <code class="langage">...</code> ou avec un cadre <cadre class="langage">...</cadre>.
Ce qui permet d’obtenir ce genre de présentation :
avec <cadre class='html4strict'>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <!-- insert_head -->
- <link rel='stylesheet' href="prive/spip_style.css" type="text/css" />
- <link rel='stylesheet' href="http://plugins.spip.net/spip.php?page=css&id_rubrique=1" type="text/css" />
- <link rel='stylesheet' href='http://plugins.spip.net/prive/spip_admin.css' type='text/css' />
- </head>
avec <code class='html4strict'>
<title>Plugins SPIP</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<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/spip.php?page=css&id_rubrique=1" type="text/css" />
<link rel='stylesheet' href='http://plugins.spip.net/prive/spip_admin.css' type='text/css' />
</head>
Les langages susceptibles d’être colorisés sont ceux fournis dans http://zone.spip.org/trac/spip-zone... dont la classe supplementaire : « spip ». Attention : pour coloriser du HTML ou du XHTML la « classe » doit être : "html4strict".
Par défaut, si le code colorisé fait plus d’une ligne, il est mis en cache sous forme textuelle et proposé au téléchargement par un lien Télécharger placé sous le bloc colorisé .
Ce fonctionnement est contrôlé globalement par une constante (par défaut définie à « true ») : PLUGIN_COLORATION_CODE_TELECHARGE. Il peut être forcé localement en rajoutant la classe « sans_telechargement » dans un sens ou « chargement » dans l’autre ; par exemple : <code class="php sans_telechargement">.
Vous pouvez aussi utiliser le filtre |coloration_code_color dans un squelette avec :
Le filtre colorise #TEXTE avec le language « spip » et en format « code » ; par exemple avec un squelette nommé lecode.html, l’url d’appel depuis un article serait :
Coloration SPIP avec Coloration Code 0.7.0-dev
La version 0.7.0 (en développement) 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 code pour SPIP 2.0
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 :
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 :
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.
# Le 8 février 2011 à 10:39, par Maïeul
En réponse à : Coloration Code
merci, c’est corrigé …
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é :
et plus bas :
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
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_telecharge", $params))vaut toujours 1 même si « sans_telecharge » 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 ») :
html4strictAvec mes remerciements !
KMk
Répondre à ce message