Coloration syntaxique du code

79 views
Skip to first unread message

Jojaba

unread,
Nov 3, 2009, 5:09:49 AM11/3/09
to plume-cms-...@googlegroups.com
Bonjour à tous.

Je reviens à la charge avec cette ancienne discussion pour la simple raison que je viens de découvrir une application en javascript qui pourrait être ajoutée à l'outil "visualedit" de Plume. Je m'y suis collé, avec mes petites connaissances et j'ai réussi à afficher le code brute avec coloration syntaxique (à la volée s'il vous plaît). Je n'ai pas réussi à intégrer ça dans la frame créée par visualedit mais j'obtiens une deuxième fenêtre (créée elle par CodeMirror) en-dessous. C'est déjà pas mal pour mon niveau de connaissance, mais bien entendu, ce n'est pas suffisant ! Cette application s'appelle donc CodeMirror [ http://marijn.haverbeke.nl/codemirror/ ], elle permet de faire de la coloration syntaxique "on the fly" (à la volée), vous pouvez tester ça sur le site pour xml/html par exemple : http://marijn.haverbeke.nl/codemirror/htmltest.html . On peut aussi demander une indentation et plein d'autres choses, je vous envoie vers la doc : http://marijn.haverbeke.nl/codemirror/manual.html . Il y a même un groupe de discussion : http://groups.google.com/group/codemirror . La licence est très permissive : http://marijn.haverbeke.nl/codemirror/LICENSE . Comme j'ai réussi à mettre quelque chose en place rapidement, je pense que cela ne devrait pas trop poser de problème à un expert en php/js. Juste pour info, voici comment j'ai procédé :
1. Ajout de la ligne
<script src="js/codemirror.js" type="text/javascript"></script>

Dans le fichier "tools/visualedit/register.php"

2. Ajout des lignes :

    //Syntax coloration on the fly
    echo '<script type="text/javascript">'."\n";
    echo 'var editor = CodeMirror.fromTextArea(\'id_textarea\', {'."\n";
    echo 'height: "350px",'."\n";
    echo 'parserfile: "parsexml.js",'."\n";
    echo 'stylesheet: "tools/visualedit/js/codemirror/css/xmlcolors.css",'."\n";
    echo 'path: "tools/visualedit/js/codemirror/js/",'."\n";
    echo 'continuousScanning: 500'."\n";
    echo '});'."\n";
    echo '</script>'."\n";


Dans les le corps des fichiers "aticle-edit.php", "article-edit-page.php", "news-edit.php" en remplaçant "id_textarea" par l'id du textarea selon la page (pour "article-edit-page.php" par exemple c'est "a_page_content").

Comme dit auparavant, il faudrait trouver un moyen de faire afficher le contenu dans la même frame que celle créée par visualedit (en mode html source bien entendu)...

Avis aux amateurs ;-)

jojaba

unread,
Nov 3, 2009, 5:17:33 AM11/3/09
to Plume CMS - developers
J'ai oublié de préciser que j'ai placé le contenu de l'archive dans le
dossier "Manager/tools/visualedit/js", mais ça, vous l'aviez sûrement
noté ;).
Reply all
Reply to author
Forward
0 new messages