feat: OneNote-style notebooks, text fonts, and page navigation
All checks were successful
CI / Windows build (push) Successful in 8m42s

Add notebook.json containers with multi-member pages, fix PDF text
editing (size/bold/drag/double-tap), index SidecarText in search, and
share keyboard page shortcuts plus a PDF scrubber.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-05 20:27:35 +08:00
parent 4a6fe7d05e
commit 2b1c6ba7e0
18 changed files with 1344 additions and 112 deletions

View File

@@ -339,4 +339,30 @@ void main() {
expect(notes.single.title, 'Loose Note');
});
});
group('notebook container (OneNote-style)', () {
test('createNotebookContainer writes manifest + blank page', () async {
final vault = await makeService();
await vault.setVaultRoot(tempDir.path);
final c = await vault.createNotebookContainer('Linear Algebra');
expect(c.title, 'Linear Algebra');
expect(c.memberCount, 1);
final containers = await vault.scanContainers();
expect(containers.map((x) => x.folderPath), contains(c.folderPath));
// Containers are excluded from the single-doc / free-note scans.
expect(await vault.scanNotes(), isEmpty);
expect(await vault.scanNotebooks(), isEmpty);
final page = await vault.addBlankPageToContainer(
c.folderPath,
title: 'Lecture 2',
);
expect(page.title, 'Lecture 2');
final again = await vault.scanContainers();
expect(again.single.memberCount, 2);
});
});
}