[SPIP Zone] Skeleditor maj codemirror

Hello

En bossant sur un editeur de thème, j'ai joué avec skel-editor, du coup j'ai mis code-mirror a jour avec le support de emmet, matchtag, collapse, edition plein écran, themes dark (parceque j'aime bien)…

en fait codemirror dans sa dernière version se retrouve morcelé en sous-modules activables (mode require.js), personne n'aura les mêmes besoins, est-ce que ça vaudrait pas le coup de faire un panneau de config pour que chacun-e y active ce dont il/elle a besoin … ainsi que le choix du thème…

--
Bonne journée
Arnaud B. (Mist. GraphX)

Le 04/10/2018 à 21:37, Mist. GraphX a écrit :

Hello

En bossant sur un editeur de thème, j'ai joué avec skel-editor, du coup j'ai mis code-mirror a jour avec le support de emmet, matchtag, collapse, edition plein écran, themes dark (parceque j'aime bien)…

en fait codemirror dans sa dernière version se retrouve morcelé en sous-modules activables (mode require.js), personne n'aura les mêmes besoins, est-ce que ça vaudrait pas le coup de faire un panneau de config pour que chacun-e y active ce dont il/elle a besoin … ainsi que le choix du thème…

J'ai rien compris :smiley:

Tu peux détailler ?

--
nicod_

Le 04/10/2018 à 21:51, nicod_ a écrit :

Le 04/10/2018 à 21:37, Mist. GraphX a écrit :

Hello

En bossant sur un editeur de thème, j'ai joué avec skel-editor, du coup j'ai mis code-mirror a jour avec le support de emmet, matchtag, collapse, edition plein écran, themes dark (parceque j'aime bien)…

en fait codemirror dans sa dernière version se retrouve morcelé en sous-modules activables (mode require.js), personne n'aura les mêmes besoins, est-ce que ça vaudrait pas le coup de faire un panneau de config pour que chacun-e y active ce dont il/elle a besoin … ainsi que le choix du thème…

J'ai rien compris :smiley:

Tu peux détailler ?

L'idée est d'ajouter un panneau de config avec des cases a cocher pour activer les addons dispo avec Code Mirror

ceci permet d'avoir l'édition en plein écran (la en 450px de large dans l'espace privé je trouve c'est compliqué), le déplier/replier de blocs de code, la mise en commentaire, … bref comme un vrai éditeur de texte

Pour le support de Emmet (https://emmet.io/) c'est un addon externe , faut que je teste si on peut créer des snippets

Je peut faire une branche ou un Github (ça prend moins de place), ça sera plus explicite …

--
Bonne journée
Arnaud B. (Mist. GraphX)

Le 04/10/2018 à 22:10, Mist. GraphX a écrit :

L'idée est d'ajouter un panneau de config avec des cases a cocher pour
activer les addons dispo avec Code Mirror

Ben ya des trucs qui sont du ressort de la déco et donc des choix des
admins pour un site précis. Mais après non, c'est plus du ressort de
l'endroit où il est utilisé, si tel plugin (SPIP) pour son contexte,
c'est de l'édition de code surtout HTML-CSS, il voudra emmet et le
plier-déplier, et tel autre plugin ça sera pour de l'édition d'autre chose…

Enfin je sais pas, ça c'est si ya un plugin Codemirror qui mutualise. Si
au final c'est que dans skeleditor, bah c'est ce plugin qui décide des
fonctionnalités utiles pour ce contexte là, qui est HTML, CSS, PHP et
JS, à 99,99%.

Moi j'avais commencé à jouer avec car ça permet de faire un éditeur
WYSIWYM pour l'édition des contenus cette fois. C'est ce qu'utilise
simpleMDE pour MD. J'avais fait un ticket dessus :
https://core.spip.net/issues/3720 et du coup le but final ça serait de
l'avoir dans un plugin dist à la fin quoi. Mais bon vaste tâche super
relou… mais ça montre que codemirror peut être utilisé à d'autres
endroits dans le même site, pas avec les mêmes plugins et pas forcément
avec le même thème.

Donc bof pour le fait que ce soit aux admins de choisir les addons,
enfin ça me parait bizarre.

--
RastaPopoulos

Le 04/10/2018 à 22:35, RastaPopoulos a écrit :

Le 04/10/2018 à 22:10, Mist. GraphX a écrit :

L'idée est d'ajouter un panneau de config avec des cases a cocher pour
activer les addons dispo avec Code Mirror

Skeleditor est un plugin plein de potentiel mais non maintenu
(peut être pour des questions de sécurité difficile à assurer ?)
Je trouve trés bien qu'il soit amélioré.

Ben ya des trucs qui sont du ressort de la déco et donc des choix des
admins pour un site précis. Mais après non, c'est plus du ressort de
l'endroit où il est utilisé, si tel plugin (SPIP) pour son contexte,
c'est de l'édition de code surtout HTML-CSS, il voudra emmet et le
plier-déplier, et tel autre plugin ça sera pour de l'édition d'autre chose…

Donc tu suggérerais de rendre ces options accessibles
sur la page de l'éditeur elle même
pour permettre de configurer les options selon le squelette
plutôt qu'en config générales ?

JL

Le 05/10/2018 à 08:39, JLuc a écrit :

Donc tu suggérerais de rendre ces options accessibles
sur la page de l'éditeur elle même
pour permettre de configurer les options selon le squelette
plutôt qu'en config générales ?

Non, du tout, je disais que la grande majorité des options sont du
ressort du dev qui utilise codemirror pour un besoin précis, donc
dépendantes du contexte où on l'utilise. Si c'est pour éditer du code
source, c'est sûrement bien d'avoir le plier-déplier, si en plus c'est
en bonne partie pour des langages web, ça peut être bien d'activer
Emmet. Alors que quand c'est pour éditer un texte en syntaxe légère (MD,
SPIP ou autre) là on voudra d'autres options ou moins d'options. Bref, à
mon avis ce ne sont pas des choix à faire par les admins du site, mis à
part la déco, à priori.

--
RastaPopoulos

Hello,

j’ai fait du rangement dans le dossier skeleditor et copié le trunk en branches/v2, donc vas y sans hésiter sur le trunk : passe le en v3 / dev et mets nous tout ça à jour !

Tu peux faire un panneau de config pour codemiror, mais amha comme l’exprimait Rasta, ça me parait superflu ici
Fait juste les choix les plus pertinents pour le contexte d’utilisation de ce plugin et met la config en dur
(ou juste dans un js de config qu’on peut surcharger éventuellement sur certains sites ?)

--
Cédric
Le 4 oct. 2018 à 22:11 +0200, Mist. GraphX <arnaud.berard@mister-graphx.com>, a écrit :

Le 04/10/2018 à 21:51, nicod_ a écrit :
> Le 04/10/2018 à 21:37, Mist. GraphX a écrit :
> > Hello
> >
> > En bossant sur un editeur de thème, j'ai joué avec skel-editor, du
> > coup j'ai mis code-mirror a jour avec le support de emmet, matchtag,
> > collapse, edition plein écran, themes dark (parceque j'aime bien)…
> >
> > en fait codemirror dans sa dernière version se retrouve morcelé en
> > sous-modules activables (mode require.js), personne n'aura les mêmes
> > besoins, est-ce que ça vaudrait pas le coup de faire un panneau de
> > config pour que chacun-e y active ce dont il/elle a besoin … ainsi
> > que le choix du thème…
>
> J'ai rien compris :smiley:
>
> Tu peux détailler ?
>
L'idée est d'ajouter un panneau de config avec des cases a cocher pour
activer les addons dispo avec Code Mirror

codemirror5/addon at master · codemirror/codemirror5 · GitHub

ceci permet d'avoir l'édition en plein écran (la en 450px de large dans
l'espace privé je trouve c'est compliqué), le déplier/replier de blocs
de code, la mise en commentaire, … bref comme un vrai éditeur de texte

Pour le support de Emmet (https://emmet.io/) c'est un addon externe ,
faut que je teste si on peut créer des snippets

GitHub - emmetio/codemirror: Emmet plugin for CodeMirror online editor

Je peut faire une branche ou un Github (ça prend moins de place), ça
sera plus explicite …

--
Bonne journée
Arnaud B. (Mist. GraphX)

----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

Le 05/10/2018 à 10:33, Cerdic a écrit :

Hello,

j’ai fait du rangement dans le dossier skeleditor et copié le trunk en branches/v2, donc vas y sans hésiter sur le trunk : passe le en v3 / dev et mets nous tout ça à jour !

ça c’est fait

Tu peux faire un panneau de config pour codemiror, mais amha comme l’exprimait Rasta, ça me parait superflu ici
Fait juste les choix les plus pertinents pour le contexte d’utilisation de ce plugin et met la config en dur
(ou juste dans un js de config qu’on peut surcharger éventuellement sur certains sites ?)

J’ai opté pour un fichier .json qui décrit les assets (js,css) des themes, extensions, addons.

on peut donc surcharger, changer le comportement en dupliquant les deux fichier init.js et addons.json

|{ "themes": [ "solarized" ], "extensions":[ "javascript/emmet" ], "addons": [ "display/fullscreen", "edit/matchbrackets", "edit/closebrackets", "selection/active-line", "fold/foldcode", "fold/foldgutter", "fold/brace-fold", "fold/xml-fold", "fold/indent-fold", "fold/comment-fold", "edit/matchtags", "edit/closetag", "search/search", "search/searchcursor", "search/jump-to-line", "dialog/dialog" ] } |

je me demande si cette partie des assets donc hors mode de l’éditeur, ne devrais pas directement passer par insert_head…

la recherche /remplacer de l’ancienne version fonctionne mal avec cette version .
j’en ai profité pour intégrer celle livré avec code mirror, qui marche très bien : seul defaut les chaines de langue ne sont pas modifiable il faudrait surcharger le addon search.js .

A voir si on garde les fonctions recherche ou si on garde celle intégrée a l'éditeur.

voila pour un premier jet … merci de vos retours ou idées

--
Bonne journée
Arnaud B. (Mist. GraphX)