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.
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.