Editor similar a Notion

Hola a todos,

A medida que continuamos familiarizándonos con Discourse y trabajamos con él, me he dado cuenta de que el Editor es, con mucho, mi favorito de todos los softwares de foros con los que he trabajado a lo largo de los años. Sin embargo, creo que
lo que recomiendo es un editor basado en bloques donde puedes usar “/” y aparecen atajos rápidos. Un ejemplo es Notion y otro es el editor de tiptap.

Aquí hay una captura de pantalla de Marktext, uno de mis editores de markdown de código abierto favoritos para escritorio:

Muchos editores de Markdown se están moviendo en la dirección de los atajos de bloques, y creo que Discourse podría beneficiarse de tal concepto tanto en forma como en función.

13 Me gusta

Supongo que sería un gran trabajo hacer que esto funcione a la perfección.

Relacionado vagamente, hace tiempo se creó y discutió un plugin de editor WYSIWYG que ahora está roto:

3 Me gusta

Sí, estaba mirando eso antes de publicar esto, solo quería hacer una solicitud formal.

Noté que @sam dijo que esencialmente hay Planes™ en proceso desde octubre de 2022.

3 Me gusta

Acabo de encontrar esta biblioteca de código abierto que hace comandos similares a Notion. No estoy seguro de qué tan fácil sería integrarla en Discourse, pero quería publicarla por si a alguien más se le ocurre una idea:

6 Me gusta

Esto parece estar construido sobre https://tiptap.dev/ que está cerrado?

1 me gusta

Tiptap es de código abierto, hasta donde sé:

3 Me gusta

Ya veo, las extensiones pro son de pago.

Lo más complicado aquí es la bidireccionalidad. El puente entre markdown y html. Renunciar a markdown es algo que me gustaría evitar en cualquier experimento en este ámbito.

5 Me gusta

TipTap es un wrapper alrededor de ProseMirror: https://prosemirror.net/.

2 Me gusta

De acuerdo.

Lo enlacé principalmente como un ejemplo, creo que la experimentación en este espacio podría valer la pena, pero aún no estoy muy seguro de cómo podría funcionar a un nivel más técnico, particularmente cuando uno de los objetivos es no renunciar a la transición de markdown a html.

Creo que sigo sintiéndome positivo acerca de esto, como lo hice en julio de 2023 cuando creé el tema, ya que casi todo lo que uso como aplicación donde la escritura está involucrada tiene una funcionalidad similar ahora.

Le daré más vueltas en las próximas semanas y volveré a publicar si se me ocurre algo.

Como mínimo, debería incluir algún tipo de método de teclado, como escribir “/” o algún otro símbolo designado que active una paleta de selección fluida para la inserción de formato y cosas que Discourse considere dignas, como Notion, Tiptap, etc.

1 me gusta

Parece que prosemirror usa Discourse (https://discuss.prosemirror.net/), así que tal vez tengan algunas ideas al respecto. También vi que tienen una integración para markdown, pero no tengo idea de si algo de esto se alinearía con lo que Sam mencionó, solo quería incluirlo en caso de que la gente quiera investigarlo más.

3 Me gusta

Su creador también tiene una cuenta en Meta. No lo mencionaré aquí, pero es el autor de un gran libro de Javascript: https://eloquentjavascript.net/.

Hasta donde sé, sería una tarea realmente compleja cambiar el editor actual de Discourse a algo basado en prosemirror.

2 Me gusta

Mi sugerencia para este tema no fue usar tiptap exactamente, se utilizó como ejemplo. Lo que recomiendo es la experiencia de edición de bloques.

2 Me gusta

Este editor parece soportar la conversión de markdown a html de forma nativa:

2 Me gusta

@thoka Lo probé desde el enlace que diste. Realmente funciona muy bien. Sería genial ver este editor en discourse. Espero que haya un cambio así en el futuro.

Hm. Parece funcionar a primera vista.
Un editor adecuado debe, como mínimo, admitir la conversión de ida y vuelta sin pérdidas de cualquier markdown de Discourse → estado de editor html → markdown.

La demostración enlazada falla, por ejemplo, en tablas alineadas.

3 Me gusta

No lo he probado en tablas. Si el desarrollo continúa, este problema también se puede solucionar.

Podría valer la pena echar un vistazo al editor Lexical de Meta: Introduction | Lexical. Puede soportar el puenteo bidireccional de markdown a html: @lexical/markdown | Lexical.

No encontré mucho para empezar en la documentación, pero trabajar hacia atrás desde el código del Lexical Playground es útil, al menos en el contexto de una aplicación React.

8 Me gusta

Absolutamente, @renato experimentó un poco con esto, es un proyecto colosal pero algo que estamos muy interesados en explorar.

8 Me gusta

Actualmente Discourse utiliza una mezcla de markdown, bbcode y HTML como su formato de datos subyacente. ¿Existen planes hacia un formato más unificado?

Respecto a los experimentos: ¿Es de sentido común que cualquier editor visual sea al menos idempotente (sin cambios en el origen al cargar, no editar, guardar) y esté contenido localmente (solo cambios en el origen donde se han realizado las ediciones)?

3 Me gusta

Aquí Invision anuncia TipTap como su nuevo editor:

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

3 Me gusta