首页 > 后端开发 > Python教程 > 将 Mac OSX 图书亮点导出到 Obsidian Vault 或 Markdown 文件

将 Mac OSX 图书亮点导出到 Obsidian Vault 或 Markdown 文件

Mary-Kate Olsen
发布: 2025-01-14 08:22:43
原创
436 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板