Los editores

El editor es donde pasas el tiempo en Caliu, así que es lo que más cuidado recibe. Cada app tiene su propio editor, construido sobre la tecnología de texto de su plataforma, y todos comparten una promesa: lo que se guarda es Markdown puro, y lo que ves es ese mismo Markdown, con formato en su sitio mientras escribes.

Un ciclo, tres editores

Todos los editores de Caliu hacen las mismas tres cosas:

  1. Leer el Markdown de la nota y deducir su estructura: encabezados, listas, tareas, citas, código, tablas.
  2. Mostrar esa estructura como texto con formato, ocultando la sintaxis hasta que la necesitas.
  3. Escribir tus cambios de vuelta como Markdown, el mismo texto plano que puede leer cualquier otra app de Markdown.

Abrir una nota nunca la modifica. Una nota solo cambia cuando la editas, así que leerla en otro dispositivo nunca la reescribe a tus espaldas.

En la web: ProseMirror

El editor web está construido con Tiptap, que funciona sobre ProseMirror, un kit de herramientas para editar texto enriquecido en el navegador que usan muchas herramientas de escritura conocidas. Los bloques de código se colorean con Shiki, el mismo resaltador que usan muchos editores de código.

En iPhone, iPad y Mac: el sistema de texto de Apple

El editor de Apple está construido directamente sobre la vista de texto nativa de Apple (UITextView en iPhone y iPad, NSTextView en el Mac) y TextKit, el motor de texto que hay detrás de las apps de la propia Apple. El Markdown se lee con la biblioteca swift-markdown de Apple, que sigue la misma especificación que usa GitHub, y se escribe de vuelta respetando tus elecciones originales: si escribiste *italic* en lugar de _italic_, se queda así.

Toda la nota es una única vista de texto continua. Eso es lo que hace que seleccionar, desplazarse y editar entre párrafos resulte natural. Lo que no es texto plano, como las tablas y los bloques de código, se dibuja como vistas propias superpuestas al texto.

En Android: el campo de texto de la plataforma

El editor de Android está construido sobre el propio campo de texto de Android, al que se da formato mientras escribes. El Markdown se lee con commonmark-java y se comprueba con la misma referencia que la app de Apple. Cientos de documentos de ejemplo tienen que salir del editor de Android exactamente como entraron, igual que en los dispositivos de Apple.

Por qué importa el texto nativo

Editar texto es una de las cosas más difíciles de hacer bien en una app. Al construir sobre el motor de texto de cada plataforma en lugar de reinventarlo, Caliu obtiene todo lo que tu dispositivo ya sabe hacer: autocorrección y corrector ortográfico, dictado, métodos de entrada para japonés, chino y coreano, lectores de pantalla como VoiceOver y TalkBack, y los tiradores de selección y atajos a los que estás acostumbrado.

Ver el Markdown

Siempre que quieras ver lo que se guarda de verdad, cambia al modo fuente. Muestra el Markdown en bruto, con cada # y cada * incluidos, y también puedes editarlo ahí. Consulta el artículo «Modo fuente».