首頁 > 後端開發 > Python教學 > 將 Mac OSX 書籍亮點匯出到 Obsidian Vault 或 Markdown 文件

將 Mac OSX 書籍亮點匯出到 Obsidian Vault 或 Markdown 文件

Mary-Kate Olsen
發布: 2025-01-14 08:22:43
原創
435 人瀏覽過

Exporting Mac OSX Book Highlights into an Obsidian Vault or Markdown Files

Readwise 是一個強大的工具,但對於跨多個平台進行廣泛註釋的用戶來說,它的全部潛力都被釋放了。 我的主要用例是將電子書亮點和註釋導入到 Obsidian 中。雖然我也對網頁進行註釋,但 Obsidian Web Clipper 與 Orion 瀏覽器(允許使用 Chrome 擴充功能)直接將這些內容傳送到 Obsidian,甚至在我的 iPad 上也是如此。

這促使我尋找一種無需訂閱的導入精彩片段的方法。

將 Readwise 亮點導入 Obsidian

Readwise 的半自動反白檢索僅限於 Kindle 圖書;一個簡單的應用程式內按鈕即可啟動匯入。 對於 Apple Books 等其他來源,需要手動幹預:選擇應用程式內的所有亮點並將其透過電子郵件發送給 Readwise。

Readwise Obsidian 外掛程式然後將它們匯入為註解。 它的配置簡單有效:

Exporting Mac OSX Book Highlights into an Obsidian Vault or Markdown Files

但是,Readwise 的導入設定超出了插件本身的範圍。 Readwise 網站上的匯出設定頁面提供額外的自訂:

Exporting Mac OSX Book Highlights into an Obsidian Vault or Markdown Files

黑曜石整合卡允許進一步細化:

Exporting Mac OSX Book Highlights into an Obsidian Vault or Markdown Files

預設的反白範本會產生以下註解:

Exporting Mac OSX Book Highlights into an Obsidian Vault or Markdown Files

雖然我打算使用「使用自訂格式」自訂匯出範本來新增 YAML frontmatter,但我從未這樣做過。模板的靈活性是顯而易見的:

Exporting Mac OSX Book Highlights into an Obsidian Vault or Markdown Files

鑑於我對電子書精選的使用有限,我探索了替代的免訂閱方法。

用於匯入透過電子郵件傳送的電子書摘要的 Obsidian 外掛程式

我最初的方法是建立一個外掛程式來處理 Gmail 導入,反映我現有的 Readwise 工作流程。雖然它很實用,但事實證明它很笨重且難以操作。 Gmail API 被證明具有挑戰性,需要專門的社群發布服務。此外,透過電子郵件發送的亮點提供的元資料有限。

隨後,我發現 macOS Books 應用程式將突出顯示和註釋資料儲存在一個可存取(儘管晦澀難懂)的 SQLite 資料庫中。 Calibre 的導入機制證明了這一點。 由於我將大多數電子書匯入到Books 中,並從Kindle 購買了許多電子書(其中可能存在使用Readwise 的API - 這是另一篇文章的主題),因此腳本和潛在的Kindle API 可以解決我的問題。

使用 Python(或手動)將 Apple Books 亮點匯入 Obsidian

雖然標題提到了 Python,不需要編碼經驗。下面的 Python 腳本也可以獨立運行,以 Markdown 格式匯出亮點。

要求

  • Obsidian Python Scripter 外掛程式(社群外掛程式)。
  • 可選:Python ebooklib 函式庫(用於增強元資料和封面影像)。

要安裝ebooklib(如果不熟悉Python庫安裝),請使用您的終端:

<code class="language-bash">pip install ebooklib</code>
登入後複製

Python OSX 書籍突出顯示導出腳本

將此 Python 腳本下載為 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>
登入後複製

將其放入黑曜石保險庫的 YourVault/.obsidian/scripts/python/ 資料夾中。 (.obsidian 資料夾已隱藏;使用 Command Shift . 將其顯示。如果需要,請建立 scriptspython 資料夾。)

設定 Obsidian Python 腳本編寫器外掛程式

啟用 Python Scripter 外掛程式。在其設定中,找到osx_book_notes.py。 若要直接匯入保管庫的根目錄中,無需進行任何變更。若要指定目錄,請使用「新增參數」按鈕 (Arg 3) 並輸入所需的路徑。

Exporting Mac OSX Book Highlights into an Obsidian Vault or Markdown Files

運行導入

要匯入亮點,請按 Command P,搜尋“Python”,然後選擇“Python Scripter:執行 osx_book_notes.py”。

Exporting Mac OSX Book Highlights into an Obsidian Vault or Markdown Files

結果

註解範例:

Exporting Mac OSX Book Highlights into an Obsidian Vault or Markdown Files

未來:專用黑曜石插件

雖然精通 JavaScript 和 Python,但在解決 Obsidian 外掛程式 API 複雜性和 UI 設計之前,我優先考慮使用 Python 腳本來建立資料庫互動原型並確保功能。 Python 腳本超出了預期,提取的資料比 Readwise 更多。

未來的黑曜石插件將提供增強的功能:

  • 根據上次突出顯示/訪問日期選擇性導入。
  • 可自訂的 YAML frontmatter。
  • 筆記自訂的範本配置。
  • 開啟金庫時自動同步。

這個 Python 方法提供了最小可行產品 (MVP)。 在我的主 Apple 帳戶上的首次運行顯示了許多意外的亮點,提示在重新運行腳本之前在 Books 應用程式中進行清理。 一個專用的插件可以透過以下方式解決這個問題:

  • 利用元資料來辨識最近更新的書籍。
  • 為預設 YAML 條目提供選項(例如 reviewed: false#book/notes 標籤)。
  • 提供選擇性導入。

目前的解決方案提供了功能性的解決方法,而未來的插件將提供更精緻和精緻的體驗。

以上是將 Mac OSX 書籍亮點匯出到 Obsidian Vault 或 Markdown 文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板