Ir al contenido

Editor

La superficie de notas de la aplicación web tiene una única alternancia Reading view / Edit en la parte superior de la nota. Reading view es donde ocurre el renderizado enriquecido; Edit es un campo de texto plano de CodeMirror 6 para escribir markdown.

El visor es un stack remark/rehype diseñado para ser compatible con Obsidian. Si se renderiza en Obsidian, debería renderizarse aquí.

  • CommonMark + GFM: encabezados, listas, tablas, bloques de código delimitados, tachado, listas de tareas
  • Wikilinks: [[Note Title]] y [[Note Title|Display Text]], mostrados como enlaces a /notes/<path>
  • Imágenes incrustadas: ![[image.png]] se resuelve mediante la API autenticada de adjuntos
  • Callouts: > [!note], > [!warning], > [!tip], etc. al estilo de Obsidian, mediante @portaljs/remark-callouts
  • Matemáticas con KaTeX: $inline$ y $$display$$
  • Diagramas Mermaid: bloques delimitados ```mermaid
  • Resaltado de sintaxis: los bloques de código delimitados se renderizan con rehype-highlight
  • Frontmatter: el YAML al principio del archivo se analiza con gray-matter; el cuerpo se muestra debajo
  • Encabezados con enlace automático: cada encabezado recibe un slug y un enlace de ancla

Edit mode incorpora un campo de CodeMirror 6 con el plugin del lenguaje markdown (resaltado de sintaxis), ajuste de línea y una fuente de 16 px apta para móvil que evita el zoom automático de iOS Safari.

No hay botón de guardar. El editor guarda automáticamente mientras escribes: un indicador de estado en la parte superior de la nota muestra Saving… mientras se envía una escritura, Saved cuando llega, y Save failed con un enlace Retry en el que se puede hacer clic si una escritura falla.

El editor web es, a propósito, una superficie de captura rápida: abre una nota, edita y sigue con lo tuyo. Para una escritura más rica (menús con barra, buscar y reemplazar dentro del editor, autocompletado de wikilinks y etiquetas), Obsidian es la herramienta adecuada. La división es intencionada, no una carencia; Obsidian ya es un editor excepcional y nos sincronizamos con él de forma nativa, así que la aplicación web se centra en lo que cuesta hacer bien desde Obsidian (explorar varias bóvedas, acceso móvil sin la aplicación de Obsidian para iOS, acceso desde cualquier navegador).

El editor web usa el mismo motor de sincronización que el plugin. Si otro dispositivo edita la misma nota mientras la tienes abierta, el editor reacciona sin perder tu trabajo:

  • Las ediciones remotas entrantes se integran en tu borrador abierto mediante una fusión a tres bandas. Las fusiones limpias ocurren en silencio.
  • Si tu guardado compite con la escritura de otro dispositivo, el backend devuelve un 409. El editor obtiene la última versión, reaplica tu edición encima mediante una fusión a tres bandas y reintenta el guardado automáticamente.
  • Cuando una fusión tiene un solapamiento real a nivel de línea, tu borrador queda exactamente como está y aparece una ConflictBar no bloqueante con tres opciones: Keep mine, Take theirs o View merge. Nada se descarta en silencio.

Todo lo que dependa de un plugin de la comunidad de Obsidian (consultas de Dataview, resultados de Templater, extensiones de canvas personalizadas, formas de Excalidraw, etc.) no se ejecutará en el editor web. La aplicación web incluye su propio renderizador; no puede ejecutar el código de plugins de tu instalación de Obsidian. Los bloques de Dataview se muestran como código delimitado plano, la sintaxis de Templater queda sin resolver, y así sucesivamente.

Las notas que dependen del renderizado de plugins siguen a salvo. Se sincronizan como markdown plano y se ven correctamente en Obsidian. Simplemente no obtienen el renderizado dinámico al verse en la aplicación web.

La compatibilidad con plugins es algo que podríamos explorar en una futura versión mayor, pero no está en la hoja de ruta actual.

El editor es táctil, pero limitado por la pantalla pequeña. Para editar mucho en el teléfono, Obsidian móvil suele ser la mejor superficie. Las ediciones rápidas y la búsqueda en la aplicación web funcionan bien.