Lanzamiento del editor de texto enriquecido Quill v2
(quilljs.com)- Quill 2.0 es un editor WYSIWYG gratuito y de código abierto para la web moderna, que permite integrar funciones de edición de texto enriquecido directamente en un producto
- Basado en una arquitectura modular y una API expresiva, se puede empezar con el núcleo básico y personalizar el editor según las necesidades
- Los desarrolladores pueden acceder con granularidad al contenido, los cambios y los eventos del editor, y al usar JSON tanto en la entrada como en la salida, pueden esperar un comportamiento consistente
- Es compatible con navegadores modernos en escritorio, tablet y teléfono, y busca ofrecer el mismo comportamiento y el mismo HTML generado en todas las plataformas
- Puede ampliarse desde proyectos pequeños hasta empresas Fortune 500, por lo que resulta conveniente introducir un editor simple y luego escalarlo conforme crece el producto
Quill 2.0 y cómo empezar
- Ya fue lanzado Quill 2.0, y el contenido del lanzamiento puede revisarse en la publicación de anuncio: Quill 2.0 is released!
- Quill es un editor WYSIWYG gratuito y de código abierto creado para la web moderna
- Repositorio de código abierto: slab/quill
- Documentación: Documentation
- El ejemplo básico carga
quill.snow.cssyquill.jsdesde un CDN y luego crea el editor connew Quill('#editor', ...)- La versión del ejemplo es
quill@2.0.3 - En
modules.toolbarse especifica#toolbary enthemese usasnow
- La versión del ejemplo es
- También se puede probar la API directamente desde la consola de desarrollador del navegador
Personalización y alcance de uso
- Quill permite ajustar el editor según las necesidades mediante su arquitectura modular y su API
- Documentación de módulos: modular architecture
- Documentación de la API: API
- Los desarrolladores pueden acceder con precisión al contenido, los cambios y los eventos del editor mediante una API sencilla
- Usa JSON tanto para la entrada como para la salida, ofreciendo un comportamiento consistente y determinista
- Es compatible con navegadores modernos en escritorio, tablet y teléfono, y ofrece el mismo comportamiento y el mismo HTML generado entre plataformas
- Puede usarse tanto en proyectos pequeños como en empresas Fortune 500, y permite comenzar con Quill core para luego personalizarlo o agregar extensiones según sea necesario
- La cantidad de estrellas en GitHub aparece como 47,204
1 comentarios
Opiniones de Hacker News
En un trabajo anterior, alguna vez construí un sistema en el que los usuarios ingresaban texto con formato en una caja de texto de Quill y eso se guardaba en la base de datos en formato Delta.
Más tarde, otro miembro del equipo importaba ese contenido a un plugin de InDesign, leía el formato aplicado en Quill y lo volvía a aplicar como estilos del lado de InDesign.
Era un flujo en el que el personal de atención ingresaba avisos legales de un periódico y el equipo de producción pasaba el trabajo a InDesign para impresión; si hubiéramos guardado HTML como la mayoría de los editores, habría sido mucho más difícil, pero el formato Delta de Quill lo facilitó enormemente.
Hace años que no escuchaba de Quill ni lo usaba, así que me alegra que siga vivo.
Notas de la versión: https://github.com/quilljs/quill/releases/tag/v2.0.0
Publicación del anuncio: https://slab.com/blog/announcing-quill-2-0/
He usado bastante Quill y es fácil de integrar; el formato JSON Delta también está bastante bien y la estructura es relativamente simple.
Pero cada vez que lo uso me pregunto: “¿Debería simplemente usar ProseMirror?”.
Cuando necesitas funcionalidad de edición rápidamente, Quill es una buena solución temporal, pero si los requisitos de esa funcionalidad crecen, uno termina calculando mentalmente que algún día hará falta un plan de migración.
Por otro lado, a veces me pregunto por qué no se puede estandarizar un editor de texto con formato.
[1] https://slab.com/blog/announcing-quill-2-0/
Pero migrar de verdad se siente pesado, y me interesan las experiencias de otras personas.
Las razones fueron que es de muy bajo nivel y que tiene documentación enorme; me recordó un poco a D3.
Después creamos nodos personalizados, comandos personalizados y una barra de herramientas personalizada, lo integramos con Markdown y plugins personalizados de Markdown, y con apenas algo de código de unión se integra bastante limpiamente con Vue.
Hasta ahora estamos muy satisfechos con haber elegido ProseMirror.
No sé si sea raro tener opiniones demasiado fuertes sobre cómo debería manejarse la tecla Return en un editor de texto.
En texto plano, Return es una nueva línea; en texto con formato, Return debería ser un nuevo párrafo.
Si quieres una nueva línea, usas Shift+Return.
En versiones anteriores esto era un gran problema, y ahora no sé qué tanto se puede personalizar este comportamiento.
Admito que me importa demasiado este tema, pero TipTap me funcionó bien.
No es lo más común y solo aplica al presionar Return en ciertos tipos de bloque.
Shift+Return tampoco se puede usar en móviles, y es molesto tener que conocer una combinación de teclas oculta para obtener el comportamiento deseado.
El editor con formato de Reddit funciona así y termino peleándome con él seguido.
Al final, solo intenta evitar que tengas que presionar Return dos veces.
Entiendo la limpieza de mantener siempre al usuario dentro de un párrafo y hacer que elija explícitamente el salto de línea con Shift+Return, pero en un terreno tan complicado como los editores de texto con formato, priorizaría la experiencia de usuario por encima de la limpieza.
El manejo de párrafos en el ejemplo de Quill se ve raro.
La documentación es excelente. Ojalá todos los proyectos open source tuvieran una página como “Why Quill”[1], porque ayuda a entender rápidamente la filosofía del proyecto y si encaja con mis objetivos.
Mejor aún sería tener algo como “Why Not Quill”, para saber rápido en qué situaciones no encaja bien.
Todos los proyectos hacen concesiones, y comunicarlas de forma directa y clara le da una mejor experiencia al usuario.
[1] https://quilljs.com/docs/why-quill
Por el enlace no queda claro, pero parece que esto subió porque v2 fue lanzado hace 3 días.
Hace poco trabajé con Quill v1 y no fue muy bueno.
Hacer que las tablas funcionaran mediante un plugin fue doloroso, y también había problemas raros de scroll.
Espero que v2 haya arreglado mucho, pero pienso seguir usando TinyMCE, que es mejor en cuanto a funcionalidades.
Pero me molestó que el sitio requiera una clave de API aunque use JS estático, y también fue incómodo que hace unos días redujeran rápidamente el “uso” de renderizado del editor en el tier gratuito [0].
Me pregunto si eso no es un problema.
[0] https://news.ycombinator.com/item?id=40044544
Al principio no entendía por qué Quill había vuelto a aparecer, pero ahora veo que la esperada versión 2.0 fue lanzada hace 3 días.
Ver https://slab.com/blog/announcing-quill-2-0/
En un proyecto en el que trabajé hace tiempo, nos fue bastante mal por usar Quill
Personalmente, el problema fue que no revisamos lo suficiente las limitaciones del editor frente a los requisitos del proyecto, pero la forma en que la documentación enfatiza la extensibilidad de la biblioteca también puede terminar causando problemas
Si te mantienes dentro de sus límites, es una biblioteca excelente. Por ejemplo, conviene evitar cosas demasiado complejas, como contenido anidado
Creo que sería bastante útil que el sitio web tuviera una sección tipo “Why You Should NOT Use Quill?”
Dependerá del caso, pero yo no pienso volver a usar Quill en un proyecto de producción
Empecé a usar Quill 1.x alrededor de 2016 y al principio me gustó bastante
Cuando tuiteé que estaba evaluando Quill, Jason se puso en contacto conmigo primero y también me ayudó con preguntas de implementación
Para 2019 ya estaba lidiando con varios bugs, Quill 1.x estaba en modo mantenimiento y 2.0 prácticamente no tenía documentación [1]
Me comuniqué con Jason por Twitter para tener una idea del calendario [2], pero básicamente recibí una respuesta del estilo “vete al diablo”
Su empresa, Slab, ahora también me tiene bloqueado en Twitter, aunque quizá en realidad quería bloquearme desde su cuenta personal
Cuando uno está construyendo una startup cualquiera puede tener días estresantes, así que tal vez elegí un mal momento para contactarlo
Supongo que estaba concentrado en su empresa y que apenas tenía tiempo para mantener Quill para uso interno, pero casi nada de margen para lanzarlo como open source. Si era así, me habría gustado que lo dijera con franqueza
Cinco años después, Quill v2 por fin salió, y me alegra que Slab siga viva
Espero que de ahora en adelante tengan margen para mantener Quill públicamente, pero si vas a usarlo en producción, conviene confirmar qué nivel de compromiso hay con el soporte y también tener un plan por si dejan de responder
Si Jason está en este hilo, no hay resentimientos; es algo que ya pasó. Puede ignorarlo o agregar su punto de vista
[1] https://github.com/quilljs/quill/issues/2435
[2] https://twitter.com/nickbaum/status/1177240103925796865
Eso fue aún más frustrante porque justamente la razón para usar una biblioteca de editor de texto enriquecido en vez de hacer uno propio es evitar ese tipo de cosas
No sé cómo será v2, pero el código de v1 no está muy bien estructurado
También hay funcionalidades básicas cuya implementación postergamos por miedo a que aparecieran un millón de bugs pequeños
Lo mejor de Quill, por lejos, es el formato Delta
Pero a quien quiera algo más que negrita/subrayado/cursiva, le recomendaría ProseMirror
Artículos relacionados. ¿Habrá más?
Announcing Quill 1.0 - https://news.ycombinator.com/item?id=12437345 - septiembre de 2016, 82 comentarios
Quill – A cross browser rich text editor with an API - https://news.ycombinator.com/item?id=10446865 - octubre de 2015, 47 comentarios
Quill – An Open Source Rich Text Editor with an API - https://news.ycombinator.com/item?id=7716376 - mayo de 2014, 60 comentarios
Recuerdo haber usado https://github.com/facebook/lexical en un proyecto hace más o menos un año, y casi todo funcionó bien de inmediato
¿Habría alguna razón para preferir Quill?