Add Neon and Meridian glass themes, bundled fonts, configurable recovery backup location, autosave and UI polish

This commit is contained in:
avi 2026-08-24 18:58:16 -05:00
commit b74cfe98ab
59 changed files with 1848 additions and 185 deletions

View file

@ -24,7 +24,7 @@ export { createBook, loadBook, saveMeta } from "./src/main/project.ts";
export { setChapterContent, getChapterContent } from "./src/main/chapters.ts";
export { markdownToNative } from "./src/main/markdown-to-native.ts";
export { parseChapter, serializeChapter, migrateDoc, getChapterDoc, nativeChapterFile, CURRENT_DOC_SCHEMA_VERSION, isValidDoc } from "./src/main/native-doc.ts";
export { RECOVERY_ROOT, _resetSessionBackupGuard } from "./src/main/backup.ts";
export { getRecoveryRoot, _resetSessionBackupGuard } from "./src/main/backup.ts";
`
);
await esbuild.build({
@ -54,7 +54,7 @@ const {
serializeChapter,
migrateDoc,
CURRENT_DOC_SCHEMA_VERSION,
RECOVERY_ROOT,
getRecoveryRoot,
_resetSessionBackupGuard,
} = mod;
@ -244,10 +244,10 @@ ok(
// Recovery backup exists under ~/Folio-Recovery and contains folio.json
const bookName = path.basename(book);
const backups = fs
.readdirSync(RECOVERY_ROOT)
.filter((d) => d.startsWith(bookName) && fs.statSync(path.join(RECOVERY_ROOT, d)).isDirectory());
.readdirSync(getRecoveryRoot())
.filter((d) => d.startsWith(bookName) && fs.statSync(path.join(getRecoveryRoot(), d)).isDirectory());
ok(backups.length >= 1, "recovery backup created under ~/Folio-Recovery");
const backupDir = path.join(RECOVERY_ROOT, backups[0]);
const backupDir = path.join(getRecoveryRoot(), backups[0]);
ok(fs.existsSync(path.join(backupDir, "folio.json")), "backup contains folio.json");
ok(
fs.existsSync(path.join(backupDir, "chapters", `${c1}.md`)),
@ -294,7 +294,7 @@ ok(
fs.rmSync(out, { force: true });
fs.rmSync(book, { recursive: true, force: true });
for (const d of backups) {
fs.rmSync(path.join(RECOVERY_ROOT, d), { recursive: true, force: true });
fs.rmSync(path.join(getRecoveryRoot(), d), { recursive: true, force: true });
}
console.log(