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
This commit is contained in:
alexture 2026-09-20 16:47:45 +02:00
parent 9117841bb1
commit ac9c35b06d
2 changed files with 22 additions and 2 deletions

View file

@ -1,7 +1,7 @@
// ==UserScript==
// @name Book Links
// @namespace http://tampermonkey.net/
// @version 1.1
// @version 1.2
// @description Show Anna's Archive and Waterstones links when browsing books
// @license MIT
// @match https://bookshop.org/p/books/*
@ -10,6 +10,8 @@
// @match https://www.amazon.fr/*/dp/*
// @match https://www.amazon.com/dp/*
// @match https://www.amazon.com/*/dp/*
// @match https://books.google.com/books?*
// @match https://www.google.com/books/edition/*
// @connect annas-archive.gl
// @connect www.waterstones.com
// @connect www.chez-mon-libraire.fr
@ -62,6 +64,17 @@
return null;
}
if (host.includes('google.com')) {
const text = document.body?.innerText || '';
const m13 = text.match(/\b(97[89][-\d ]{9,14}\d)\b/);
if (m13) {
const cleaned = m13[1].replace(/[-\s]/g, '');
if (/^97[89]\d{10}$/.test(cleaned)) return cleaned;
}
const m10 = text.match(/ISBN[\s:]+(?:[\d-]+,\s*)?(\d{9}[\dX])\b/);
return m10 ? isbn10to13(m10[1]) : null;
}
if (host.includes('bookshop.org')) {
const el = document.querySelector('[itemprop="isbn"]');
if (el && /^97[89]\d{10}$/.test(el.textContent.trim())) return el.textContent.trim();
@ -106,6 +119,12 @@
return { title, author };
}
if (host.includes('google.com')) {
const title = document.querySelector('h1')?.textContent?.trim();
const author = document.querySelector('a[href*="inauthor"]')?.textContent?.trim();
return { title, author };
}
if (host.includes('waterstones.com')) {
const title = (
document.querySelector('[itemprop="name"]') ||