swekizer363 downloadsA beautiful, central library for the books, manga, magazines and documents in your vault - browse covers, tag and organize, and track reading progress.
A beautiful, central library for the books, manga, magazines and documents already living in your Obsidian vault - browse covers, organize with tags, and track reading progress. Inspired by Apple Books, Google Play Books and Kindle.
12 books · 3 reading · 2 completed), and a responsive cover grid that adapts to any Obsidian theme (light/dark, community themes)..epub/.mobi/.docx that Obsidian can't render natively), or remove from the library.Books can be any file type already in your vault: PDF, EPUB, Markdown notes, CBZ/CBR comics, Word docs, plain text, etc. The plugin catalogs them with rich metadata; opening a book asks Obsidian to open the file (using its built-in viewer when one exists, e.g. PDF), and you can always fall back to "Open in default app".
The compiled plugin is already built in this folder. Copy the whole Ebook Library Plugin folder into your vault's plugin directory, and make sure it's named ebook-library:
<your-vault>/.obsidian/plugins/ebook-library/
├── main.js
├── manifest.json
└── styles.css
Then, in Obsidian: Settings → Community plugins → Reload plugins, and enable "Ebook Library".
npm install
npm run build # one-off production build -> main.js
# or
npm run dev # watches src/ and rebuilds on save
This repo supports tag-based GitHub releases for Obsidian.
v prefix. Obsidian expects release tags like 1.0.2, not v1.0.2.npm version patch --tag-version-prefix=""
Use minor or major when needed.
git push origin main --follow-tags
main.jsmanifest.jsonmain.js, manifest.json, and styles.cssFor Obsidian Community Plugins, the release assets should always include exactly those plugin files.
⋮ button on hover) for quick actions.Book metadata (title, author, tags, description, progress, etc.) is stored in the plugin's own data.json (standard Obsidian plugin storage) - it does not modify your book files or write frontmatter into them. Cover images are referenced either by vault path or external URL; nothing is copied or duplicated.
src/
├── main.ts Plugin entry point, book CRUD, commands, ribbon icon
├── types.ts Book/settings types, category & status metadata
├── utils.ts Small helpers (ids, dates, placeholder colours, OS integration)
├── view/
│ └── LibraryView.ts The library grid view (header, toolbar, cards, context menu)
├── modals/
│ ├── BookModal.ts Add/Edit book form
│ ├── FileSuggestModal.ts Fuzzy file/image picker from the vault
│ ├── PromptModal.ts Small single-field prompt (used for cover URLs)
│ └── ConfirmModal.ts Generic confirm/cancel dialog
└── settings/
└── SettingsTab.ts Plugin settings tab
styles.css All plugin styling