Éditeur CodeMirror
Edit : Mise-à-jour pour PluXml 5.1 beta 1, voir ci-dessous !
Bonjour,
J'essaie de créer un simple plugin CodeMirror pour PluXml. Je rencontre un tout petit soucis, et je viens vous en faire part ici. Tout d'abord, c'est quoi CodeMirror :
CodeMirror est une éditeur non-wysiwyg en javascript. Entre autre, on peut citer comme fonctionnalité : la coloration syntaxique, l'affichage de la correspondance des balises ouvrantes/fermantes, la validation syntaxique du code, l'auto-indentation, la numérotation des lignes, etc...
Cet outil me semble en adéquation avec PluXml (et sa philosophie), puisque les champs de contenu accueillent du code (XHTML, CSS, PHP, JS, etc...) et qu'il est simple et léger. En tout cas pour moi, c'est largement plus utile et suffisant que CKEditor et les autres éditeurs wysiwyg.
Alors parlons de ce plugin, rien de bien sorcier... je suis partie de la petite partie de code de Stéphane pour son plugin CKEditor. Pour le moment, l'éditeur n'est actif que pour les textarea de la page de modification des pages statiques.
1. Télécharger le plugin CodeMirror v0.67
2. Éditer le fichier core/admin/prepend.php et ajouter tout à la fin du fichier la ligne suivante
Mon petit problème, je n'arrive pas comprendre pourquoi la pluxtoolbar ne joue plus son rôle d'ajout des balises dans le textarea... Si quelqu'un à une idée ?!
Site officiel :
+ CodeMirror
Merci et @+
Bonjour,
J'essaie de créer un simple plugin CodeMirror pour PluXml. Je rencontre un tout petit soucis, et je viens vous en faire part ici. Tout d'abord, c'est quoi CodeMirror :
CodeMirror est une éditeur non-wysiwyg en javascript. Entre autre, on peut citer comme fonctionnalité : la coloration syntaxique, l'affichage de la correspondance des balises ouvrantes/fermantes, la validation syntaxique du code, l'auto-indentation, la numérotation des lignes, etc...
Cet outil me semble en adéquation avec PluXml (et sa philosophie), puisque les champs de contenu accueillent du code (XHTML, CSS, PHP, JS, etc...) et qu'il est simple et léger. En tout cas pour moi, c'est largement plus utile et suffisant que CKEditor et les autres éditeurs wysiwyg.
Alors parlons de ce plugin, rien de bien sorcier... je suis partie de la petite partie de code de Stéphane pour son plugin CKEditor. Pour le moment, l'éditeur n'est actif que pour les textarea de la page de modification des pages statiques.
1. Télécharger le plugin CodeMirror v0.67
2. Éditer le fichier core/admin/prepend.php et ajouter tout à la fin du fichier la ligne suivante
<?php include(PLX_ROOT.'plugins/codemirror/plx.codemirror.php') ?>
3. Éditer le fichier core/admin/foot.php et au dessus de la ligne </body>, ajouter
<?php codemirror(); ?>
Vous pouvez maintenant allez éditer une page statique pour voir ce que ça donne. Mon bout de code doit gérer le code PHP, XHTML, JavaScript et CSS.Mon petit problème, je n'arrive pas comprendre pourquoi la pluxtoolbar ne joue plus son rôle d'ajout des balises dans le textarea... Si quelqu'un à une idée ?!
Site officiel :
+ CodeMirror
Merci et @+
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
J'espère qu'il n'en sera pas de même pour mes plugins plx.distcache (une sorte de cache distant) et plx.identi.ca (pour afficher des timelines identi.ca)...
@+
Donc on peux difficilement faire le rapport avec un éditeur wysiwyg.
Pour info il existe déjà une solution dans le wiki avec Edite_Area
Mais si quelqu'un à une idée ou une piste...
@+
Voici une adaptation de mon plugin pour PluXml 5.1 beta 1.
J'y ai mis à jour CodeMirror en v0.93 et y ai ajouté Zen Coding v0.7.
Je rencontre toujours une incompatibilité avec la plxToolbar comme décrit plus haut...
+ Plugin plxZenCodeMirror - Version 0.9 (29/01/2011)
@+
Je teste ça tout de suite ;-)
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
De mon coté j'ai aussi fait un plugin pour codemirror
Je n'ai pas mis la ligne ci dessous, pour éviter des indentations parasites
En revanche j'ai ajouté la ligne suivante, qui permet d'activer la touche tab et de pouvoir faire des tabulations
Sinon coté du code du plugin, c'est parfait. Rien à dire
J'ai le même souci de compatibilité avec la plxtoolbar
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
La touche tab sert ici à Zen Coding. Si tu ne connais pas, tape par exemple ça :
et puis tab...
@+
Je ne connaissais pas.
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Si le coeur t'en dit voila de quoi faire une barre d'outil compatible avec code mirror.
Ici cela ne fait qu'on bouton pour ajouter dans le textarea les balises <strong>, </strong>, en tenant compte éventuellement du texte sélectionné pour le mettre en gras
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
d'abord une petite modif du fichier .js de la plxtoolbar (fichier plugins/plxtoolbar/plxtoolbar.js)
En dessous de la ligne : ajoute la ligne
Apres pour le plugin codemirror
cela demande de rédéfinir chaque bouton, mais ça fonctionne
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Je vais m'atteler à ça !
@+
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Encore merci.
@+
Toute petite mise à jour : plxZenCodeMirror 0.9.1 (05/02/2011).
Avec principalement l'ajout d'une page de configuration pour activer ou désactiver Zen Coding, et donc utiliser la touche TAB soit pour l'indentation avec CodeMirror ou pour le « déploiement » de l'expression pour Zen Coding.
@+
Tout fonctionne chez moi. C'est la seconde fois qu'on me fait part de ce problème (cf. [plugin] Google Analytics). Je vais essayer d'analyser et de trouver la source de ce problème avec les informations que j'ai... je penche toujours pour un problème DNS, mais ne vois pas ce qui cloche... En tout cas, désolé pour les inconvénients (je n'ai pas d'autres endroits personnels pour le mettre à disposition...) et merci beaucoup de m'en avoir fait part !
@+
@Wiksa : Votre FAI ne serait-il pas SFR ? J'étais ce soir même chez quelqu'un qui a une connexion Internet SFR, et je n'arrivais pas à accéder à mes sous-domaines...
@+
Maintenant j'arrive à accéder au site, le problème semble résolu.
Avoir ZenCoding directement dans mon CMS c'est du bonheur...
Juste pour savoir, est-il possible de modifier les CSS de code mirror parce que sur Safari/Mac le bandeau qui compte les lignes n'est pas vraiment précis... Ou alors est-il possible de supprimer le bandeau et d'avoir le look and feel classique de la page d'édition ?
En tout cas merci pour le plugin !
PS : CodeMirror est sortie en version 2 plus légère... I'm just saying
Tout d'abord merci pour ton commentaire et tes encouragements
J'ai pris tout en compte... et je publie donc aujourd'hui une nouvelle version :
plxZenCodeMirror 0.9.2 (07/04/2011).
J'y ai mis à jour CodeMirror en version 1.0. Le passage en version 2.0 demandera un peu plus d'adaptation, mais je travail déjà dessus.
J'ai ajouté la possibilité d'activer ou désactiver la numérotation des lignes ainsi que l'indentation au chargement (cf. remarque de Stéphane plus haut). L'activation de la numérotation des lignes fait apparaître un champ qui te permet de personnaliser la classe CSS CodeMirror-line-numbers pour modifier le bandeau qui compte les lignes.
Le code utilisé par défaut pour cette classe est le suivant :
Tu peux modifier celui-ci à ta convenance.
Encore merci et @+