minimal - ¿Algún editor de texto enriquecido WYSIWYG que no use HTML(contenteditable o designMode), a la(la nueva) Google Docs?
wysiwyg editor javascript (3)
Además de los nuevos Google Docs, todos los demás editores de texto enriquecido basados en la web WYSIWYG (ckeditor, tinymce, viejos Google Docs) que he visto están basados en contenteditable o designMode. Personalmente odio usar estos editores. No requiere mucho formateo o copia / pegado antes de que toda la experiencia se convierta en un ejercicio de frustración. Las devoluciones comienzan repentinamente a obtener espacios dobles, el formato involuntario se introduce al pegar desde otras fuentes HTML, las operaciones de deshacer / rehacer están completamente rotas, el formateo se vuelve extremadamente difícil de controlar, etc.
Creo que esta es una de las razones por las que Google Docs introdujo su propio motor de formateo mucho más restringido y que no usa HTML. ¿Hay alguna biblioteca de código abierto que proporcione algo similar? Gracias por adelantado.
Hay HTE , desafortunadamente es lento y pierde una gran cantidad de funcionalidad de selección básica.
Podría comenzar con el editor Ace (anteriormente Bespin y Skywriter). Está dirigido a la edición de código, por lo que le falta formato y otras características, pero puede encontrar un núcleo útil de funcionalidad para basar un editor de texto enriquecido.
En acción: http://ajaxorg.github.com/ace/build/editor.html
Código: https://github.com/ajaxorg/ace
Actualización: Como señala @theazureshadow, el editor actual no usa canvas
como informé originalmente. Bespin usó canvas
antes de fusionarse con Ace, que usa el DOM. Sin embargo, al mirar brevemente debajo del capó, no parece que utilicen contentEditable
o designMode
. (Hay un <textarea />
que sigue el cursor y abarca y divs para mostrar el texto, un montón de JS personalizado para unirlo todo, creo).
De ace.ajax.org> Historia:
Bespin comenzó como parte de Mozilla Labs y se basó en la etiqueta
<canvas>
, mientras que Ace es el componente Editor del IDE de Cloud9 y está utilizando el DOM para renderizar.
Tienes razón: es mucho mejor.
¿Existe una biblioteca de código abierto que proporcione [un editor de documentos que no use el navegador para manejar texto editable, en su lugar usando una superficie de edición personalizada y un motor de diseño, completamente en JavaScript].
Dudoso.
Primero, el editor se denomina "Kix". No es no HTML, pero no usa contentEditable porque es una mierda para lo que están haciendo, como mencionas. Lo que hace es complicado y voluminoso para hacer lo correcto, y estoy seguro de que les costó un buen esfuerzo crearlo.
Dicho esto, ¿por qué Google abriría el código fuente Kix? Socava su esfuerzo por ser su centro de documentación, y significa que tienen que hacer un montón de trabajo adicional para separar a Kix del resto de Google Docs de una manera que no lo deje difícil de integrar. ¿El beneficio? No mucho, ya que es poco probable que los proyectos de código abierto patrocinados por Google vean el apoyo en forma de participación de los desarrolladores para mejorarlo.
En cuanto a que alguien cree una biblioteca para hacerlo, dudo que ocurra en código abierto. Por lo general, los proyectos de fuente abierta que son una empresa importante son patrocinados por la universidad o la empresa, y eso no es probable en este caso por las razones anteriores. Por otra parte, si un desarrollador tiene ganas de hacerlo, no se sabe a dónde podría llegar ...