Heim >Backend-Entwicklung >Python-Tutorial >Exportieren von Mac OSX-Buch-Highlights in einen Obsidian Vault oder in Markdown-Dateien
Readwise ist ein leistungsstarkes Tool, dessen volles Potenzial jedoch für Benutzer freigesetzt wird, die auf mehreren Plattformen ausführlich Anmerkungen erstellen. Mein Hauptanwendungsfall war der Import von E-Book-Highlights und Notizen in Obsidian. Während ich auch Webseiten mit Anmerkungen verfüge, sendet der Obsidian Web Clipper in Verbindung mit dem Orion-Browser (der die Verwendung der Chrome-Erweiterung ermöglicht) diese direkt an Obsidian, sogar auf meinem iPad.
Dies veranlasste mich, nach einer abonnementfreien Methode zum Importieren von Highlights zu suchen.
Der halbautomatische Hervorhebungsabruf von Readwise ist auf Kindle-Bücher beschränkt. Ein einfacher In-App-Button leitet den Import ein. Für andere Quellen wie Apple Books ist ein manueller Eingriff erforderlich: Wählen Sie alle Highlights in der App aus und senden Sie sie per E-Mail an Readwise.
Das Readwise Obsidian-Plugin importiert diese dann als Notizen. Die Konfiguration ist unkompliziert und effektiv:
Die Importeinstellungen von Readwise gehen jedoch über das Plugin selbst hinaus. Die Exportkonfigurationsseite auf der Readwise-Website bietet zusätzliche Anpassungsmöglichkeiten:
Die Obsidian-Integrationskarte ermöglicht eine weitere Verfeinerung:
Die Standard-Hervorhebungsvorlage generiert Notizen wie diese:
Obwohl ich vorhatte, die Exportvorlage mithilfe von „Benutzerdefinierte Formatierung verwenden“ anzupassen, um YAML-Frontmatter hinzuzufügen, habe ich das nie getan. Die Flexibilität der Vorlage ist offensichtlich:
Angesichts meiner begrenzten Nutzung von E-Book-Highlights habe ich nach alternativen abonnementfreien Methoden gesucht.
Mein erster Ansatz bestand darin, ein Plugin zur Handhabung von Gmail-Importen zu erstellen, das meinen bestehenden Readwise-Workflow widerspiegelte. Obwohl es funktionsfähig war, erwies es sich als umständlich und unhandlich. Die Gmail-API erwies sich als eine Herausforderung und erforderte einen dedizierten Dienst für die Community-Veröffentlichung. Darüber hinaus stellen per E-Mail verschickte Highlights begrenzte Metadaten bereit.
Anschließend entdeckte ich, dass die macOS Books-App Hervorhebungs- und Notizdaten in einer zugänglichen, wenn auch undurchsichtigen SQLite-Datenbank speichert. Der Importmechanismus von Calibre zeigt dies. Da ich die meisten E-Books in Books importiere und viele von Kindle kaufe (wo es möglicherweise eine von Readwise genutzte API gibt – ein Thema für einen anderen Beitrag), könnten ein Skript und eine potenzielle Kindle-API mein Problem lösen.
Während der Titel Python erwähnt, ist keine Programmiererfahrung erforderlich. Das folgende Python-Skript funktioniert auch unabhängig, um Hervorhebungen im Markdown-Format zu exportieren.
ebooklib
-Bibliothek (für erweiterte Metadaten und Titelbilder).Um ebooklib
zu installieren (falls Sie mit der Installation der Python-Bibliothek nicht vertraut sind), verwenden Sie Ihr Terminal:
<code class="language-bash">pip install ebooklib</code>
Laden Sie dieses Python-Skript herunter als 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>
Legen Sie es im Ordner YourVault/.obsidian/scripts/python/
Ihres Obsidian-Tresors ab. (Der Ordner .obsidian
ist ausgeblendet; verwenden Sie die Befehlsschalttaste ., um ihn anzuzeigen. Erstellen Sie bei Bedarf die Ordner scripts
und python
.)
Aktivieren Sie das Python Scripter-Plugin. Suchen Sie in den Einstellungen nach osx_book_notes.py
. Für den direkten Import in das Stammverzeichnis Ihres Tresors sind keine Änderungen erforderlich. Um ein Verzeichnis anzugeben, verwenden Sie die Schaltfläche „Argument hinzufügen“ (Arg 3) und geben Sie den gewünschten Pfad ein.
Um Hervorhebungen zu importieren, drücken Sie Befehl P, suchen Sie nach „Python“ und wählen Sie „Python Scripter: Run osx_book_notes.py“.
Beispielnotiz:
Obwohl ich mich sowohl mit JavaScript als auch mit Python auskenne, habe ich dem Python-Skript Priorität eingeräumt, um einen Prototyp für die Datenbankinteraktion zu erstellen und die Funktionalität sicherzustellen, bevor ich mich mit der Komplexität der Obsidian-Plugin-API und dem UI-Design befasste. Das Python-Skript hat die Erwartungen übertroffen und mehr Daten extrahiert als Readwise.
Ein zukünftiges Obsidian-Plugin wird erweiterte Funktionen bieten:
Dieser Python-Ansatz bietet ein Minimum Viable Product (MVP). Bei der ersten Ausführung auf meinem Haupt-Apple-Konto wurden zahlreiche versehentliche Markierungen entdeckt, was zu einer Bereinigung in der Bücher-App führte, bevor das Skript erneut ausgeführt wurde. Ein spezielles Plugin würde dies beheben durch:
reviewed: false
, #book/notes
-Tag).Die aktuelle Lösung bietet eine funktionale Problemumgehung, während ein zukünftiges Plugin ein ausgefeilteres und verfeinertes Erlebnis bieten wird.
Das obige ist der detaillierte Inhalt vonExportieren von Mac OSX-Buch-Highlights in einen Obsidian Vault oder in Markdown-Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!