oisngodr25 downloadsManage media in Obsidian Bases, edit ratings and statuses, and add entries from TMDB or Open Library.
Media Quick Edit is an Obsidian plugin that turns Obsidian Bases into an editable media library. It provides both a table-based Media Quick Edit view and a cover-based Bookshelf view, with ratings, two-state reading/watching status, auto-saved comments, status history, TMDB movie/TV search, and Open Library book search.
main.js, manifest.json, and styles.css from a GitHub Release.<vault>/.obsidian/plugins/media-quick-edit/.After a GitHub repository is published, add its repository URL in BRAT and install the latest release. BRAT installation requires the repository releases to include main.js, manifest.json, and styles.css.
Open Settings → Community plugins → Media Quick Edit and configure:
data.json.To obtain a TMDB v3 API key, create a TMDB account, open the API section of the account settings, complete TMDB's API application, and copy the API Key (v3 auth) value into the plugin setting. Then use Test connection before searching. The key is sent only to TMDB when making TMDB requests and is not required for Open Library searches.
The folder and Base settings include Vault-local pickers. No personal Vault paths are compiled into the plugin.
Media DB/movies and Media DB/books..base file as Default Base in the plugin settings.The plugin does not guess which Base represents your library. This explicit selection prevents it from opening or editing an unrelated Base. The custom view still respects the filters of the Base in which it is used.
Click the + button in the Title column header.
Open Library results show title, author, and first publication year. When available, the cover is written to image; otherwise the field is left empty and the Bookshelf view generates a designed fallback using the title, author, and a stable color palette.
image, cover, poster, thumbnail, coverUrl, and cover_url. Remote URLs, Markdown image syntax, Obsidian wiki links, and Vault-local images are supported..obsidian/plugins/media-quick-edit/cover-cache/. Cached covers are preferred on later loads and remain available offline.2, 4, 6, 8, 10.finished_date.planned and completed.last_updated after 1.2 seconds of inactivity. The date is written at most once per entry per local calendar day.Actions that overwrite finished_date are appended to status_history:
status_history:
- 2026-07-25 | 想看
- 2026-07-26 | 评分:8分
The last_updated property uses the local date in YYYY-MM-DD format and is added automatically to newly created entries. Existing entries receive it the first time their detail page is edited.
The plugin migrates media notes in the configured folders to schema 2:
completed remains completed.in-progress, on-hold, dropped, missing, and unknown statuses become planned.status_history is initialized as an Obsidian-compatible list of text values.mediaQuickEditSchema: 2 prevents repeated migration.Back up the Vault before enabling a new plugin version that performs a schema migration.
data.json.data.json is excluded by .gitignore and must never be committed.cover-cache does not delete media entries; it is rebuilt as covers are viewed online again.Movie and TV metadata is provided by The Movie Database (TMDB). This product uses the TMDB API but is not endorsed or certified by TMDB. Users are responsible for complying with the current TMDB API terms and attribution requirements.
Book metadata and covers are provided by Open Library, a project of the Internet Archive. Open Library content and API availability are governed by their respective terms and policies.
Media Quick Edit does not own or redistribute the metadata returned by these services.
Choose a valid .base file in the plugin settings. If no Base is configured, the plugin uses the currently active Base when possible.
Make sure the Base filters include the configured movie/TV and book folders. Reopen the Base after changing its filters.
Obsidian Bases performs an initial Vault-wide scan before delivering filtered results to custom views. A Vault containing many generated files or dependency folders can therefore show zero entries for a while on first open. Wait for the scan to finish; if appropriate, add generated or archive folders to Obsidian's excluded-files settings so Bases does not repeatedly index them.
Use the Test connection button in settings. Check the v3 API key and network connection.
Open Library requires direct network access. Retry later or check whether openlibrary.org is reachable from the current network.
After replacing main.js, fully restart Obsidian and reopen the Base. A rapid disable/enable cycle can leave an already-open Base using its previous custom-view instance.
If the Vault uses Lazy Loader or a similar delayed-loading plugin, make sure Media Quick Edit is not configured as Disabled there. Otherwise it can override Obsidian's enabled state on the next startup.
npm install
npm run typecheck
npm test
npm run build
Run the complete local verification pipeline with npm run check. The automated tests cover empty-Vault startup, safe bookshelf initial-render timing, portable English and Chinese paths, legacy-status migration, missing TMDB keys, Open Library timeouts, and history updates.
Development watch mode:
npm run dev
Prepare local release files:
npm run release:prepare
This creates release/<version>/main.js, manifest.json, and styles.css without uploading anything.
The current 0.6.2 release includes the Bookshelf view, editable comments, finished-date sorting, latest-updated metadata fixes, and Community Directory review fixes. Publish the prepared files as GitHub Release assets with a tag matching manifest.json before submitting or publishing the plugin in the Obsidian Community Directory.
FlyingNeko