Obsidian plugin· Active · beta · not yet released
Books & Shelves
Shelves across Obsidian, Calibre and Audible, as an Obsidian plugin over the shelf engine.
What's changed in Books & Shelves
Unreleased
not yet released
Everything built so far. The first beta will be 0.1.0.
New
- The settings Calibre needs, checked: Connect… → Test checks that the Content Server answers, that any login works, that the library exists and that the server allows changes, one row each, and says where in Calibre to set a failing one right. The Library tab says Connected, read-only with the fix when only changes are refused. The guide has the table (Connect to Calibre).
- Requires Model Hub; registers its model roles (
books.*) on Model Hub tiers. Models… in settings opens Model Hub’s role editor. - Calibre layer: reads the library through the Content Server (or read-only from
metadata.dbwhen the server is off); every change to Calibre goes through a write queue that writes only if Calibre still holds the expected value, reads it back, logs it per run and can undo the run. Open the Calibre write queue shows waiting changes, conflicts and failures. - Notes sync: one note per Calibre book. Matches existing notes by Calibre id, ISBN, then title and author; folds duplicate Calibre records into one note (
calibre_ids); writes ids into notes you have (other fields only where empty) and creates notes for the rest, named by your template. Shows everything before writing; books it can't place with certainty are listed, not guessed. Each run can be undone: fields go back unless you changed them since, new notes go to the trash. - Covers: Find covers saves one for every book note without one (Calibre's own, else Open Library by ISBN or by title and author, else Google Books with your API key), links it from the note's
coverfield, and can queue it for Calibre when Calibre has none. Covers show under the title of book notes and in the Shelf view. Replace cover (a button on the cover, or a command) takes an image file, an image address or one of the covers found online, and can replace Calibre's too; Calibre's old cover is kept so undo restores it. - Shelves: one vector per book (title, authors, context and a sample of its text) through Model Hub's books.embed role; vectors you already have import as they are. Suggest shelves clusters the library and names each group through books.shelf-name, as review notes you accept, rename, split or reject; Make a shelf from a description and Split a subject into shelves gather books by meaning and key terms and let books.shelf-keep choose; Apply shelf suggestions turns accepted ones into living shelf notes. Find similar books writes each note's five nearest books. All undoable.
- Reading list:
reading_status(want to read, up next, reading, read, set aside) with started and finished dates; the queue is a plain numbered list in Up Next.md. The reading list view shows what you're reading, up next (drag to reorder), suggestions near what you finished last, and recently finished, with covers and badges (not owned, audiobook only, book N of M). Add from a book note, a Shelf card or the command palette. - Summaries: a one-page summary of a book (or of every book on a shelf) from its own text through books.summarize, digesting chapters first when the book is too long for the model; chapter notes through books.chapters, with quotes kept only when found word for word. An estimate before every run; an overcharged call stops it; undo puts an earlier summary back.
- Metadata review: Look up metadata (this book, or every book without an ISBN) reads the book's first pages through books.title-page, asks Open Library (and Google Books with a key) by printed ISBN and by title and author, and judges candidates against the pages through books.match (a quote must be found in the text). Records the book confirms, or that a calibrated decision model judges plausible with confidence (books.plausible), are queued for Calibre; the rest become review rows. Find duplicate author names judges similar names through books.same-author. Apply accepted reviews turns accepted rows into write-queue changes. Undoing a run also discards its changes still waiting in the queue.
- Jobs: longer runs are jobs, one writing job at a time, with progress, elapsed and remaining time and cost so far; a warning after five minutes without progress; cancel from the jobs view. The status bar shows the running job or how many things need your review. Resync with Calibre (now, or every few minutes while Obsidian is open) brings notes and covers up to date, and embeds new books if you allow it; each resync can be undone.
- Packs: fields copied from Calibre columns, prompt additions, shelf group folders, name honorifics, new-note frontmatter (and a banner from the cover), and an older reading-status field, from built-in packs (Buddhism, off by default) and your own
pack.ymlfolders. A test keeps personal names and paths out of the repository. - Settings for the Calibre Content Server, folders and note names; a status panel for Model Hub, the Calibre server and the folders.
- Settings in six tabs: Library, Notes, Shelves, Review, Packs and Models.
- Guide pages for every task, in
docs/guide/and on the docs site.
Changed
- Library Shelves becomes Books & Shelves (
books-and-shelves). The Shelf view for Bases keeps its id, so existing.basefiles keep working.
For plugin developers · 1 change
- An API for other plugins (0.2.0):
getBooks,listBooks,shelfMembers,bookFile,pdfText,calibreChecks(the Calibre settings checked, each with its fix), andonBooksReadyfor reloads. The reference is generated from the code:docs/api/books-and-shelves-api.d.tsanddocs/api/api.json.
Each released version is also a GitHub release with the same notes. What is planned next: the roadmap.