Readwise 是一个强大的工具,但对于跨多个平台进行广泛注释的用户来说,它的全部潜力都被释放了。 我的主要用例是将电子书亮点和注释导入到 Obsidian 中。虽然我也对网页进行注释,但 Obsidian Web Clipper 与 Orion 浏览器(允许使用 Chrome 扩展)直接将这些内容发送到 Obsidian,甚至在我的 iPad 上也是如此。
这促使我寻找一种无需订阅的导入精彩片段的方法。
Readwise 的半自动突出显示检索仅限于 Kindle 图书;一个简单的应用程序内按钮即可启动导入。 对于 Apple Books 等其他来源,需要手动干预:选择应用程序内的所有亮点并将其通过电子邮件发送给 Readwise。
Readwise Obsidian 插件然后将它们导入为注释。 它的配置简单有效:
但是,Readwise 的导入设置超出了插件本身的范围。 Readwise 网站上的导出配置页面提供额外的自定义:
黑曜石集成卡允许进一步细化:
默认的突出显示模板会生成如下注释:
虽然我打算使用“使用自定义格式”自定义导出模板来添加 YAML frontmatter,但我从未这样做过。模板的灵活性是显而易见的:
鉴于我对电子书精选的使用有限,我探索了替代的免订阅方法。
我最初的方法是创建一个插件来处理 Gmail 导入,反映我现有的 Readwise 工作流程。虽然它很实用,但事实证明它很笨重且难以操作。 Gmail API 被证明具有挑战性,需要专门的社区发布服务。此外,通过电子邮件发送的亮点提供的元数据有限。
随后,我发现 macOS Books 应用程序将突出显示和注释数据存储在一个可访问(尽管晦涩难懂)的 SQLite 数据库中。 Calibre 的导入机制证明了这一点。 由于我将大多数电子书导入到 Books 中,并从 Kindle 购买了许多电子书(其中可能存在使用 Readwise 的 API - 这是另一篇文章的主题),因此脚本和潜在的 Kindle API 可以解决我的问题。
虽然标题提到了 Python,不需要编码经验。下面的 Python 脚本还可以独立运行,以 Markdown 格式导出亮点。
ebooklib
库(用于增强元数据和封面图像)。要安装ebooklib
(如果不熟悉Python库安装),请使用您的终端:
<code class="language-bash">pip install ebooklib</code>
将此 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 . 将其显示。如果需要,创建 scripts
和 python
文件夹。)
启用 Python Scripter 插件。在其设置中,找到osx_book_notes.py
。 要直接导入到保管库的根目录中,无需进行任何更改。要指定目录,请使用“添加参数”按钮 (Arg 3) 并输入所需的路径。
要导入亮点,请按 Command P,搜索“Python”,然后选择“Python Scripter:运行 osx_book_notes.py”。
注释示例:
虽然精通 JavaScript 和 Python,但在解决 Obsidian 插件 API 复杂性和 UI 设计之前,我优先考虑使用 Python 脚本来构建数据库交互原型并确保功能。 Python 脚本超出了预期,提取的数据比 Readwise 更多。
未来的黑曜石插件将提供增强的功能:
这种 Python 方法提供了最小可行产品 (MVP)。 在我的主 Apple 帐户上的首次运行显示了许多意外的亮点,提示在重新运行脚本之前在 Books 应用程序中进行清理。 一个专用的插件可以通过以下方式解决这个问题:
reviewed: false
、#book/notes
标签)。当前的解决方案提供了功能性的解决方法,而未来的插件将提供更加精致和精致的体验。
以上是将 Mac OSX 图书亮点导出到 Obsidian Vault 或 Markdown 文件的详细内容。更多信息请关注PHP中文网其他相关文章!