Bookshelf Base

approved

by Sébastien Dubois

Display your notes as a visual bookshelf via a custom Bases view. - This plugin has not been manually reviewed by Obsidian staff.

5 stars839 downloadsUpdated 8d agoMIT

Bookshelf Base

A community plugin that adds a Bookshelf view type to Obsidian Bases, letting you display notes as a visual bookshelf — with real book covers on realistic shelves.

Perfect for tracking books, movies, games, courses, papers, or any collection of notes where a visual, cover-driven layout beats a table or card grid.

Bookshelf view showing book covers on a wooden shelf

Features

  • Bookshelf view for Bases — register a new view type alongside Table, Cards, and Gallery.
  • Cover-driven layout — pick any property containing an image URL or vault path. Supports external URLs, data: URIs, and vault-relative paths.
  • Automatic spines — notes without a cover get a colored spine with a vertical title, generated deterministically from the title so each book keeps its identity.
  • Shelf textures — choose from oak, walnut, cherry, mahogany, pine, ebony, brushed metal, dark metal, white marble, black marble, concrete, and slate.
  • Grouping — respects the Base's groupBy configuration. Each group becomes its own shelf with a header and count.
  • Property display — any property added to the Base's display order appears under each book. Rating properties are highlighted.
  • Wikilink rendering[[links]] inside displayed properties are clickable and routed through Obsidian's standard link handling.
  • Interactions — click a cover to open the note, Ctrl/Cmd+click to open in a new tab, right-click for a context menu (open, open in new tab, reveal in navigation).
  • Adjustable layout — tune card size, gap between books, and aspect ratio directly from the view's options.
  • Desktop & mobile — no desktop-only APIs.
  • What's new after updates. After a plugin update, a one-time dialog shows the release notes you just received (including skipped versions) with ways to support development. Never shown on fresh installs or regular restarts.

Requirements

  • Obsidian 1.4.0 or newer.
  • The Bases feature enabled (core plugin).

Installation

Community plugins (recommended)

  1. In Obsidian, go to Settings → Community plugins.
  2. Disable Restricted mode if it's enabled.
  3. Select Browse, search for Bookshelf, install it, then enable it.

You can also browse the catalog on the Obsidian Community website.

Manual installation

If the plugin isn't listed in the community catalog yet (or you want a specific version):

  1. Download main.js, manifest.json, and styles.css from the latest release.
  2. Copy them into <Vault>/.obsidian/plugins/bookshelf-base/.
  3. Reload Obsidian and enable Bookshelf in Settings → Community plugins.

BRAT (bleeding edge)

BRAT (Beta Reviewers Auto-update Tool) installs plugins straight from a GitHub repo and keeps them updated automatically. Use this if you want the latest commits — things might break.

  1. Install Obsidian42 - BRAT from Settings → Community plugins → Browse and enable it.
  2. Run BRAT: Add a beta plugin for testing from the command palette.
  3. Paste https://github.com/dsebastien/obsidian-bookshelf.
  4. Select the latest version and confirm.
  5. Enable Bookshelf in Settings → Community plugins.

Quick start

  1. Create or open a Base (.base file).
  2. Add a view and select Bookshelf as its type.
  3. In the view's options, set Image property to the frontmatter property holding your cover images (e.g. cover).
  4. Add any properties you want to show under each book to the view's display order.
  5. Optionally set groupBy on the Base to split books across multiple shelves.

A minimal note that works out of the box:

---
title: The Pragmatic Programmer
author: '[[David Thomas]]'
cover: https://example.com/pragmatic.jpg
rating: 5
---

Documentation

Full documentation lives in docs/ and is published at https://dsebastien.github.io/obsidian-bookshelf.

Development

See DEVELOPMENT.md and CONTRIBUTING.md.

Quick commands:

CommandDescription
bun installInstall dependencies
bun run devDevelopment build with watch mode
bun run buildProduction build
bun run tsc:watchType check in watch mode
bun run lintRun ESLint
bun run formatFormat with Prettier
bun testRun tests

License

MIT © Sébastien Dubois

My other Obsidian plugins

PluginWhat it does
Agentic Resource Discovery ServerLocal-first Agentic Resource Discovery publisher and registry that serves your AI skills and tools to agents over a local HTTP and MCP server
Book ExporterExport books (one manifest note + linked chapter notes) to EPUB and PDF via Pandoc
Dataview SerializerSerialize Dataview queries to Markdown, and keep the Markdown representation up to date
ExpanderReplace variables across your vault using HTML comment markers. Supports static values and dynamic functions
Ghost PublishPublish your vault notes to a Ghost blog with configurable presets for tags, newsletters, and frontmatter conventions
Graph Explorer Base ViewA custom Bases view that renders notes as an interactive force-directed graph with explored/unexplored tracking
Hidden Folders AccessIndex hidden root-level folders (e.g. .claude) so they appear in the file tree, metadata cache, and Bases
Journal BasesCustom Base views for journaling and periodic reviews
Kanban Action PlannerRender your notes as configurable Kanban boards and calendars inside Bases, with statuses, ordering, relationships, and scheduling
Life TrackerCapture and visualize the data that matters in your life
Note VillageA 2D pixel art village where your notes become villagers you can explore and chat with using AI
Obsidian Starter KitAdds strong typing support and powerful automation support for notes
Remarkable SynchronizerConnect to the reMarkable cloud, list, download, and sync notebook pages as images
ReplicateUse AI models with ease via the Replicate.com integration
REST and MCP serverExposes CLI commands as RESTful API endpoints and an MCP server for AI tool integration
Time MachineBrowse, compare, and restore previous versions of your notes using built-in file-recovery snapshots
TranscriberTranscribe images to markdown using Ollama vision models
TypefullyPublish social media posts with ease using the Typefully integration
Update TimeAutomatically update front matter to include creation and last update times

Everything I build is documented in my newsletter and on my YouTube channel.

News & support

To stay up to date about this plugin, Obsidian in general, Personal Knowledge Management and note-taking:

If this plugin is useful to you, here are the best ways to support my work ❤️:

Found a bug or have an idea? Open an issue.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.