Dotclear et Coloration syntaxique
Par Seza le mercredi 1 novembre 2006, 20:45 - Programmation - Lien permanent
Comment ajouter un peu de couleur pour les codeurs.
Suite à mon dernier post j'ai recherché un colorisateur syntaxique pour enjolivé la présentation de ce cher petit blog. Un plugins existe pour dotclear magnifique donc ! Mais celui-ci me pose un problème très rapidement. Il faut absolument mettre l'ouverture et la fermeture de code php pour qu'il colorise ce fameux langage.
Après une petite recherche googléenne, j'ai trouvé ce blog qui parle de ce problème et d'autres.
J'ai donc décider d'améliorer tout ça !
Voici la méthode à suivre pour corrigé l'affichage des .
Il faut modifier le fichier ecrire/tools/syntaxhl/functions.php ligne 33
$language = preg_replace('/.*[(.*)].*/si', '\\1', $matches[1][$i]);
par
$language = preg_replace('/.*[([a-z]*)].*/si', '\\1', $matches[1][$i]);
Ensuite pour pouvoir coloriser le php sans avoir à mettre <?php et ?> il faut aujouter dans le fichier ecrire/tools/syntaxhl/geshi/php.php aux lignes suivantes :
Ligne 261 :
4 => array( '@?php', 'php?@' )
Ne pas oublier la virgule dernière la parenthèse fermente ligne 260 :
ligne 273 :
4 => false
Ne pas oublier la virgule dernière false pour la ligne précédente. Ligne 280 :
4 => 'display: none;'
Pensez toujours à la virgule... Ligne 314 :
4 => ''
Et notre virgule favorite ! Ligne 345 :
4 => array( '@?php' => 'php?@' )
Sans oublier vous savez qui. Et finalement ligne 354 :
4 => true
Et la dernière petite chérie juste au dessus.
Voilà c'est fait ! mais qu'est ce qu'on à fait ? On a ajouter à php (pour la colorisation syntaxique !) un nouveau code d'ouverture @?php et un nouveau code de fermeture php?@ qui ont la particularité d'avoir un style appliqué à display:none.
Ainsi vous pourrez indiquer au colorisateur syntaxique de coloriser façon php tout ce qui se trouve entre @?php et php?@ sans que ces derniers n'apparaissent à l'écran. Magnifique non ?
Commentaires
Merci pour ton commentaire et T.B. sur mon blog, ta solution est en effet meilleure que la mienne. Je la mettrai en place dès que j'aurais le temps.
Amicalement, Vivi.
J'ai même poussé plus loin si tu as lu le post suivant. Ta solution est bien aussi pour celui pour celui qui ne veut pas prendre le risque de faire beaucoup de modifications dans le code du plugin.
^^