wangdl
|
b5f8e273a9
|
feat: ReadingEvent serde tests + NoteAnchor with from_position constructor and tests
|
2026-05-30 21:18:30 +08:00 |
|
wangdl
|
b3a7fe0414
|
test: ReadingPosition serde round-trip tests for all 6 variants
|
2026-05-30 21:05:34 +08:00 |
|
wangdl
|
8166878bf8
|
feat: image metadata reading - width, height, format, file_size with fixture test
|
2026-05-30 20:59:50 +08:00 |
|
wangdl
|
af58a35b0a
|
feat: TXT text reading - paragraph parsing, line/word stats
|
2026-05-30 20:55:30 +08:00 |
|
wangdl
|
c390718c15
|
feat: Markdown parsing with comrak - GFM tables, strikethrough, tasklist, all 11 block types
|
2026-05-30 20:50:54 +08:00 |
|
wangdl
|
43010221ff
|
feat: detect_material_type - file type identification via magic bytes + MIME + extension
|
2026-05-30 20:34:30 +08:00 |
|
wangdl
|
8042a9d92e
|
feat: core data models - MaterialType, DocumentBlock, ReadingPosition, ReadingEvent, NoteAnchor, SearchResult, DocumentError
|
2026-05-30 20:22:16 +08:00 |
|
wangdl
|
c8f9d64fd8
|
fix: add minimal lib.rs declarations to pass cargo check
|
2026-05-30 18:35:20 +08:00 |
|
wangdl
|
e76f253260
|
chore: init Rust workspace skeleton with crate structure
|
2026-05-30 18:33:50 +08:00 |
|