Merge branch 'master' into tmdb-seasons

This commit is contained in:
ltctceplrm 2025-10-25 18:00:07 +02:00 committed by GitHub
commit bd2b84bbce
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,12 +1,16 @@
## Obsidian Media DB Plugin ## Obsidian Media DB Plugin
A plugin that can query multiple APIs for movies, series, anime, manga, books, comics, games, music and wiki articles, and import them into your vault. A plugin that can query multiple APIs for movies, series, anime, manga, books, comics, games, music, and wiki articles, and import them into your vault.
> [!WARNING]
> Please make sure you are looking at the README on the [release branch](https://github.com/mProjectsCode/obsidian-media-db-plugin/blob/release/README.md).
> The README on the master branch refers to the current in-development version of the plugin.
### Features ### Features
#### Search by Title #### Search by Title
Search a movie, series, anime, manga, book, comic, game, music release or wiki articles by its name across multiple APIs. Search for movies, series, anime, manga, books, comics, games, music releases, or wiki articles by their name across multiple APIs.
#### Search by ID #### Search by ID
@ -15,10 +19,10 @@ Allows you to search by an ID that varies from API to API. Concrete information
#### Templates #### Templates
The plugin allows you to set a template note that gets added to the end of any note created by this plugin. The plugin allows you to set a template note that gets added to the end of any note created by this plugin.
The plugin also offers simple template tags, for example `{{ title }}`, which will be replaced by the title of the media you are importing. The plugin also offers simple template tags, for example `{{ title }}`, which will be replaced by the title of the media being imported.
Note that template tags are surrounded with two curly braces and spaces. The spaces inside the curly braces are important! Note that template tags are surrounded by two curly braces and spaces. The spaces inside the curly braces are important!
For arrays there are two special ways of displaying them: For arrays, there are two special ways of displaying them:
- using `{{ LIST:variable_name }}` will result in: - using `{{ LIST:variable_name }}` will result in:
``` ```
@ -38,11 +42,11 @@ I also published my own templates [here](https://github.com/mProjectsCode/obsidi
#### Download poster images #### Download poster images
The plugin offers a setting to automatically download the poster images for a new media, ensuring offline access. The images are saved as `type_title (year)` e.g. `movie_The Perfect Storm (2000)` in a user chosen folder. The plugin offers a setting to automatically download the poster images for a new media, ensuring offline access. The images are saved as `type_title (year)` e.g. `movie_The Perfect Storm (2000)`, in a user-chosen folder.
#### Metadata field customization #### Metadata field customization
Allows you to rename the metadata fields this plugin generates through mappings. The mappings can be set in the plugins settings. Allows you to rename the metadata fields this plugin generates through mappings. The mappings can be set in the plugin's settings.
The three options for mapping are: The three options for mapping are:
- `default`: Keep the original name - `default`: Keep the original name
@ -51,18 +55,18 @@ The three options for mapping are:
#### Bulk Import #### Bulk Import
The plugin allows you to import your preexisting media collection and upgrade them to Media DB entries. The plugin allows you to import your preexisting media collection and upgrade it to Media DB entries.
##### Prerequisites ##### Prerequisites
The preexisting media notes must be inside a folder in your vault. The preexisting media notes must be inside a folder in your vault.
For the plugin to be able to query them they need one metadata field that is used as the title the piece of media is searched by. For the plugin to be able to query them, they need one metadata field that is used as the title the piece of media is searched by.
This can be achieved by for example using a `csv` import plugin to import an existing list from outside of obsidian. This can be achieved by, for example, using a `csv` import plugin to import an existing list from outside of Obsidian.
##### Importing ##### Importing
To start the import process, right-click on the folder and select the `Import folder as Media DB entries` option. To start the import process, right-click on the folder and select the `Import folder as Media DB entries` option.
Then specify the API to search, if the current note content and metadata should be appended to the Media DB entry and the name of the metadata field that contains the title of the piece of media. Then specify the API to search, if the current note content and metadata should be appended to the Media DB entry, and the name of the metadata field that contains the title of the piece of media.
Then the plugin will go through every file in the folder and prompt you to select from the search results. Then the plugin will go through every file in the folder and prompt you to select from the search results.
@ -72,7 +76,7 @@ After all files have been imported or the import was canceled, you will find the
### How to install ### How to install
**The plugin is now released, so it can be installed directly through obsidian's plugin installer.** **The plugin is now released, so it can be installed directly through Obsidian's plugin installer.**
Alternatively, you can manually download the zip archive from the latest release here on GitHub. Alternatively, you can manually download the zip archive from the latest release here on GitHub.
After downloading, extract the archive into the `.obsidian/plugins` folder in your vault. After downloading, extract the archive into the `.obsidian/plugins` folder in your vault.
@ -92,11 +96,11 @@ The folder structure should look like this:
### How to use ### How to use
Once you have installed this plugin, you will find a database icon in the left ribbon. Once you have installed this plugin, you will find a database icon in the left ribbon.
When using this or the `Add new Media DB entry` command, a popup will open. When using this or the `Add new Media DB entry` command, a pop-up will open.
Here you can enter the title of what you want to search for and then select in which APIs to search. Here, you can enter the title of what you want to search for and then select which APIs to search.
After clicking search, a new popup will open prompting you to select from the search results. After clicking search, a new pop-up will open, prompting you to select from the search results.
Now you select the result you want and the plugin will cast it's magic and create a new note in your vault, that contains the metadata of the selected search result. Now you select the result you want, and the plugin will cast its magic, creating a new note in your vault that contains the metadata of the selected search result.
### Currently supported media types ### Currently supported media types
@ -114,12 +118,12 @@ Now you select the result you want and the plugin will cast it's magic and creat
| Name | Description | Supported formats | Authentification | Rate limiting | SFW filter support | | Name | Description | Supported formats | Authentification | Rate limiting | SFW filter support |
| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ | | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ |
| [Jikan](https://jikan.moe/) | Jikan is an API that uses [My Anime List](https://myanimelist.net) and offers metadata for anime. | series, movies, specials, OVAs, manga, manwha, novels | No | 60 per minute and 3 per second | Yes | | [Jikan](https://jikan.moe/) | Jikan is an API that uses [My Anime List](https://myanimelist.net) and offers metadata for anime. | series, movies, specials, OVAs, manga, manwha, novels | No | 60 per minute and 3 per second | Yes |
| [OMDb](https://www.omdbapi.com/) | OMDb is an API that offers metadata for movie, series and games. | series, movies, games | Yes, you can get a free key here [here](https://www.omdbapi.com/apikey.aspx) | 1000 per day | No | | [OMDb](https://www.omdbapi.com/) | OMDb is an API that offers metadata for movies, series, and games. | series, movies, games | Yes, you can get a free key here [here](https://www.omdbapi.com/apikey.aspx) | 1000 per day | No |
| [TMDB](https://www.themoviedb.org/) | TMDB is a API that offers community editable metadata for movies and series. | series, movies | Yes, by making an account [here](https://www.themoviedb.org/signup) and getting your `API Key` (**not** `API Read Access Token`) [here](https://www.themoviedb.org/settings/api) | 50 per second | Yes | | [TMDB](https://www.themoviedb.org/) | TMDB is a API that offers community editable metadata for movies and series. | series, movies | Yes, by making an account [here](https://www.themoviedb.org/signup) and getting your `API Key` (**not** `API Read Access Token`) [here](https://www.themoviedb.org/settings/api) | 50 per second | Yes |
| [MusicBrainz](https://musicbrainz.org/) | MusicBrainz is an API that offers information about music releases. | music releases | No | 50 per second | No | | [MusicBrainz](https://musicbrainz.org/) | MusicBrainz is an API that offers information about music releases. | music releases | No | 50 per second | No |
| [Wikipedia](https://en.wikipedia.org/wiki/Main_Page) | The Wikipedia API allows access to all Wikipedia articles. | wiki articles | No | None | No | | [Wikipedia](https://en.wikipedia.org/wiki/Main_Page) | The Wikipedia API allows access to all Wikipedia articles. | wiki articles | No | None | No |
| [Steam](https://store.steampowered.com/) | The Steam API offers information on all steam games. | games | No | 10000 per day | No | | [Steam](https://store.steampowered.com/) | The Steam API offers information on all Steam games. | games | No | 10000 per day | No |
| [Open Library](https://openlibrary.org) | The OpenLibrary API offers metadata for books | books | No | Cover access is rate-limited when not using CoverID or OLID by max 100 requests/IP every 5 minutes. This plugin uses OLID so there shouldn't be a rate limit. | No | | [Open Library](https://openlibrary.org) | The OpenLibrary API offers metadata for books | books | No | Cover access is rate-limited when not using CoverID or OLID by max 100 requests/IP every 5 minutes. This plugin uses OLID, so there shouldn't be a rate limit. | No |
| [Moby Games](https://www.mobygames.com) | The Moby Games API offers metadata for games for all platforms | games | Yes, by making an account [here](https://www.mobygames.com/user/register/). NOTE: As of September 2024 the API key is no longer free so consider using Giant Bomb or steam instead | API requests are limited to 360 per hour (one every ten seconds). In addition, requests should be made no more frequently than one per second. | No | | [Moby Games](https://www.mobygames.com) | The Moby Games API offers metadata for games for all platforms | games | Yes, by making an account [here](https://www.mobygames.com/user/register/). NOTE: As of September 2024 the API key is no longer free so consider using Giant Bomb or steam instead | API requests are limited to 360 per hour (one every ten seconds). In addition, requests should be made no more frequently than one per second. | No |
| [Giant Bomb](https://www.giantbomb.com) | The Giant Bomb API offers metadata for games for all platforms | games | Yes, by making an account [here](https://www.giantbomb.com/login-signup/) | API requests are limited to 200 requests per resource, per hour. In addition, they implement velocity detection to prevent malicious use. If too many requests are made per second, you may receive temporary blocks to resources. | No | | [Giant Bomb](https://www.giantbomb.com) | The Giant Bomb API offers metadata for games for all platforms | games | Yes, by making an account [here](https://www.giantbomb.com/login-signup/) | API requests are limited to 200 requests per resource, per hour. In addition, they implement velocity detection to prevent malicious use. If too many requests are made per second, you may receive temporary blocks to resources. | No |
| Comic Vine | The Comic Vine API offers metadata for comic books | comicbooks | Yes, by making an account [here](https://comicvine.gamespot.com/login-signup/) and going to the [api section](https://comicvine.gamespot.com/api/) of the site | 200 requests per resource, per hour. There is also a velocity detection to prevent malicious use. If too many requests are made per second, you may receive temporary blocks to resources. | No | | Comic Vine | The Comic Vine API offers metadata for comic books | comicbooks | Yes, by making an account [here](https://comicvine.gamespot.com/login-signup/) and going to the [api section](https://comicvine.gamespot.com/api/) of the site | 200 requests per resource, per hour. There is also a velocity detection to prevent malicious use. If too many requests are made per second, you may receive temporary blocks to resources. | No |
@ -127,8 +131,8 @@ Now you select the result you want and the plugin will cast it's magic and creat
#### Notes #### Notes
- [Jikan](https://jikan.moe/) - [Jikan](https://jikan.moe/)
- sometimes the api is very slow, this is normal - sometimes the api is very slow; this is normal
- you need to use the title the anime has on [My Anime List](https://myanimelist.net), which is in most cases the japanese title - you need to use the title the anime has on [My Anime List](https://myanimelist.net), which is in most cases the Japanese title
- e.g. instead of "Demon Slayer" you have to search "Kimetsu no Yaiba" - e.g. instead of "Demon Slayer" you have to search "Kimetsu no Yaiba"
#### Search by ID #### Search by ID
@ -146,7 +150,7 @@ Now you select the result you want and the plugin will cast it's magic and creat
- you can find this ID in the URL - you can find this ID in the URL
- e.g. for "Rogue One" the URL looks like this `https://www.imdb.com/title/tt3748528/` so the ID is `tt3748528` - e.g. for "Rogue One" the URL looks like this `https://www.imdb.com/title/tt3748528/` so the ID is `tt3748528`
- [MusicBrainz](https://musicbrainz.org/) - [MusicBrainz](https://musicbrainz.org/)
- the id of a release is not easily accessible, you are better off just searching by title - the id of a release is not easily accessible; you are better off just searching by title
- the search is generally for albums but you can have a more granular search like so: - the search is generally for albums but you can have a more granular search like so:
- search for albums by a specific `artist:"Lady Gaga" AND primarytype:"album"` - search for albums by a specific `artist:"Lady Gaga" AND primarytype:"album"`
- search for a specific album by a specific artist `artist:"Lady Gaga" AND primarytype:"album" AND releasegroup:"The Fame"` - search for a specific album by a specific artist `artist:"Lady Gaga" AND primarytype:"album" AND releasegroup:"The Fame"`
@ -173,7 +177,7 @@ Now you select the result you want and the plugin will cast it's magic and creat
- e.g. for "Boule & Bill" the URL looks like this `https://comicvine.gamespot.com/boule-bill/4050-70187/` so the ID is `4050-70187` - e.g. for "Boule & Bill" the URL looks like this `https://comicvine.gamespot.com/boule-bill/4050-70187/` so the ID is `4050-70187`
- Please note that only volumes can be added, not separate issues. - Please note that only volumes can be added, not separate issues.
### Problems, unexpected behavior or improvement suggestions? ### Problems, unexpected behavior, or improvement suggestions?
You are more than welcome to open an issue on [GitHub](https://github.com/mProjectsCode/obsidian-media-db-plugin/issues). You are more than welcome to open an issue on [GitHub](https://github.com/mProjectsCode/obsidian-media-db-plugin/issues).