Notero 是一个 Zotero 插件,用于将项目和笔记同步到 Notion 中。使用方法:
概念由 @arhoff ??? |建立与?通过@dvanoni
Notero 插件监视在 Notero 首选项中指定的任何集合中添加或修改的 Zotero 项目。每当添加或修改项目时,Notero 都会执行以下操作:
notion
标签。除了提供从 Zotero 打开 Notion 页面的便捷方式之外,链接附件还可以作为 Notero 的参考,以便它可以更新给定 Zotero 项目的相应 Notion 页面。
默认情况下,只要修改了受监控的集合中的项目,Notero 就会同步它们。您可以通过取消选中 Notero 首选项中的“修改项目时同步”选项来禁用此功能。
您还可以从集合或项目上下文菜单同步项目(右键单击):
笔记
为了防止“修改时同步”功能多次保存到 Notion,当标签和链接附件添加到项目时,Notero 不会通知 Zotero。这意味着它们可能不会立即出现在 Zotero 中,您可能需要导航到不同的项目并返回才能使它们出现。
与某个项目关联的 Zotero 注释可以同步到 Notion 中,作为该项目对应页面的内容。与常规项目一样,您可以使用上下文菜单中的“同步到概念”选项手动同步笔记。
可以通过 Notero 首选项中的同步笔记选项启用笔记自动同步。启用后,只要修改笔记,笔记就会自动同步。此外,当常规项目同步时,其所有注释(如果尚未同步)也将同步。
要从 PDF 同步注释(注释和突出显示),您首先需要将它们提取到 Zotero 注释中:
使用 Notero 需要设置一个 Notion 数据库,将其连接到 Notero,并在 Zotero 中安装 Notero 插件。详细的设置说明如下。
创建您想要将 Zotero 项目同步到的 Notion 数据库。
请参阅下面的示例,您可以将其复制到您的 Notion 工作区中。
在 https://www.notion.com/my-integrations 创建 Notion 内部集成并启用所有“内容功能”。
记下上一步中的“内部集成秘密”。
授予您对数据库的集成访问权限。
来自 Notion 开发者文档:
- 转到工作区中的数据库页面。
- 单击页面右上角的•••更多菜单。
- 向下滚动并单击“连接到” 。
- 在“搜索连接...”菜单中搜索并选择您的集成。
根据需要配置数据库属性。有关更多详细信息,请参阅下面的数据库属性部分。
Notero 可以同步下列属性的数据。 Notero 所需的唯一属性是Title属性类型。其他属性是可选的,因此您可以仅使用适合您需要的属性。
Title属性可以命名为Name
以外的名称,只要它不与任何其他属性名称冲突即可。其他属性的名称和类型必须完全按照此处指定的进行配置。请注意,属性名称区分大小写,因此大小写必须完全匹配。
未来计划支持定制属性;请参阅问题 #355。
物业名称 | 物业类型 | 笔记 |
---|---|---|
Name | 标题 | 可通过 Notero 首选项中的“概念页面标题”选项配置格式 |
Abstract | 文本 | |
Authors | 文本 | |
Citation Key | 文本 | 需要更好的 BibTeX |
Collections | 多选 | |
Date | 文本 | |
Date Added | 日期 | |
Date Modified | 日期 | |
DOI | 网址 | |
Editors | 文本 | |
Extra | 文本 | |
File Path | 文本 | |
Full Citation | 文本 | 基于导出 → 快速复制 → 项目格式的 Zotero 设置的格式 |
In-Text Citation | 文本 | 基于导出 → 快速复制 → 项目格式的 Zotero 设置的格式 |
Item Type | 选择 | |
Place | 文本 | |
Proceedings Title | 文本 | |
Publication | 文本 | |
Series Title | 文本 | |
Short Title | 文本 | |
Tags | 多选 | |
Title | 文本 | |
URL | 网址 | |
Year | 数字 | |
Zotero URI | 网址 | 如果登录到 Zotero,则打开网络库中的项目 |
重要的
.xpi
文件。.xpi
文件。.xpi
文件:有关设置和使用 Notero 的更多视觉指南,请参阅社区优秀成员制作的以下资源:
如果您想分享您如何使用 Notero 并希望列在此处,请随时提交 PR 或联系我!
虽然这很好,但不幸的是它超出了这个插件的范围。从 Notion 获取更新到 Zotero 需要设置一个托管服务,该服务从 Notion 订阅 webhooks,然后使用 Zotero API 更新 Zotero 中的项目。 Notion 尚未发布官方 webhook 支持,但有一些第三方工具可以用于此目的。理论上,这在技术上是可行的,但这将是一个单独的项目。
由于 Notion 存在以下限制,目前没有同步文件或链接到本地文件的好方法:
http:
和https:
URL,因此无法使用file:
URL 直接链接到文件。目前,最好的解决方法是:
File Path
属性将您指向本地文件的位置。Zotero URI
属性打开 Zotero Web 界面,然后从那里打开文件。要同步受监控集合中已有的多个项目,您可以从集合或项目上下文菜单中执行此操作。请参阅上面的同步项目部分。
如果您收到以下错误:
APIResponseError:找不到 ID 为: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx的数据库
这很可能意味着您尚未授予 Notero 访问您的 Notion 数据库的权限。确保遵循配置概念部分中的所有步骤。单击数据库右上角的•••按钮应会显示您为Notero 创建的集成的连接。
如果您收到以下错误:
APIResponseError:无法更新已存档的页面。更新之前您必须取消存档该页面。
当 Notero 尝试同步已在之前的同步中为其创建了 Notion 页面的项目,但该页面已被删除时,可能会发生这种情况。 (请注意,删除 Notion 页面会将其移至垃圾箱,Notion API 将此称为“已存档”。)
如 Notero 工作原理部分所述,Notero 通过附加到项目的名为Notion
的链接将 Zotero 项目与 Notion 页面关联起来。要解决此问题,请删除有问题的项目上的此链接附件,然后再次执行同步。
如果您收到以下错误:
APIResponseError:属性不是存在的属性
如果您之前将项目同步到一个 Notion 数据库,然后更改您的 Notero 首选项以指定不同的数据库,则可能会发生这种情况。 Notero 可能会尝试更新旧数据库中的页面,而不是在新数据库中创建页面,如果在不同的数据库中配置了不同的属性,则可能会发生此错误。
要解决此问题,您应该删除 Notion 中的旧数据库,然后将其从 Notion 中的垃圾箱中永久删除。
我们提供了一些示例 Notion 数据库,这些数据库已配置了 Notero 同步的所有属性。
打开其中一个示例后,单击页面右上角的“复制”按钮将其复制到您的 Notion 工作区中。
一个空数据库,仅包含由 Notero 同步的属性。如果您想从头开始并自行定制,这很有用。
具有多个视图和一些示例条目的数据库。有关如何使用不同视图的说明,请参阅下文。
DOI
或URL
属性轻松导航到原始来源。Extra
字段手动复制和粘贴。Zotero URI
属性可查看/编辑 Zotero 中的条目或以不同的引文样式导出参考书目条目。 Related References
属性轻松链接到其他作品(例如,同一特刊中的文章、同一编辑书中的书籍章节、响应或扩展其他作品的研究和评论)。 Notero 使用生成器-zotero-plugin 搭建起来,并使用深受 zotero-plugin 启发的构建脚本。非常感谢 @retorquere 创建这些。
以下步骤基于 Zotero 插件开发文档,应该允许您自行构建和运行 Notero。
为了避免对您的默认 Zotero 配置文件造成任何潜在损坏,您可以创建一个新的配置文件以用于开发目的。
创建一个名为zotero.config.json
的文件,其中包含用于启动 Zotero 的配置选项。请参阅zotero.config.example.json
以获取包含所有可用配置选项描述的示例文件。
安装依赖项:
npm ci
构建 Notero 并启动安装了插件的 Zotero:
npm start
或者,您可以启动您想要的 Zotero 测试版:
npm run start-beta
start
脚本执行多个步骤:
执行npm run build
将插件构建到build
目录中。
如果已定义,请运行zotero.config.json
中指定的scripts.prestart
命令。
将包含build
目录绝对路径的文件写入 Zotero 配置文件目录中的extensions
目录中。
从 Zotero 配置文件目录中的prefs.js
中删除extensions.lastAppBuildId
和extensions.lastAppVersion
行。
使用zotero.config.json
中指定的配置文件和以下命令行参数启动 Zotero:
-purgecaches -ZoteroDebugText -jsdebugger -datadir profile
如果已定义,请运行zotero.config.json
中指定的scripts.poststart
命令,并为其提供ZOTERO_PID
环境变量。
发布是通过 GitHub Actions 执行的。 release
工作流程定义了以下作业:
release-please
当新的面向用户的提交被推送到main
分支时,此作业使用 release-please 操作来创建发布 PR。发布 PR 将提升软件包版本并更新变更日志。合并 PR 后,此作业将创建新的版本标签和 GitHub 版本。
publish-artifacts
该作业在release-please
作业创建新版本时运行。它构建.xpi
文件并将其发布到版本中。它还生成更新的清单文件并将其发布到release
版本。