BookNamer

Renommer des fichiers de livres (epub ou pdf) depuis obsidian ou depuis une application dédiée.
📸 Aperçu
| Desktop | Plugin Obsidian |
|---|---|
![]() |
![]() |
📖 À propos
Deux outils complémentaires pour le renommage, l’enrichissement et la normalisation des fichiers de livres et d’articles (.epub, .pdf) :
bib-renamer-desktop: Application Tauri v2 / Rust native pour Desktop (Linux, macOS, Windows). Haute performance, accès direct au système de fichiers local, traitement par batch avec interface Svelte 5.- Plugin Obsidian
booknamer(BookNamer) : TypeScript, API Obsidian v1.5+, orienté voûte locale, compatible Android, iOS et Desktop. Sources dansobsidian-bib-renamer/.
⬇️ Plugin Obsidian (BookNamer)
ID catalogue : booknamer
Installation (catalogue communautaire)
- Ouvrir Paramètres → Plugins communautaires → Parcourir
- Rechercher BookNamer et installer
Si le plugin n’apparaît pas encore dans le catalogue, utilisez BRAT en fallback (voir ci-dessous).
Installation beta (BRAT)
- Installer BRAT : Obsidian — BRAT
- Ajouter ce dépôt avec « Add Beta plugin » :
https://github.com/Morglaf/BookNamer
Usage réseau (disclosure)
Le plugin enrichit les métadonnées via Internet lorsque vous lancez un renommage. Aucune télémétrie. Services contactés :
| Service | Pourquoi |
|---|---|
| Open Library | Recherche / fiche ISBN et titre+auteur |
| BNF (SRU) | Catalogue francophone par ISBN / texte |
| Amazon.fr / Amazon.com | Complément de métadonnées par ISBN (pages produit HTML) |
| Crossref | Résolution DOI et recherche bibliographique |
| Google Books | Recherche de volumes par ISBN (clé API optionnelle) |
Les fichiers traités restent dans votre vault Obsidian ; le plugin n’accède pas au système de fichiers hors vault.
Build local du plugin
cd obsidian-bib-renamer
npm install
npm run build
Le dossier plugin dans le vault doit s’appeler booknamer (égal à l’id du manifest).
🏗 Architecture & stratégie métadonnées
L’extraction ne repose pas uniquement sur le nom de fichier brut. Elle suit la cascade suivante :
- Extraction de métadonnées internes :
- EPUB : analyse du
content.opf(balises Dublin Core :<dc:title>,<dc:creator>,<dc:identifier>,<dc:date>,<dc:publisher>). - PDF : analyse du dictionnaire
/Info(/Title,/Author,/CreationDate, etc.) et extraction textuelle.
- EPUB : analyse du
- Parsing heuristique du nom brut :
- Nettoyage des hashes MD5/SHA (ex: LibGen / Anna’s Archive).
- Détection des identifiants (
ISBN-13,ISBN-10,DOI, année).
- Recherche API externe (Enrichissement) :
- Si ISBN présent :
- OpenLibrary (
search.json+api/books) (gratuit sans clé) - BNF (Bibliothèque Nationale de France, catalogue officiel francophone SRU) (gratuit sans clé)
- Amazon (Recherche directe par ISBN-10/13 Amazon.fr / Amazon.com)
- Google Books (recherche de volumes avec clé optionnelle)
- OpenLibrary (
- Si DOI présent : Crossref API (gratuit sans clé).
- Si identifiant absent : Recherche textuelle automatique sur OpenLibrary/Crossref via
Titre + Auteur.
- Si ISBN présent :
- Validation utilisateur (Human-in-the-loop) :
- Modal interactive présentant le nom source, les métadonnées identifiées, le résultat proposé et les alternatives d’API.
- Édition directe des champs si nécessaire.
1. bib-renamer-desktop (Tauri v2 + Svelte 5)
Structure
src-tauri/: Cœur Rust haute performanceparsers/epub.rs: Parser EPUB viaepubcrateparsers/pdf.rs: Parser PDF vialopdfheuristics.rs: Regex compilées une seule fois (once_cell)api.rs: Client HTTP asyncreqwest(OpenLibrary, Crossref, Google Books)template.rs: Moteur de templates et sanitisation multi-OScommands.rs: Commandes Tauri exposées au frontend
src/: Interface utilisateur Svelte 5lib/Queue.svelte: File d’attente interactive avec statuts visuelslib/ConfirmModal.svelte: Modal de validation et d’édition en directlib/TemplateEditor.svelte: Gestionnaire de modèles sauvegardablesroutes/+page.svelte: Orchestrateur principal & Drag & Drop
Développement & lancement
cd bib-renamer-desktop
npm install
npm run tauri dev
Installer Windows (Desktop)
Téléchargez la dernière release GitHub : fichier BookNamer_X.Y.Z_x64-setup.exe (NSIS).
Build local de l’installeur
cd bib-renamer-desktop
npm install
npm run tauri build
L’installeur est généré dans bib-renamer-desktop/src-tauri/target/release/bundle/nsis/.
2. Plugin Obsidian booknamer (sources dans obsidian-bib-renamer/)
Structure
src/main.ts: Point d’entrée du plugin, commandes et menus contextuelssrc/parsers/epub.ts: Parser EPUB léger avecjszipetDOMParsersrc/parsers/pdf.ts: Parser PDF binaire compatible mobilesrc/api/: Requêtes via ObsidianrequestUrl(CORS-friendly sur Android/iOS)src/modal.ts: Modal native Obsidian avec prévisualisation et création de notessrc/settings.ts: Onglet de configuration des templates et des sources API
Fonctionnalités clés
- Menu contextuel sur les fichiers
.epubet.pdfdans l’explorateur de voûte. - Commande globale :
Renommer et enrichir le fichier sélectionné. - Renommage sûr via
app.vault.rename(). - Option « Créer la note de lecture associée » : génère une fiche de lecture Markdown avec frontmatter YAML complet et lien vers le fichier.
🧩 Variables de template disponibles
{auteur}: Premier auteur formaté (Nom, Prénom){titre}: Titre du livre ou de l’article{date}: Année de publication{editeur}: Maison d’édition{isbn}: Numéro ISBN{doi}: Identifiant DOI{extension}: Extension du fichier (epub,pdf)
🌐 Liens
- 🌐 l’Atelier
- 📦 Dépôt GitHub
- 🔌 Plugin id :
booknamer
📸 Vorschau
| Desktop | Obsidian-Plugin |
|---|---|
![]() |
![]() |
📖 Über
Zwei ergänzende Werkzeuge zum Umbenennen, Anreichern und Normalisieren von Buch- und Artikeldateien (.epub, .pdf):
bib-renamer-desktop: Native Tauri-v2-/Rust-Desktop-App (Linux, macOS, Windows). Hohe Leistung, direkter lokaler Dateizugriff, Batch-Verarbeitung mit Svelte-5-Oberfläche.obsidian-bib-renamer: Obsidian-Plugin (TypeScript, Obsidian-API v1.5+) für den lokalen Vault, kompatibel mit Android, iOS und Desktop.
⬇️ Obsidian-Plugin (BRAT)
- 🔌 BRAT installieren: Obsidian — BRAT
- ➕ Dieses Repository mit « Add Beta plugin » hinzufügen:
https://github.com/Atelier-Recherche/BookNamer
💡 Unsere Plugins können noch auf Freigabe im Obsidian-Katalog warten; BRAT ermöglicht Tests sofort. Siehe auch 🌐 l’Atelier.
Lokaler Plugin-Build
cd obsidian-bib-renamer
npm install
npm run build
🏗 Architektur & Metadatenstrategie
Die Extraktion stützt sich nicht nur auf den Rohdateinamen. Sie folgt dieser Kaskade:
- Interne Metadatenextraktion:
- EPUB: Analyse von
content.opf(Dublin-Core-Tags:<dc:title>,<dc:creator>,<dc:identifier>,<dc:date>,<dc:publisher>). - PDF: Analyse des
/Info-Wörterbuchs (/Title,/Author,/CreationDateusw.) und Textextraktion.
- EPUB: Analyse von
- Heuristische Analyse des Rohnamens:
- Bereinigung von MD5-/SHA-Hashes (z. B. LibGen / Anna’s Archive).
- Erkennung von Identifikatoren (
ISBN-13,ISBN-10,DOI, Jahr).
- Externe API-Suche (Anreicherung):
- Bei vorhandener ISBN:
- OpenLibrary (
search.json+api/books) (kostenlos ohne Schlüssel) - BNF (Bibliothèque Nationale de France, offizieller frankophoner SRU-Katalog) (kostenlos ohne Schlüssel)
- Amazon (direkte ISBN-10/13-Suche auf Amazon.fr / Amazon.com)
- Google Books (Volumensuche mit optionalem Schlüssel)
- OpenLibrary (
- Bei vorhandener DOI: Crossref API (kostenlos ohne Schlüssel).
- Ohne Identifikator: automatische Textsuche auf OpenLibrary/Crossref via
Titel + Autor.
- Bei vorhandener ISBN:
- Benutzerbestätigung (Human-in-the-loop):
- Interaktives Modal mit Quellname, erkannten Metadaten, Vorschlag und API-Alternativen.
- Direkte Feldbearbeitung bei Bedarf.
1. bib-renamer-desktop (Tauri v2 + Svelte 5)
Struktur
src-tauri/: leistungsfähiger Rust-Kernparsers/epub.rs: EPUB-Parser viaepub-Crateparsers/pdf.rs: PDF-Parser vialopdfheuristics.rs: einmal kompilierte Regex (once_cell)api.rs: asynchroner HTTP-Clientreqwest(OpenLibrary, Crossref, Google Books)template.rs: Template-Engine und Multi-OS-Bereinigungcommands.rs: an das Frontend exponierte Tauri-Befehle
src/: Svelte-5-Oberflächelib/Queue.svelte: interaktive Warteschlange mit Statusanzeigelib/ConfirmModal.svelte: Live-Validierungs- und Bearbeitungsmodallib/TemplateEditor.svelte: speicherbarer Vorlagenmanagerroutes/+page.svelte: Hauptorchestrator & Drag & Drop
Entwicklung & Start
cd bib-renamer-desktop
npm install
npm run tauri dev
Windows-Installer (Desktop)
Laden Sie die neueste GitHub-Release herunter: BookNamer_X.Y.Z_x64-setup.exe (NSIS).
Lokaler Installer-Build
cd bib-renamer-desktop
npm install
npm run tauri build
Der Installer wird in bib-renamer-desktop/src-tauri/target/release/bundle/nsis/ erzeugt.
2. obsidian-bib-renamer (Obsidian-Plugin)
Struktur
src/main.ts: Plugin-Einstieg, Befehle und Kontextmenüssrc/parsers/epub.ts: leichter EPUB-Parser mitjszipundDOMParsersrc/parsers/pdf.ts: binärer PDF-Parser, mobilkompatibelsrc/api/: Anfragen via ObsidianrequestUrl(CORS-freundlich auf Android/iOS)src/modal.ts: natives Obsidian-Modal mit Vorschau und Notizerstellungsrc/settings.ts: Einstellungsreiter für Templates und API-Quellen
Kernfunktionen
- Kontextmenü für
.epub– und.pdf-Dateien im Vault-Explorer. - Globaler Befehl:
Renommer et enrichir le fichier sélectionné. - Sicheres Umbenennen via
app.vault.rename(). - Option „Zugehörige Lese-Notiz erstellen“: erzeugt ein Markdown-Leseblatt mit vollständigem YAML-Frontmatter und Link zur Datei.
🧩 Verfügbare Template-Variablen
{auteur}: erster Autor formatiert (Nachname, Vorname){titre}: Titel des Buchs oder Artikels{date}: Erscheinungsjahr{editeur}: Verlag{isbn}: ISBN-Nummer{doi}: DOI-Kennung{extension}: Dateierweiterung (epub,pdf)
🌐 Links
📸 Preview
| Desktop | Obsidian plugin |
|---|---|
![]() |
![]() |
📖 About
Two complementary tools for renaming, enriching and normalizing book and article files (.epub, .pdf):
bib-renamer-desktop: Native Tauri v2 / Rust desktop app (Linux, macOS, Windows). High performance, direct local filesystem access, batch processing with a Svelte 5 UI.obsidian-bib-renamer: Obsidian plugin (TypeScript, Obsidian API v1.5+) aimed at the local vault, compatible with Android, iOS and Desktop.
⬇️ Obsidian plugin (BRAT)
- 🔌 Install BRAT: Obsidian — BRAT
- ➕ Add this repository with « Add Beta plugin »:
https://github.com/Atelier-Recherche/BookNamer
💡 Our plugins may be pending approval on the Obsidian catalog; BRAT lets you try them now. See also 🌐 l’Atelier.
Local plugin build
cd obsidian-bib-renamer
npm install
npm run build
🏗 Architecture & metadata strategy
Extraction does not rely on the raw filename alone. It follows this cascade:
- Internal metadata extraction:
- EPUB: parse
content.opf(Dublin Core tags:<dc:title>,<dc:creator>,<dc:identifier>,<dc:date>,<dc:publisher>). - PDF: parse the
/Infodictionary (/Title,/Author,/CreationDate, etc.) and text extraction.
- EPUB: parse
- Heuristic parsing of the raw name:
- Clean MD5/SHA hashes (e.g. LibGen / Anna’s Archive).
- Detect identifiers (
ISBN-13,ISBN-10,DOI, year).
- External API lookup (enrichment):
- If ISBN is present:
- OpenLibrary (
search.json+api/books) (free, no key) - BNF (Bibliothèque Nationale de France, official francophone SRU catalog) (free, no key)
- Amazon (direct ISBN-10/13 search on Amazon.fr / Amazon.com)
- Google Books (volume search with optional key)
- OpenLibrary (
- If DOI is present: Crossref API (free, no key).
- If no identifier: automatic text search on OpenLibrary/Crossref via
Title + Author.
- If ISBN is present:
- User validation (human-in-the-loop):
- Interactive modal showing the source name, identified metadata, proposed result and API alternatives.
- Direct field editing when needed.
1. bib-renamer-desktop (Tauri v2 + Svelte 5)
Structure
src-tauri/: high-performance Rust coreparsers/epub.rs: EPUB parser viaepubcrateparsers/pdf.rs: PDF parser vialopdfheuristics.rs: regex compiled once (once_cell)api.rs: async HTTP clientreqwest(OpenLibrary, Crossref, Google Books)template.rs: template engine and multi-OS sanitizationcommands.rs: Tauri commands exposed to the frontend
src/: Svelte 5 UIlib/Queue.svelte: interactive queue with visual statuseslib/ConfirmModal.svelte: live validation and editing modallib/TemplateEditor.svelte: savable template managerroutes/+page.svelte: main orchestrator & drag and drop
Development & launch
cd bib-renamer-desktop
npm install
npm run tauri dev
Windows installer (Desktop)
Download the latest GitHub release: BookNamer_X.Y.Z_x64-setup.exe (NSIS).
Local installer build
cd bib-renamer-desktop
npm install
npm run tauri build
The installer is generated in bib-renamer-desktop/src-tauri/target/release/bundle/nsis/.
2. obsidian-bib-renamer (Obsidian plugin)
Structure
src/main.ts: plugin entry point, commands and context menussrc/parsers/epub.ts: lightweight EPUB parser withjszipandDOMParsersrc/parsers/pdf.ts: binary PDF parser, mobile-compatiblesrc/api/: requests via ObsidianrequestUrl(CORS-friendly on Android/iOS)src/modal.ts: native Obsidian modal with preview and note creationsrc/settings.ts: settings tab for templates and API sources
Key features
- Context menu on
.epuband.pdffiles in the vault explorer. - Global command:
Renommer et enrichir le fichier sélectionné. - Safe rename via
app.vault.rename(). - “Create associated reading note” option: generates a Markdown reading sheet with full YAML frontmatter and a link to the file.
🧩 Available template variables
{auteur}: first author formatted (Last, First){titre}: book or article title{date}: publication year{editeur}: publisher{isbn}: ISBN number{doi}: DOI identifier{extension}: file extension (epub,pdf)
🌐 Links
📸 Vista previa
| Escritorio | Plugin Obsidian |
|---|---|
![]() |
![]() |
📖 Acerca de
Dos herramientas complementarias para renombrar, enriquecer y normalizar archivos de libros y artículos (.epub, .pdf):
bib-renamer-desktop: Aplicación de escritorio nativa Tauri v2 / Rust (Linux, macOS, Windows). Alto rendimiento, acceso directo al sistema de archivos local, procesamiento por lotes con interfaz Svelte 5.obsidian-bib-renamer: Plugin Obsidian (TypeScript, API Obsidian v1.5+) orientado a la bóveda local, compatible con Android, iOS y escritorio.
⬇️ Plugin Obsidian (BRAT)
- 🔌 Instalar BRAT: Obsidian — BRAT
- ➕ Añadir este repositorio con la opción « Add Beta plugin »:
https://github.com/Atelier-Recherche/BookNamer
💡 Nuestros plugins pueden estar pendientes de validación en el catálogo Obsidian; BRAT permite probarlos ya. Ver también 🌐 l’Atelier.
Build local del plugin
cd obsidian-bib-renamer
npm install
npm run build
🏗 Arquitectura y estrategia de metadatos
La extracción no se basa solo en el nombre de archivo bruto. Sigue esta cascada:
- Extracción de metadatos internos:
- EPUB: análisis de
content.opf(etiquetas Dublin Core:<dc:title>,<dc:creator>,<dc:identifier>,<dc:date>,<dc:publisher>). - PDF: análisis del diccionario
/Info(/Title,/Author,/CreationDate, etc.) y extracción textual.
- EPUB: análisis de
- Parsing heurístico del nombre bruto:
- Limpieza de hashes MD5/SHA (p. ej. LibGen / Anna’s Archive).
- Detección de identificadores (
ISBN-13,ISBN-10,DOI, año).
- Búsqueda API externa (enriquecimiento):
- Si hay ISBN:
- OpenLibrary (
search.json+api/books) (gratis sin clave) - BNF (Bibliothèque Nationale de France, catálogo oficial francófono SRU) (gratis sin clave)
- Amazon (búsqueda directa por ISBN-10/13 en Amazon.fr / Amazon.com)
- Google Books (búsqueda de volúmenes con clave opcional)
- OpenLibrary (
- Si hay DOI: Crossref API (gratis sin clave).
- Sin identificador: búsqueda textual automática en OpenLibrary/Crossref vía
Título + Autor.
- Si hay ISBN:
- Validación del usuario (human-in-the-loop):
- Modal interactivo con el nombre de origen, metadatos identificados, resultado propuesto y alternativas de API.
- Edición directa de campos si es necesario.
1. bib-renamer-desktop (Tauri v2 + Svelte 5)
Estructura
src-tauri/: núcleo Rust de alto rendimientoparsers/epub.rs: parser EPUB vía crateepubparsers/pdf.rs: parser PDF víalopdfheuristics.rs: regex compiladas una sola vez (once_cell)api.rs: cliente HTTP asyncreqwest(OpenLibrary, Crossref, Google Books)template.rs: motor de plantillas y sanitización multi-OScommands.rs: comandos Tauri expuestos al frontend
src/: interfaz Svelte 5lib/Queue.svelte: cola interactiva con estados visualeslib/ConfirmModal.svelte: modal de validación y edición en vivolib/TemplateEditor.svelte: gestor de plantillas guardablesroutes/+page.svelte: orquestador principal y drag & drop
Desarrollo y lanzamiento
cd bib-renamer-desktop
npm install
npm run tauri dev
Instalador Windows (escritorio)
Descargue la última release de GitHub: BookNamer_X.Y.Z_x64-setup.exe (NSIS).
Build local del instalador
cd bib-renamer-desktop
npm install
npm run tauri build
El instalador se genera en bib-renamer-desktop/src-tauri/target/release/bundle/nsis/.
2. obsidian-bib-renamer (Plugin Obsidian)
Estructura
src/main.ts: punto de entrada del plugin, comandos y menús contextualessrc/parsers/epub.ts: parser EPUB ligero conjszipyDOMParsersrc/parsers/pdf.ts: parser PDF binario compatible con móvilsrc/api/: peticiones vía ObsidianrequestUrl(CORS-friendly en Android/iOS)src/modal.ts: modal nativo Obsidian con vista previa y creación de notassrc/settings.ts: pestaña de configuración de plantillas y fuentes API
Funciones clave
- Menú contextual sobre archivos
.epuby.pdfen el explorador de la bóveda. - Comando global:
Renommer et enrichir le fichier sélectionné. - Renombrado seguro vía
app.vault.rename(). - Opción «Crear la nota de lectura asociada»: genera una ficha de lectura Markdown con frontmatter YAML completo y enlace al archivo.
🧩 Variables de plantilla disponibles
{auteur}: primer autor formateado (Apellido, Nombre){titre}: título del libro o artículo{date}: año de publicación{editeur}: editorial{isbn}: número ISBN{doi}: identificador DOI{extension}: extensión del archivo (epub,pdf)


