Skip to main content
IINA Plugin BookmarksIINA Plugin Bookmarks

IINA Plugin Bookmarks

Bookmark management system for IINA media player

IINA Plugin Bookmarks

Latest Release

Version 1.0.0 - Production-ready bookmark management with advanced filtering, batch operations, and performance optimizations.

IINA Plugin Bookmarks is a bookmark management system for the IINA media player. It provides bookmark creation, organization with tags and filtering, data import/export, and cloud sync capabilities.

✨ Key Features

🚀 Quick Start

Installation & Setup

# Download the latest release
curl -L -o bookmarks.iinaplgz https://github.com/wyattowalsh/iina-plugin-bookmarks/releases/latest/download/iina-plugin-bookmarks.iinaplgz

# Install in IINA
open bookmarks.iinaplgz
# Extract to IINA plugins directory
mkdir -p ~/.config/iina/plugins/
unzip iina-plugin-bookmarks.iinaplgz -d ~/.config/iina/plugins/bookmarks/

The plugin automatically activates when IINA restarts. Look for the "Bookmarks" tab in the sidebar!

Configuration

Access plugin settings through multiple interfaces:

  • IINA Preferences → Plugins → Bookmarks
  • Plugin Menu → Manage Bookmarks
  • Sidebar → Settings button

Key settings to configure:

  • Auto-save behavior
  • Default sort preferences
  • Maximum bookmark limits
  • Timestamp display format

Start Bookmarking

Create your first bookmark with any of these methods:

Plugin Menu → "Add Bookmark at Current Time"

Click the "➕ Add Bookmark" button in the sidebar

Use the configurable keyboard shortcut (default: Cmd+B)

Explore Advanced Features

Once you have bookmarks, explore powerful features:

  • Search & Filter by title, tags, or date range
  • Export your collection to JSON or CSV
  • Batch Operations on multiple bookmarks
  • Tag Management for organization

📚 Documentation Architecture

🔧 Plugin Architecture Overview

// Core plugin structure
class BookmarkManager {
  // Bookmark operations
  async addBookmark(title?: string, timestamp?: number, description?: string, tags?: string[]): Promise<void>
  removeBookmark(id: string): void
  updateBookmark(id: string, data: BookmarkUpdatableFields): void
  jumpToBookmark(id: string): void

  // Query operations
  getBookmarksForFile(filepath?: string): BookmarkData[]
  getAllBookmarks(): BookmarkData[]
  getBookmarkCount(): number

  // Lifecycle
  destroy(): void
}

Architecture

The plugin uses a modular architecture:

  • BookmarkManager orchestrates all operations
  • BookmarkPersistence handles storage
  • BookmarkImportExport manages data transformation
  • CloudSyncHandler coordinates cloud operations

🆘 Support & Community

📊 Project Stats

1.0.0
Current Version
95%+
Test Coverage
TypeScript
Language
MIT
License

Quick Links


Documentation built with Fumadocs • Last updated: 2/17/2026Edit this page on GitHub