MZ Media Fetcher
unlistedby MZMZ4th
Create media and event notes from Bangumi, MobyGames, Bilibili Show, and Showstart.
English | 简体中文
MZ Media Fetcher
Create media and event notes from Bangumi, MobyGames, Bilibili Show, Showstart, and Damai.
MZ Media Fetcher is a desktop-only Obsidian plugin that fetches public metadata from supported sources and creates template-driven notes inside your vault.
Highlights
- Bangumi supports title search, subject links, numeric IDs, and per-type template overrides for game, anime, book, and live action subjects.
- Bangumi book subjects merge
作者,原作, and作画into theauthorsfield. - MobyGames supports direct game detail links.
- Bilibili Show supports direct event detail links and venue metadata.
- Showstart supports direct event detail links and venue metadata.
- Damai supports direct event detail links and venue metadata.
- Each source keeps its own parser and adapter, while note creation follows one shared pipeline.
- The settings tab is split by source, and only Bangumi exposes search-limit controls.
- Built-in templates ship with the plugin, and you can copy them into your own template files.
- Poster filenames and note filenames normalize whitespace into hyphenated names.
Commands
The plugin currently registers these Obsidian commands. The command names below are the actual in-app labels:
从 Bangumi 新建作品卡片: create a new media note from Bangumi.重新补全当前笔记的 Bangumi 信息: refresh the current Bangumi note's frontmatter.从 MobyGames 新建作品卡片: create a new media note from MobyGames.从 bilibili会员购新建作品卡片: create a new event note from Bilibili Show.从秀动新建作品卡片: create a new event note from Showstart.从大麦网新建作品卡片: create a new event note from Damai.
Install
Community release assets
- Download
main.js,manifest.json,styles.css, andversions.jsonfrom the latest GitHub release. - Put them in
YOUR_VAULT/.obsidian/plugins/mz-media-fetcher. - Enable
MZ Media FetcherinSettings -> Community plugins.
From source
npm install
npm run build
npm test
npm run install:dev
npm run package
The repository root is the plugin root, so the build output lands directly in main.js.
npm run install:dev installs the plugin into ~/Obsidian/CodexBase-OS by default and enables it in that vault's community-plugins.json.
npm run package prepares the publishable release assets in release/<version>/.
Defaults
- The plugin stores its runtime config in
data.jsonunder the plugin folder. - Built-in templates live under
.obsidian/plugins/mz-media-fetcher/templates/. - The default local poster folder follows
attachmentFolderPathfrom.obsidian/app.json. - Existing custom
templatePathvalues are preserved during upgrades. - On first launch, the plugin imports
media-fetcher-rules.jsonfrom eithermz-media-fetcherorMZ-media-fetcher, writes the migrated config todata.json, and deletes the old rules file. - If the vault still has the old plugin id directory
MZ-media-fetcher, the migration rewrites only the old built-in template paths and keeps custom template paths intact.
Usage
Bangumi
- Search by title.
- Paste a subject URL such as
https://bgm.tv/subject/328609. - Enter a numeric subject ID such as
328609. - Game / anime / book / live action subjects can point to separate template paths; blank overrides fall back to the general Bangumi template.
- Book subjects merge
作者,原作, and作画into the exportedauthorsfield. - Bangumi cards can refresh the current note's frontmatter from the latest subject metadata without rewriting the body.
MobyGames
- Paste a concrete game URL such as
https://www.mobygames.com/game/217980/balatro/. - Search pages and list pages are not supported.
Bilibili Show
- Paste a concrete event URL such as
https://show.bilibili.com/platform/detail.html?id=107593. - Release dates are normalized to
YYYY-MM-DD. - Venue metadata is exposed as
venue_name,venue_address, andvenue_text.
Showstart
- Paste a concrete event URL such as
https://wap.showstart.com/pages/activity/detail/detail?activityId=208747. - Release dates are normalized to
YYYY-MM-DD. - Venue metadata is exposed as
venue_name,venue_address, andvenue_text.
Damai
- Paste a concrete event URL such as
https://detail.damai.cn/item.htm?id=1012125810980. - Mobile item links with
itemIdare also supported. - Release dates are normalized to
YYYY-MM-DD. - Venue metadata is exposed as
venue_name,venue_address, andvenue_text.
Templates
Built-in templates now include a preview section that renders every currently supported variable. Common variables include:
{{title}}{{title_original}}{{aliases}}{{media_type}}{{release_date}}{{release_year}}{{cover_remote}}{{platforms}}{{poster_path}}{{poster}}{{network_poster}}{{categories}}{{source}}{{rating}}{{status}}{{finished_at}}{{rewatch_count}}{{summary}}{{platforms_text}}{{cover_markdown}}{{yaml.title}}{{yaml.aliases}}{{yaml.media_type}}{{yaml.release_date}}{{yaml.network_poster}}{{bangumi_id}}{{bangumi_url}}{{authors}}{{publishers}}{{serial_magazines}}{{mobygames_id}}{{venue_name}}{{venue_address}}{{venue_text}}{{mobygames_url}}{{bilibili_show_id}}{{bilibili_show_url}}{{showstart_activity_id}}{{showstart_url}}{{damai_item_id}}{{damai_url}}{{show_time}}{{city_name}}
Poster variables now have two different roles:
{{poster_path}}keeps the raw poster value: a remote URL for network posters, or the vault-relative file path for local posters.{{poster}}is the Obsidian-normalized link text for templates and frontmatter. Local posters prefer the filename and fall back to the shortest unique path only when needed.{{cover_markdown}}is the ready-to-use image embed generated from{{poster}}.
Network & Privacy
- Bangumi requests use the public Bangumi API.
- MobyGames requests fetch the public game detail page HTML.
- Bilibili Show requests use the public project detail API behind the event page.
- Showstart requests first fetch an anonymous guest token, then request the event detail API used by the public page.
- Damai requests fetch the public event detail page HTML and parse the hidden page JSON.
- The plugin does not send telemetry.
- The plugin only writes files inside the current vault.
- The plugin does not read files outside the current vault.
Development
src/core/: shared note building, file handling, path normalization, and template renderingsrc/config/: defaults, config migration, and config storagesrc/sources/: Bangumi, MobyGames, Bilibili Show, Showstart, and Damai adapterssrc/ui/: modals, settings tab, and path suggestionstemplates/: bundled default templatestests/: parser, template, config, and migration tests
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.