Obsidian plugin· Released · beta · not yet released
Library Hub
Shelves across Obsidian, Calibre and Audible, as an Obsidian plugin over the shelf engine.
What's changed in Library Hub
Unreleased
not yet released
New
- A note for every book. Sync reads your Calibre library through its Content Server and makes one note per book. It matches the notes you already have by Calibre id and uuid, then ISBN, then title and author, and shows everything before it writes. A book it can't place with certainty is listed for you to settle. Every run can be undone. Resync keeps notes current, now or every few minutes while Obsidian is open (Sync your notes).
- Your own writing is kept. Library Hub writes only the fields and blocks it owns. Text under a heading the template no longer has moves to an Orphaned sections heading instead of being dropped.
- Covers. Calibre's own cover, else Open Library, else Google Books with your key, saved in your vault and shown on notes, shelves and the reading list. Replace cover takes a file, an image address or a cover found online, and can send it to Calibre (Covers).
- Shelves as notes. Make a shelf by hand, from a description, or by splitting a broad subject. A book note lists its shelves in
shelves, and the ones it is kept off inshelves_exclude. The Shelf view shows a shelf as cards in a Base, with a × to take a book off and Add a book (Build shelves). - Matching by words. Similar books, the books read for a shelf from a description, and suggestions in the reading list come from the words books share: titles, authors and the
contextin each note. No model and no stored index are needed. - Near-duplicate shelves. Check shelves finds pairs of shelves with names alike or most of their books in common. Each pair waits in the Library panel under Needs you, in a row of its own, to merge, delete one or keep both, with undo (Shelf health).
- Bring in new books. New files in a folder you choose, and books new in Calibre, go through one pass you review: added to Calibre, a note, a metadata lookup and a cover. Each step can be turned off, and the whole pass undone (New books).
- Grow a shelf. A model suggests books that fit a shelf, each one is checked in Open Library, and the ones you don't have are kept as a wishlist you review. Nothing is downloaded (Grow a shelf).
- A reading list.
reading_statuswith started and finished dates, a queue of what is up next as a plain numbered note, a reading goal, days you read, and a year-in-review note (Keep a reading list, Year in review). - Reading in Obsidian. EPUB, AZW3, MOBI and PDF open in a tab, with your place remembered. Scripts in a book never run. Open with… lists every way to open a book, and a link,
obsidian://library-hub-open?book=…, opens one at a chapter, a passage or a highlight (Reading in Obsidian). - Highlights. Select text in the reader, EPUB or PDF, and keep it as a callout in a note for the book, with a link back to the place. A highlight keeps a little of the text around it, so it finds its words again after a book is converted, or shows as lost. One highlight a day comes back in the Library panel (Highlights).
- Summaries. A one-page summary, or chapter notes with quotes checked word for word, from the book's own text. A summary of one book starts at once, and the panel shows its progress, its cost and Cancel. A shelf's summaries and chapter notes show an estimate first. A banner offers a summary the first time you open a book note without one (Summarize a book).
- Metadata review. Look up metadata reads a book's first pages and checks Open Library and Google Books. Changes the book confirms go to the write queue; the rest wait as review rows. Accepted changes reach Calibre one at a time, checked against what was there, with undo (Review book details, Changes to Calibre).
- Series and author notes. A note for each series you have two or more books of, with the numbers missing, and for each author with several books. Series named in titles can be proposed to Calibre (Series, Authors).
- Library health. Books with no cover, ISBN or author, ebooks not linked to Calibre, and possible duplicate notes, in a report and the Library panel (Library health).
- Sharing and publishing. A share template says which fields leave your vault; Share shelves… writes shelves as schema.org JSON-LD and as notes a site can read. Publish this book… has a Model Hub skill write a book's page, shown to you before it is written (Sharing shelves, Publishing a book).
- More providers. Besides Calibre: an OPDS catalog, Audiobookshelf, Hardcover and Readwise, each read-only and off until you turn it on. One note per book, whichever providers hold it (Providers).
- Templates and packs. A
template.ymlsays which provider fields go into a note and what the library Base shows. Packs add fields and rules for a kind of library; the guide has an example to copy (Templates, Packs). - The Library panel. Four tabs, Book, Shelf, Library and Log, that follow the note you have open: the book with its status and actions, the shelf, what needs you, the library at a glance, providers, and what has run, with Undo. Obsidian's command palette keeps eight commands; the rest are buttons in the panel (The Library panel).
- Your library for agents, through Model Hub. Library Hub registers its tools with Model Hub. An agent you connect there can look a book up, list shelves, make and change shelves, and summarize a book. Reads run freely; every change asks first and can be undone.
For plugin developers · 8 changes
- API 0.8, published as
@insurgently/library-hub-apionce this release is out.getLibraryHub(app, '0.8.0')finds the plugin; the names from before the rename (getBooks,onBooksReady,BooksApi) still work, deprecated until 1.0 (API changelog). - Read books:
listBooks,findBook,findBooks,bookFile,pdfText, and in 0.8bookTextandbookChapters, a book's chapters with offsets, a place the reader opens and a hash of the text.status()says what Calibre and the providers can serve. Any call that names a book takes a book reference: a Calibre id, a note, a file, an ISBN, a uuid or a provider's id. - Shelves:
listShelves,shelfMembers,shelvesOf,shelfBaseQuery,createShelf,addToShelf,removeFromShelf, rename, merge and delete,shelfFromDescriptionwith its estimate, andundoRun.suggestShelvesrejects withneeds-topic-map. - Open a book:
openBookat a chapter, a passage, a page, a highlight or a corpus passage, and thelibrary-hub.open_booktool. - Summaries as jobs:
estimateSummary,summarizeBookandjobStatus. - Hear about changes:
onBooksChangedand the workspace eventlibrary-hub:books-changed, from syncs, Bring in new books and note deletes, renames and moves. A book note made by hand isn't announced. - Tools:
LIBRARY_HUB_TOOLSfrom@insurgently/library-hub-api/tools, each operation as a tool with a JSON-schema input, registered with Model Hub's tool registry. - The reference is generated into
docs/api/; start with Read books from your plugin.
Each released version is also a GitHub release with the same notes. What is planned next: the roadmap.