cli + tui to publish to leaflet (wip) & manage tasks, notes & watch/read lists 🍃
charm leaflet readability golang
at main 100 lines 2.9 kB view raw view rendered
1--- 2title: Books 3sidebar_label: Books 4description: Build and maintain your reading list with Open Library metadata. 5sidebar_position: 2 6--- 7 8# Books 9 10The book workflow revolves around Open Library search results. Each command lives under `noteleaf media book`. 11 12## Add Books 13 14Search Open Library and pick a result: 15 16```sh 17noteleaf media book add "Project Hail Mary" 18``` 19 20Flags: 21 22- `-i, --interactive`: open the TUI browser (currently shows your local list—useful for triage). 23- Plain mode prints the top five matches inline and prompts for a numeric selection. 24 25Behind the scenes Noteleaf records the title, authors, edition details, and any subjects returned by the API. New entries start in the `queued` status. 26 27## Manage the Reading List 28 29List and filter: 30 31```sh 32# Everything 33noteleaf media book list --all 34 35# Only active reads 36noteleaf media book list --reading 37 38# Completed books 39noteleaf media book list --finished 40``` 41 42Each line shows the ID, title, author, status, progress percentage, and any captured metadata (publishers, edition counts, etc.). 43 44Remove items you no longer care about: 45 46```sh 47noteleaf media book remove 42 48``` 49 50## Track Progress 51 52You can explicitly set the status: 53 54```sh 55noteleaf media book reading 7 56noteleaf media book finished 7 57noteleaf media book update 7 queued 58``` 59 60But the fastest way is to update the percentage: 61 62```sh 63noteleaf media book progress 7 45 # Moves status to reading and records start time 64noteleaf media book progress 7 100 # Marks finished and records completion time 65``` 66 67Logic applied automatically: 68 69- `0%` → resets to `queued` and clears the “started” timestamp. 70- `1‑99%` → flips to `reading` (start time captured). 71- `100%` → marks `finished`, sets end time, and locks progress at 100%. 72 73## Reading Lists and Search 74 75Common workflows: 76 77- **Focus view**: `noteleaf media book list --reading | fzf` to pick the next session book. 78- **Backlog grooming**: `noteleaf media book list --queued` to prune items before they go stale. 79- **Author sprint**: pipe the list to `rg` to filter by author (`noteleaf media book list --all | rg "Le Guin"`). 80 81The TUI (`noteleaf media book add -i` or `noteleaf media book list` with the `--interactive` switch) supports `/` to search titles/authors/notes live and `v` for a detailed preview with timestamps. 82 83## Metadata and Notes 84 85Each record stores: 86 87- Title & authors (comma separated when multiple). 88- Edition count, publishers, subject tags, or cover IDs exposed as inline notes. 89- Added/started/finished timestamps. 90- Optional page count (if Open Library exposes it). 91 92Use those IDs anywhere else (tasks or notes). Example note snippet: 93 94```markdown 95## Reading Log 96- 2024-02-01 → Started book #7 ("Project Hail Mary") 97- 2024-02-05 → Captured ideas in note #128 linked back to the book. 98``` 99 100Because media lives in the same database as tasks and notes, full-text search will surface those references instantly.