Éditeur de type Notion

Salut à tous,

Alors que nous continuons à nous familiariser avec Discourse et à travailler avec, j’ai réalisé que l’éditeur est facilement mon préféré parmi tous les logiciels de forum avec lesquels j’ai travaillé au fil des ans. Cependant, je pense que
Ce que je recommande, c’est un éditeur basé sur des blocs où vous pouvez utiliser « / » et des raccourcis rapides apparaissent. Un exemple est Notion et un autre est l’éditeur Tiptap

Voici une capture d’écran de Marktext, l’un de mes éditeurs Markdown open-source préférés pour le bureau :

De nombreux éditeurs Markdown évoluent vers des raccourcis de blocs, et je pense que Discourse pourrait bénéficier d’un tel concept en termes de forme et de fonction.

13 « J'aime »

Je suppose que ce serait un travail considérable pour que cela fonctionne parfaitement.

Vaguement lié, un plugin d’éditeur WYSIWYG maintenant cassé a été créé et discuté il y a un certain temps :

3 « J'aime »

Oui, je regardais juste ça avant de poster ceci, je voulais juste en faire une demande appropriée.

J’ai remarqué que @sam a dit qu’il y avait essentiellement des Plans™ en préparation depuis octobre 2022.

3 « J'aime »

Je viens de tomber sur cette bibliothèque open-source qui propose des commandes similaires à Notion. Je ne suis pas sûr de la facilité d’intégration dans Discourse, mais je voulais la partager au cas où quelqu’un aurait une idée :

6 « J'aime »

Cela semble être basé sur https://tiptap.dev/ qui est fermé ?

1 « J'aime »

Tiptap est open source autant que je sache :

3 « J'aime »

Je vois, les extensions pro sont payantes.

La grande difficulté réside dans la communication bidirectionnelle. La passerelle markdown ↔ html. J’aimerais éviter de renoncer au markdown dans toute expérience dans ce domaine.

5 « J'aime »

TipTap est un wrapper autour de ProseMirror : https://prosemirror.net/.

2 « J'aime »

D’accord.

Je l’ai surtout lié comme exemple, je pense que l’expérimentation dans ce domaine pourrait être utile, mais je ne suis pas encore très sûr de la manière dont cela pourrait fonctionner à un niveau plus technique, en particulier lorsque l’un des objectifs est de ne pas abandonner le pont markdown \u003c\u003e html.

Je pense que je reste positif à ce sujet, comme en juillet 2023 lorsque j’ai créé le sujet, car presque toutes les applications que j’utilise et qui impliquent de l’écriture ont maintenant des fonctionnalités similaires.

J’y réfléchirai davantage dans les semaines à venir et je reviendrai si je trouve quelque chose.

Au minimum, cela devrait inclure une sorte de méthode de clavier, comme taper “/” ou un autre symbole désigné qui fait apparaître une palette de sélection transparente pour l’insertion de formatage et des éléments que Discourse juge dignes d’intérêt, comme Notion, Tiptap, etc.

1 « J'aime »

Il semble que prosemirror utilise Discourse (https://discuss.prosemirror.net/) donc peut-être qu’ils ont des idées à ce sujet. J’ai également vu qu’ils avaient une intégration pour markdown mais je n’ai aucune idée si tout cela correspondrait à ce dont Sam a parlé, je voulais juste l’inclure au cas où les gens voudraient faire plus de recherches à ce sujet.

3 « J'aime »

Son créateur a aussi un compte sur Meta. Je ne vais pas le mentionner ici, mais il est l’auteur d’un excellent livre sur Javascript : https://eloquentjavascript.net/.

Pour autant que je sache, ce serait une tâche vraiment complexe de remplacer l’éditeur Discourse actuel par quelque chose basé sur prosemirror.

2 « J'aime »

Ma suggestion pour ce sujet n’était pas d’utiliser tiptap exactement, il a été utilisé comme exemple. Ce que je recommande, c’est l’expérience d’édition par blocs.

2 « J'aime »

Cet éditeur semble prendre en charge la conversion markdown ↔ html nativement :

2 « J'aime »

@thoka Je l’ai testé à partir du lien que vous avez donné. Ça fonctionne vraiment très bien. Ce serait formidable de voir cet éditeur dans discourse. J’espère qu’il y aura un tel changement à l’avenir.

Hm. Semble fonctionner à première vue.
Un éditeur approprié doit au moins prendre en charge la conversion aller-retour sans perte de n’importe quel markdown de discourse → état html/éditeur → markdown.

La démo liée échoue, par exemple, sur les tableaux alignés.

3 « J'aime »

Je ne l’ai pas essayé sur des tables. Si le développement se poursuit, ce problème pourra également être résolu.

Il pourrait être intéressant de regarder l’éditeur Lexical de Meta : Introduction | Lexical. Il peut prendre en charge la double conversion Markdown vers HTML : @lexical/markdown | Lexical.

Je n’ai pas trouvé grand-chose pour commencer dans la documentation, mais travailler à rebours à partir du code du Lexical Playground est utile, du moins dans le contexte d’une application React.

8 « J'aime »

Absolument, @renato a expérimenté cela un peu, c’est un projet colossal mais quelque chose que nous sommes très intéressés à explorer.

8 « J'aime »

Actuellement, Discourse utilise un mélange de markdown, bbcode et HTML comme format de données sous-jacent. Existe-t-il des plans pour un format plus unifié ?

Concernant les expériences : est-il logique que tout éditeur visuel soit au moins idempotent (aucun changement dans la source lors du chargement, sans édition, sauvegarde) et localement contenu (seuls les changements dans la source où les modifications ont été effectuées) ?

3 « J'aime »

Voici Invision annonçant TipTap comme nouvel éditeur :

https://invisioncommunity.com/news/invision-community/invision-community-5-the-all-new-editor-r1301/

3 « J'aime »