book-links/README.md
alexture ac9c35b06d Add Google Books support
Match books.google.com and google.com/books/edition pages, extract the ISBN
from page text with a title/author fallback, and bump version to 1.2 so
userscript auto-update picks it up.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X4uRGZZ4EpYHA4PNK3x5JY
2026-09-20 16:47:45 +02:00

36 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# book-links
A Violentmonkey userscript that shows where else you can get a book while you're browsing one — Anna's Archive and Waterstones — as a small floating widget in the corner of the page.
## Install
1. Install [Violentmonkey](https://violentmonkey.github.io/) (Chrome, Firefox, Edge).
2. Install the script from the raw file: [book-links.user.js](https://raw.githubusercontent.com/alexture/book-links/main/book-links.user.js) — Violentmonkey will prompt to install it.
The script auto-updates itself from this repo (via `@updateURL`), so you don't need to reinstall it when it changes.
## What it does
On a book page on Bookshop.org, Amazon (`.fr`/`.com`), Waterstones, or Google Books, it:
1. Extracts the book's ISBN (from the URL or page content) and, as a fallback, title/author.
2. Checks whether the book is available on:
- **Waterstones** — skipped if you're already on Waterstones
- **Anna's Archive**
3. Shows a small widget in the bottom-right corner with a ✓ link if found, a ✗ if confirmed not found, or a `?` link if it couldn't be verified (e.g. JS-rendered search results) — closeable with the × button.
## Supported sites
- `bookshop.org/p/books/*`
- `waterstones.com/book/*`
- `amazon.fr` and `amazon.com` product pages (`/dp/*`)
- Google Books (`books.google.com/books?id=…`, `google.com/books/edition/…`)
## Notes
- Uses `GM_xmlhttpRequest` to query Anna's Archive and Waterstones directly from the page, bypassing CORS.
- Availability checks are best-effort text matching against search results, not an official API — the `?` state means "couldn't confirm either way, here's the search link."
## License
MIT — see [LICENSE](LICENSE).