Adaptadores I/O

Todas las operaciones de lectura y escritura de archivos se abstraen detrás de una interfaz común WritableDirectoryAdapter. Esto permite a la aplicación cambiar sin problemas entre el disco local y los proveedores Git remotos.

Adaptador FS Local

File System Access API

Opera sobre un FileSystemDirectoryHandle provisto por el usuario. Las ediciones se guardan directamente en el disco. Este modo es 100% offline y no requiere actividad de red.

Adaptador Git Remoto

REST API de GitHub / GitLab

Usa tokens OAuth para descargar el directorio .quill.md/ vía API de Árboles (Trees). Los commits se envían de forma secuencial a una rama huérfana.

Requisito de Rama Huérfana
quill.md se aísla de tu código fuente intencionalmente escribiendo únicamente en una rama huérfana llamada quill-md. Jamás tocará tu rama main o master.

Caché con IndexedDB

Para los modos remotos, leer cientos de archivos markdown a través de REST en cada carga de página es demasiado lento. La capa de adaptadores envuelve las lecturas remotas en una capa de caché de IndexedDB.

  • Obtiene el último SHA de Git para la rama.
  • Lo compara con el SHA guardado en caché.
  • Solo descarga los archivos cuyos SHAs han cambiado desde la última solicitud.