mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-15 02:41:41 +00:00
74 lines
2.3 KiB
Markdown
74 lines
2.3 KiB
Markdown
|
# Editor de texto
|
||
|
|
||
|
Tenemos varias posibilidades para editores de texto:
|
||
|
|
||
|
# [Trix](https://trix-editor.org/)
|
||
|
|
||
|
Es el editor WYSIWYG integrado a Rails 6. Es simple, liviano, de
|
||
|
relativa fácil extensibilidad, se pueden subir archivos directamente,
|
||
|
pero:
|
||
|
|
||
|
* No soporta markdown, con lo que hay que convertir de HTML a MD
|
||
|
internamente
|
||
|
|
||
|
* Hay que agregarle botones para H2-H6 porque solo tiene H1
|
||
|
|
||
|
* No soporta tablas, aunque alguien lo logró hacer si hiciera falta.
|
||
|
(Podemos abrir un editor de ethercalc o simil quizas y tomar los datos
|
||
|
importándolos en HTML).
|
||
|
|
||
|
# [Codemirror](https://codemirror.net/)
|
||
|
|
||
|
Es un editor de texto con resaltado de sintaxis, pero:
|
||
|
|
||
|
* Como no es WYSIWYG, la gente se puede asustar. Solo serviría para
|
||
|
quienes se animan a (o quieren) escribir directamente con MD
|
||
|
|
||
|
* Habría que desarrollar una vista previa
|
||
|
|
||
|
* Habría que hacer una interfaz para vincular imágenes y otras cosas
|
||
|
|
||
|
# [ACE](https://ace.c9.io/)
|
||
|
|
||
|
Es un editor de texto como Codemirror aunque con más opciones y más
|
||
|
liviano (?), pero:
|
||
|
|
||
|
* Ídem codemirror
|
||
|
|
||
|
# [TUI-Editor](https://ui.toast.com/tui-editor/)
|
||
|
|
||
|
Es un editor WYSIWYG para Markdown, soporta tablas y un montón de
|
||
|
features, pero:
|
||
|
|
||
|
* Está hecho en jQuery
|
||
|
* El JS es gigante y es super complejo, con lo que no podríamos
|
||
|
extenderlo si hiciera falta
|
||
|
* No modifica un textarea con lo que no hay relación inmediata entre el
|
||
|
texto escrito y lo que se envía luego, puede haber bugs donde no
|
||
|
mandemos o no guardemos todo el texto.
|
||
|
* Tiene analytics incorporadas aunque se pueden deshabilitar
|
||
|
|
||
|
# Editor para Sutty
|
||
|
|
||
|
Por ahora vamos a ir con Trix ya que es el que más características
|
||
|
básicas tiene por la cantidad de esfuerzo que insume. Nos interesa dar
|
||
|
la posibilidad de una edición más hacker (!), así que quizás integremos
|
||
|
ACE o Codemirror más adelante.
|
||
|
|
||
|
# Arquitectura
|
||
|
|
||
|
Todos los campos de metadatos de tipo `content` se van a convertir en
|
||
|
editores Trix.
|
||
|
|
||
|
Trix envía HTML, que se convierte a Markdown con reverse_markdown. Al
|
||
|
cargar el texto para editar, hay que volver a convertirlo a HTML para
|
||
|
que Trix lo entienda. No tiene que haber incompatibilidades porque en
|
||
|
cada edición se van a degradar los textos sino.
|
||
|
|
||
|
# TODO
|
||
|
|
||
|
* No escapar los bloques de cita al sanitizar
|
||
|
* Crear plugin que convierta imagenes remotas en locales
|
||
|
* Probar qué otros adjuntos soporta trix y limitarlos (?)
|
||
|
* Que los <br> de trix se conviertan en parrafos
|