Maison >développement back-end >Tutoriel Python >Exportation des faits saillants de livres Mac OSX dans un coffre-fort Obsidian ou des fichiers Markdown
Readwise est un outil puissant, mais son plein potentiel est libéré pour les utilisateurs qui annotent de manière approfondie sur plusieurs plates-formes. Mon principal cas d'utilisation consistait à importer des faits saillants et des notes d'ebooks dans Obsidian. Alors que j'annote également des pages Web, Obsidian Web Clipper, couplé au navigateur Orion (permettant l'utilisation de l'extension Chrome), les envoie directement à Obsidian, même sur mon iPad.
Cela m'a amené à rechercher une méthode sans abonnement pour importer les faits saillants.
La récupération semi-automatique des surlignages de Readwise est limitée aux livres Kindle ; un simple bouton dans l'application lance l'importation. Pour d'autres sources comme Apple Books, une intervention manuelle est nécessaire : sélectionnez tous les points forts de l'application et envoyez-les par e-mail à Readwise.
Le plugin Readwise Obsidian les importe ensuite sous forme de notes. Sa configuration est simple et efficace :
Cependant, les paramètres d'importation de Readwise s'étendent au-delà du plugin lui-même. La page de configuration de l'exportation sur le site Web Readwise offre une personnalisation supplémentaire :
La carte d'intégration Obsidian permet un affinement supplémentaire :
Le modèle de surbrillance par défaut génère des notes comme celle-ci :
Bien que j'avais l'intention de personnaliser le modèle d'exportation à l'aide de « Utiliser un formatage personnalisé » pour ajouter une introduction YAML, je ne l'ai jamais fait. La flexibilité du modèle est évidente :
Compte tenu de mon utilisation limitée des faits saillants des livres électroniques, j'ai exploré des méthodes alternatives sans abonnement.
Mon approche initiale consistait à créer un plugin pour gérer les importations Gmail, reflétant mon flux de travail Readwise existant. Bien que fonctionnel, il s’est avéré encombrant et peu maniable. L'API Gmail s'est avérée difficile, nécessitant un service dédié pour la version communautaire. De plus, les faits saillants envoyés par courrier électronique fournissent des métadonnées limitées.
Par la suite, j'ai découvert que les magasins d'applications macOS Books mettent en évidence et notent les données dans une base de données SQLite accessible, bien qu'obscure. Le mécanisme d'importation de Calibre le démontre. Étant donné que j'importe la plupart des ebooks dans Books et que j'en achète beaucoup sur Kindle (où une API utilisée par Readwise pourrait exister - un sujet pour un autre article), un script et une API Kindle potentielle pourraient résoudre mon problème.
Bien que le titre mentionne Python, aucune expérience en codage n'est requise. Le script Python ci-dessous fonctionne également indépendamment pour exporter les faits saillants au format Markdown.
ebooklib
(pour des métadonnées améliorées et des images de couverture).Pour installer ebooklib
(si vous n'êtes pas familier avec l'installation de la bibliothèque Python), utilisez votre terminal :
<code class="language-bash">pip install ebooklib</code>
Téléchargez ce script Python sous osx_book_notes.py
:
<code class="language-python">import os import glob import sqlite3 import logging import sys from typing import List, Tuple, NamedTuple # ... (rest of the Python script remains the same) ...</code>
Placez-le dans le dossier YourVault/.obsidian/scripts/python/
de votre coffre-fort Obsidian. (Le dossier .obsidian
est masqué ; utilisez Command Shift . pour le révéler. Créez les dossiers scripts
et python
si nécessaire.)
Activez le plugin Python Scripter. Dans ses paramètres, localisez osx_book_notes.py
. Pour une importation directe à la racine de votre coffre-fort, aucune modification n'est nécessaire. Pour spécifier un répertoire, utilisez le bouton "Ajouter un argument" (Arg 3) et saisissez le chemin souhaité.
Pour importer les surlignages, appuyez sur Commande P, recherchez "Python" et sélectionnez "Python Scripter : Run osx_book_notes.py".
Exemple de remarque :
Tout en maîtrisant JavaScript et Python, j'ai donné la priorité au script Python pour prototyper l'interaction de la base de données et garantir la fonctionnalité avant d'aborder les complexités de l'API du plugin Obsidian et la conception de l'interface utilisateur. Le script Python a dépassé les attentes, extrayant plus de données que Readwise.
Un futur plugin Obsidian proposera des fonctionnalités améliorées :
Cette approche Python fournit un produit minimum viable (MVP). L'exécution initiale sur mon compte Apple principal a révélé de nombreux points forts accidentels, provoquant un nettoyage dans l'application Livres avant de réexécuter le script. Un plugin dédié résoudrait ce problème en :
reviewed: false
, balise #book/notes
).La solution actuelle offre une solution de contournement fonctionnelle, tandis qu'un futur plugin offrira une expérience plus raffinée et raffinée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!