mirror of
https://github.com/vitaliiromanenko/popcorn-md.git
synced 2026-07-22 07:45:25 +00:00
chore: release v0.2.1
Release v0.2.1 with typo fixes, keyboard navigation improvements, and documentation updates. - Fix multiple typos: AuthResponce → AuthResponse, GenreResponce → GenreResponse, FindResponce → FindResponse, defaultFoder → defaultFolder, TMDbGanreService → TMDbGenreService - Rename "card" CSS class to "movie-item" for clarity - Add arrow key navigation (Up/Down) for search results with focus indication - Add Enter key selection for focused items and Escape key to close modal - Improve error handling in TMDb API service for auth, rate limiting, and general errors - Add template validation with clearer error messages - Update LICENSE copyright to Vitalii Romanenko - Update README with corrected plugin name and URLs - Update manifest.json, package.json, and versions.json for v0.2.1 - Remove stale comment in searchModal.ts - Fix release notes date in .github/workflows/release.yml Breaking change: defaultFoder setting key renamed to defaultFolder. Existing configurations will not migrate automatically.
This commit is contained in:
parent
3960eaa901
commit
08223fa045
8 changed files with 71 additions and 45 deletions
27
.github/workflows/release.yml
vendored
27
.github/workflows/release.yml
vendored
|
|
@ -54,3 +54,30 @@ jobs:
|
|||
release/main.js
|
||||
release/manifest.json
|
||||
release/styles.css
|
||||
body: |
|
||||
## Release Notes for Popcorn MD v0.2.1
|
||||
|
||||
### Features
|
||||
- **Keyboard navigation for search results**: Added arrow key navigation (Up/Down) to browse movie cards in the search modal, with visual focus indication and smooth scrolling
|
||||
- **Enter key selection for focused item**: Pressing Enter now selects the currently focused movie card from the search results
|
||||
- **Escape key to close**: Pressing Escape closes the search modal
|
||||
|
||||
### Improvements
|
||||
- **Improved error handling in TMDb API service**: Added specific error messages for authentication failures (401), rate limiting (429), and general API errors. API key validation is now performed before making requests
|
||||
- **Better template validation**: Added explicit checks for missing template files and non-file paths with clearer error messages
|
||||
- **Renamed "card" CSS class to "movie-item"**: Improved semantic naming for better code clarity and maintainability
|
||||
- **Fixed typo "foded" to "focused"**: Corrected CSS class name spelling in focus-related functionality
|
||||
- **Styling enhancements**: Added hover effects, focus outlines, and improved visual feedback for movie cards with better layout and overflow handling
|
||||
|
||||
### Bug Fixes
|
||||
- **Multiple typo corrections**:
|
||||
- Fixed `AuthResponce` to `AuthResponse` (file rename and import updates)
|
||||
- Fixed `GenreResponce` to `GenreResponse`
|
||||
- Fixed `FindResponce` to `FindResponse`
|
||||
- Fixed `defaultFoder` to `defaultFolder` across settings interface, defaults, and all references
|
||||
- Fixed `TMDbGanreService` to `TMDbGenreService`
|
||||
- **Fixed comment typo**: Corrected "focused" in SearchView comments
|
||||
|
||||
### Breaking Changes
|
||||
- **Settings key renamed**: The `defaultFoder` setting key has been renamed to `defaultFolder`. Users will need to re-configure their default folder setting, or existing configurations will not migrate automatically
|
||||
|
||||
|
|
|
|||
2
LICENSE
2
LICENSE
|
|
@ -1,6 +1,6 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2026 4rlz
|
||||
Copyright (c) 2026 Vitalii Romanenko
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
|||
72
README.md
72
README.md
|
|
@ -1,10 +1,10 @@
|
|||
# Popcorn-MD
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
**PopcornMD** is an Obsidian plugin that lets you search for movies and TV shows via [TMDb](https://www.themoviedb.org/) and automatically create beautiful, structured notes from a template — all without leaving Obsidian.
|
||||
**Popcorn-MD** is an Obsidian plugin that lets you search for movies and TV shows via [TMDb](https://www.themoviedb.org/) and automatically create beautiful, structured notes from a template — all without leaving Obsidian.
|
||||
|
||||
## Features
|
||||
|
||||
|
|
@ -19,19 +19,19 @@
|
|||
|
||||
1. Open **Settings → Community plugins**.
|
||||
2. Disable **Safe mode**.
|
||||
3. Click **Browse** and search for **"PopcornMD"**.
|
||||
3. Click **Browse** and search for **"Popcorn-MD"**.
|
||||
4. Install and enable the plugin.
|
||||
|
||||
### Manual (developer preview)
|
||||
|
||||
1. Download the latest release from [Releases](https://github.com/your-username/popcornmd/releases).
|
||||
2. Extract `main.js`, `manifest.json`, and `styles.css` into `<vault>/.obsidian/plugins/popcornmd/`.
|
||||
1. Download the latest release from [Releases](https://github.com/VitaliiRomanenko/popcorn-md/releases).
|
||||
2. Extract `main.js`, `manifest.json`, and `styles.css` into `<vault>/.obsidian/plugins/popcorn-md/`.
|
||||
3. Reload Obsidian and enable the plugin in **Settings → Community plugins**.
|
||||
|
||||
## Getting Started
|
||||
|
||||
1. **Get a TMDb API key** — Sign up at [themoviedb.org](https://www.themoviedb.org/signup) and request an API key.
|
||||
2. **Open Plugin Settings** — Navigate to **Settings → Popcorn MD**.
|
||||
2. **Open Plugin Settings** — Navigate to **Settings → Popcorn-MD**.
|
||||
3. **Select template** — Select file from list
|
||||
4. **Enter your API key** — Paste your TMDb API key and click **Save**.
|
||||
5. **Open the movie search** — Use the command palette (`Cmd+P` / `Ctrl+P`) and run **"Popcorn MD: Create new movie note"**, or click the 🍿 ribbon icon.
|
||||
|
|
@ -51,8 +51,8 @@
|
|||
| **TMDb API Key** | Your TMDb API key (required) |
|
||||
| **Default language** | Language for movie data |
|
||||
| **Template path** | Path to your custom template file (relative to vault root) |
|
||||
| **Default folder** *(added in v0.2)* | Where new movie notes are saved |
|
||||
| **Include poster** *(added in v0.2)* | Toggle to embed movie poster image in notes |
|
||||
| **Default folder** | Where new movie notes are saved |
|
||||
| **Include poster** *(added in v0.3)* | Toggle to embed movie poster image in notes |
|
||||
|
||||
## Template System
|
||||
|
||||
|
|
@ -98,32 +98,32 @@ All variables are placeholders wrapped in double braces `{{variable}}` and are u
|
|||
|
||||
| Field | Example Value | Description |
|
||||
|-------|---------------|-------------|
|
||||
| **[tags](ca://s?q=tags_md_field)** | `Movie` | Category of the file, always `Movie`. |
|
||||
| **[adult](ca://s?q=adult_md_field)** | `false` | Whether the movie is adult content (`true/false`). |
|
||||
| **[belongs_to_collection](ca://s?q=collection_md_field)** | `The Dark Knight Trilogy` | Collection/series name if applicable. |
|
||||
| **[budget](ca://s?q=budget_md_field)** | `185000000` | Production budget in USD. |
|
||||
| **[genres](ca://s?q=genres_md_field)** | `Action, Drama` | List of genres. |
|
||||
| **[homepage](ca://s?q=homepage_md_field)** | `https://www.dc.com/batman` | Official movie website. |
|
||||
| **[TMDbID](ca://s?q=TMDbID_md_field)** | `155` | Unique TMDb identifier. |
|
||||
| **[IMDbID](ca://s?q=IMDbID_md_field)** | `tt0468569` | Unique IMDb identifier. |
|
||||
| **[origin_country](ca://s?q=origin_country_md_field)** | `US` | Country of origin. |
|
||||
| **[original_language](ca://s?q=original_language_md_field)** | `en` | Original language. |
|
||||
| **[original_title](ca://s?q=original_title_md_field)** | `The Dark Knight` | Original movie title. |
|
||||
| **[overview](ca://s?q=overview_md_field)** | `Batman faces Joker...` | Short synopsis/description. |
|
||||
| **[popularity](ca://s?q=popularity_md_field)** | `92.5` | Popularity score from TMDb. |
|
||||
| **[poster_path](ca://s?q=poster_path_md_field)** | `/qJ2tW6WMUDux911r6m7haRef0WH.jpg` | Path to poster image. |
|
||||
| **[production_companies](ca://s?q=production_companies_md_field)** | `Warner Bros.` | Studios involved in production. |
|
||||
| **[production_countries](ca://s?q=production_countries_md_field)** | `United States` | Countries involved in production. |
|
||||
| **[release_date](ca://s?q=release_date_md_field)** | `2008-07-18` | Release date. |
|
||||
| **[revenue](ca://s?q=revenue_md_field)** | `1004558444` | Box office revenue in USD. |
|
||||
| **[runtime](ca://s?q=runtime_md_field)** | `152` | Duration in minutes. |
|
||||
| **[softcore](ca://s?q=softcore_md_field)** | `false` | Flag for soft erotic content. |
|
||||
| **[spoken_languages](ca://s?q=spoken_languages_md_field)** | `English, Mandarin` | Spoken languages in the movie. |
|
||||
| **[status](ca://s?q=status_md_field)** | `Released` | Release status. |
|
||||
| **[tagline](ca://s?q=tagline_md_field)** | `Why So Serious?` | Promotional tagline. |
|
||||
| **[title](ca://s?q=title_md_field)** | `The Dark Knight` | Localized movie title. |
|
||||
| **[vote_average](ca://s?q=vote_average_md_field)** | `8.5` | Average user rating. |
|
||||
| **[vote_count](ca://s?q=vote_count_md_field)** | `29000` | Number of votes. |
|
||||
| **tags** | `Movie` | Category of the file, always `Movie`. |
|
||||
| **adult** | `false` | Whether the movie is adult content (`true/false`). |
|
||||
| **belongs_to_collection** | `The Dark Knight Trilogy` | Collection/series name if applicable. |
|
||||
| **budget** | `185000000` | Production budget in USD. |
|
||||
| **genres** | `Action, Drama` | List of genres. |
|
||||
| **homepage** | `https://www.dc.com/batman` | Official movie website. |
|
||||
| **TMDbID** | `155` | Unique TMDb identifier. |
|
||||
| **IMDbID** | `tt0468569` | Unique IMDb identifier. |
|
||||
| **origin_country** | `US` | Country of origin. |
|
||||
| **original_language** | `en` | Original language. |
|
||||
| **original_title** | `The Dark Knight` | Original movie title. |
|
||||
| **overview** | `Batman faces Joker...` | Short synopsis/description. |
|
||||
| **popularity** | `92.5` | Popularity score from TMDb. |
|
||||
| **poster_path** | `/qJ2tW6WMUDux911r6m7haRef0WH.jpg` | Path to poster image. |
|
||||
| **production_companies** | `Warner Bros.` | Studios involved in production. |
|
||||
| **production_countries** | `United States` | Countries involved in production. |
|
||||
| **release_date)** | `2008-07-18` | Release date. |
|
||||
| **revenue** | `1004558444` | Box office revenue in USD. |
|
||||
| **runtime** | `152` | Duration in minutes. |
|
||||
| **softcore** | `false` | Flag for soft erotic content. |
|
||||
| **spoken_languages** | `English, Mandarin` | Spoken languages in the movie. |
|
||||
| **status** | `Released` | Release status. |
|
||||
| **tagline** | `Why So Serious?` | Promotional tagline. |
|
||||
| **title** | `The Dark Knight` | Localized movie title. |
|
||||
| **vote_average** | `8.5` | Average user rating. |
|
||||
| **vote_count** | `29000` | Number of votes. |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -145,7 +145,7 @@ All variables are placeholders wrapped in double braces `{{variable}}` and are u
|
|||
|
||||
```bash
|
||||
git clone https://github.com/VitaliiRomanenko/popcorn-md
|
||||
cd popcornmd
|
||||
cd popcorn-md
|
||||
npm install
|
||||
```
|
||||
|
||||
|
|
@ -176,4 +176,4 @@ This plugin is not affiliated with, endorsed by, or sponsored by TMDb or Obsidia
|
|||
|
||||
---
|
||||
|
||||
*PopcornMD — Because your movie collection deserves better than plain text.*
|
||||
*Popcorn-MD — Because your movie collection deserves better than plain text.*
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "popcorn-md",
|
||||
"name": "Popcorn MD",
|
||||
"version": "0.2.0",
|
||||
"version": "0.2.1",
|
||||
"minAppVersion": "1.5.0",
|
||||
"description": "Generate and manage movie-related notes using IMDb identifiers or movie titles.",
|
||||
"author": "4arlz",
|
||||
|
|
|
|||
4
package-lock.json
generated
4
package-lock.json
generated
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "obsidian-sample-plugin",
|
||||
"version": "1.0.0",
|
||||
"name": "popcorn-md",
|
||||
"version": "0.2.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "obsidian-sample-plugin",
|
||||
"version": "1.0.0",
|
||||
"description": "This is a sample plugin for Obsidian (https://obsidian.md)",
|
||||
"name": "popcorn-md",
|
||||
"version": "0.2.1",
|
||||
"description": "Generate and manage movie-related notes using IMDb identifiers or movie titles.",
|
||||
"main": "main.js",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
|
|
|||
|
|
@ -28,7 +28,6 @@ export class SearchModal extends Modal {
|
|||
const movieList = container.createDiv("movie-list");
|
||||
this.view = new SearchView(movieList);
|
||||
this.input.focus();
|
||||
// Key handler for navigation (listen on the whole container)
|
||||
container.addEventListener("keydown", (event: KeyboardEvent) => {
|
||||
switch (event.key){
|
||||
case "ArrowDown":
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
{
|
||||
"1.0.0": "1.0.0"
|
||||
"0.2.1": "0.2.1"
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue