StoryGraph Enhancer

Zero-click autofill from Douban/Libby to StoryGraph: metadata, rating, cover download, and review sync.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(У мене вже є менеджер скриптів, дайте мені встановити його!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

Автор
locoda
Щоденних встановлень
0
Всього встановлень
5
Рейтинги
0 0 0
Версія
0.1.4
Створено
06.04.2026
Оновлено
16.05.2026
Size
49,7 кБ
Ліцензія
MIT
Відноситься до

📚 StoryGraph Enhancer

Version License: MIT Platform

StoryGraph Enhancer is a Tampermonkey userscript designed to move book data from Douban / Libby / Amazon to The StoryGraph with minimal manual effort. It provides a zero-click experience for autofilling metadata, ratings, cover downloads, and review synchronization.

✨ Features

🚀 One-Click Porting

  • Source Integration: Adds a Port to StoryGraph button directly to Douban book pages and Libby title details.
  • Automatic Search: Automatically opens a search tab on The StoryGraph using the book's ISBN, with a title or original title fallback.
  • Data Synchronization: Securely transfers parsed information from source sites to StoryGraph using browser storage to eliminate manual copy-pasting.

🧠 Supported Data Fields (Autofill)

When you land on a StoryGraph "add metadata" or "write review" page, the script automatically populates the following compatible fields:

  • Title & Author
  • Language & Publisher
  • ISBN & Page Count
  • Format & Publication Date
  • Rating & Description
  • Personal Review Text

⚙️ Enhancements & Customization

  • Missing Cover Shortcuts: Detects books with placeholder covers on StoryGraph and injects add metadata and search douban links.
  • Direct Review Editing: Automatically transforms standard review links into direct edit review links to save navigation steps.
  • Smart Mapping: Automatically translates source-specific formats (e.g., mapping "精装" to "hardcover") to match StoryGraph’s classification system.
  • Cover Sync: Includes an optional feature to download high-quality cover images from Douban or Libby for manual upload to StoryGraph.
  • In-Script Settings: A dedicated modal accessible via the Tampermonkey menu to toggle specific automation features and shortcuts.

🛠️ Supported Sites

🚀 Installation

End Users (Recommended)

  1. Ensure you have Tampermonkey installed.
  2. Install the script directly from GreasyFork.
  3. Visit a Douban, Amazon or Libby book page and click Port to StoryGraph.

💻 Local Development

Setup

npm install

Build Commands

  • Standard Build: npm run build

Development Server

Run npm run serve to start a local server. This builds the project continuously and generates dist/dev.user.js, a bootstrap script for quick testing in Tampermonkey.

📂 Project Structure

src/
├── index.ts             # Entry point
├── constants.ts         # Shared constants
├── modules/
│   ├── douban/          # Parser and UI injectors for Douban
│   ├── libby/           # Parser and UI injectors for Libby
│   ├── amazon/          # Parser and UI injectors for Amazon
│   ├── storygraph/      # Autofill logic and shortcuts for SG
│   └── settings.ts      # Settings modal logic
└── utils/
    └── dom.ts           # DOM manipulation helpers

📜 License

This project is licensed under the MIT License. Created by @locoda.

Known Problems

  • Libby ISBN availability: Libby pages commonly do not expose ISBN in the rendered metadata, so Libby transfers intentionally leave ISBN blank.
  • Dynamic DOM changes: Both StoryGraph and Libby are dynamic apps, and occasional UI updates may temporarily break selectors until the userscript is updated.

📝 Wishlist & Upcoming Features

  • [ ] Kobo Support: Add a parser and injector for Kobo Store and Kobo Library pages.
  • [ ] Internationalization (i18n): Add multi-language support for the settings menu and UI notifications.
  • [ ] Improved Edition Matching: Add logic to highlight the best-matching edition on StoryGraph search results based on publisher and page count.