obsidian社区插件
Obsidian 插件:Zotero Integration
插件ID:obsidian-zotero-desktop-connector
zotero-desktop-connector
zotero desktop-connector:Obsidian 插件:Zotero Integration
Obsidian Zotero Integration插件允许用户在Obsidian中插入和导入来自Zotero的引用、文献目录、笔记和PDF批注。需要安装[Zotero的Better BibTeX插件](https://retorque.re/zotero-better-bibtex/installation/)。该插件解决了在Obsidian中使用Zotero引用和文献的问题,方便用户在笔记中引用文献和添加注释。用户可以在[此处](https://github.com/mgmeyers/obsidian-zotero-integration/blob/main/docs/README.md)找到插件的文档。若遇到加载问题或创建引用或文献时出现错误,请确保Obsidian版本至少为`v0.13.24`,并在Zotero中选择了快速复制样式。插件提供了相关的截图和演示gif以帮助用户使用。
Obsidian 插件:Zotero Integration
概述
从 Zotero 插入和导入引文、参考书目、注释和 PDF 注释到 Obsidian。需要 Better BibTeX 为 Zotero 插件。
插件名片
实战联动指南参考 Zotero和Obsidian联动
效果&特性
- 安装于 Obsidian,配合 Better BibTeX for Zotero 使用
- 实现效果
- 提取条目信息
- 提取 PDF 注释内容(包括图片)
- 在 Markdown 笔记内保留跳转至 PDF 的链接
- 丰富的格式设置
- 提取 Note
- 保留原有的编辑内容
- 同时导入多条文献
使用
插件设置
- 下载 PDFutility
- 设置导入路径
- 添加输入模板
- 设置模板
模板设置
- 使用的模板语言为 Nunjucks,需要一定的学习成本
- 如何找到可以获取的数据信息?
条目信息
- 普通内容占位符{{……}}
- 针对该占位符包含多个独立内容,使用
loop.last
提取完整信息
{% for t in creators %}{{t.firstName}}{{t.lastName}}{{t.name}}{% if not loop.last %}, {% endif %}{% endfor %}
- 对于日期,默认导入形式为时间戳,需要使用
format()
进行转换
{% if date %}{{date | format("YYYY-MM")}}{% endif %}
提取 PDF 注释
- 在
Annotation
内可找到每条注释的相关信息 - 基本语法
{% for annotation in annotations %}...do something...{% endfor %}
- 可以在
for
循环内添加if……endif
语句进行判断,从而对不同格式的注释进行设置
{% for annotation in annotations %}
{% if annotation.color == '#a28ae5' %}## {{annotation.annotatedText}}{{annotation.comment}}{% endif %}
{% endfor %}
- 提取图片
{% for annotation in annotations %}
{% if annotation.color == '#a28ae5' %}## {{annotation.annotatedText}}{{annotation.comment}}{% endif %}
{% if annotation.imageBaseName %}![[{{annotation.imageBaseName}}]]{% endif %}
{% endfor %}
添加跳转链接
- 由于
data exploer
内没有跳转链接的信息,我们需要通过不同的数据来生成我们需要的链接 zotero 自带的导出 markdown 笔记会包含跳转链接,我们以此观察跳转链接的组成形式为[文本](zotero://open-pdf/library/items/附件编号?页码&注释编号)
- 所以我们可以在数据中找到拥有类似信息的内容加以删减、组合
{% for annotation in annotations %}
{% if annotation.color == '#a28ae5' %}## {{annotation.annotatedText}}{{annotation.comment}}{% endif %}
{{pdfZoteroLink|replace("//select/", "//open-pdf/")|replace(")", "")}}?page={{annotation.page}}&annotation={{annotation.id}})
{% endfor %}
- 或者采用(需 attachments 占位符内的第一个附件为注释的 PDF):
{% for annotation in annotations %}
{% if annotation.color == '#a28ae5' %}## {{annotation.annotatedText}}{{annotation.comment}}{% endif %}
[随便写啥](zotero://open-pdf/library/items/{% for t in attachments %}{% if loop.first %}{{t.itemKey}}{% endif %}{% endfor %}?{{annotation.page}}&annotation={{annotation.id}})
{% endfor %}
模板的拆分与组装
- 你可以选择将条目信息与注释的模板进行拆分、排列组合,进一步拓展插件的使用情境
{% include "[[模板文件名]]" %}
- 通过
persist
可以实现分节的效果,使得多次导入同一条目时之前的信息不会被覆盖
## {{title}}
### Notes
{% persist "notes" %}
{% endpersist %}
- 也可以通过过滤器
filterby
仅导入自上次导入以来添加的批注
{% persist "annotations" %}
{% set newAnnotations = annotations | filterby("date", "dateafter", lastImportDate) %}
{% if newAnnotations.length > 0 %}
### Imported: {{importDate | format("YYYY-MM-DD h:mm a")}}
{% for a in newAnnotations %}
> {{a.annotatedText}}
{% endfor %}
{% endif %}
{% endpersist %}
导入笔记
- 打开命令面板,选择不同的导入形式
- 也可以为某种导入方式设置快捷键
- 可同时导入多条文献
最后
Nunjucks 模板语言非常的丰富,并且内置了非常的过滤器,只要你想你几乎可以实现所有想要的效果
但是每种工具都需要你耗费一定的时间或精力,需要你做出权衡。不论是哪种工具,需要明白的是使用这种工具的最终目的还是在于科研。
讨论
若阁下有独到的见解或新颖的想法,诚邀您在文章下方留言,与大家共同探讨。
反馈交流
其他渠道
版权声明
版权声明:所有 PKMer 文章如果需要转载,请附上原文出处链接。