搭建zotero到obsidian的工作流

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 所谓“工欲善其事,必先利其器”(差生文具多),想要针对一个领域研究出成果,首先需要建立其对于这个领域完善的知识体系,即形成属于自己的知识库。现在有非常多的笔记软件,例如Notion、语雀、Obsidian等等,对于建立知识库非常有帮助,下面我就来谈谈我个人探索出来的一套从zotero管理文献,到阅读文献做笔记再到obsidian中形成阅读笔记的丝滑工作流。

Why zotero?

zotero是一个文献管理软件,据我了解,其前身其实只是一款浏览器插件,用于提供文献元数据的管理,直到后来被开源社区开发成一款跨平台的桌面级软件,并且有非常好的开源社区以及大量的插件。

文献管理软件当然也不止这一款,至于为什么选择zotero,原因其实非常简单,就是因为它是开源软件,我本人是如果功能足够用,一定会优先考虑开源软件的。开源软件一般拥有庞大的专业用户,他们拥有过硬的技术和开源精神,形成的社区非常喜人。

zotero的基础操作我就不多说了,其实使用起来也比较简单,我主要利用它来分类整理文献,同时搭配Zotero Connector浏览器插件,在google scholar中浏览文献的时候直接一键收录并且提取元数据。

这里推荐两个比较好用的插件,也是我觉得必装的,后续的配置会默认已经安装了这两个插件,插件的配置可以参考网络然后根据自己的需要进行。

  • Better BibTex 6.7.19 ——主要用来帮助zotero更好的管理bibliographic数据
  • ztofile 5.1.1 —— 更好的管理附件文件,例如格式化命名、移动附件等等
  • 另外我的Zotero版本是6.0.11

同时还可以配置Zotero利用云盘进行备份/多设备同步等等,例如我就将我的整个附件目录以及Zotero数据库放在了icloud中。

Why obsidian?

说实话,obsidian算是后起之秀了,在知识库软件百花齐放的今天,这个界面不那么友好的软件似乎没有什么竞争力,但对于专业人士来说,恰恰相反。obsidian它所有的特性完美的符合了我的需求。

  • 文档以markdown格式编写,同时提供扩展语法
  • 数据存储在本地,且直接以.md格式存储,让人放心
  • 提供双向链接、关系图谱等功能
  • 拥有非常庞大的插件支持(例如Vim相关的插件以及等下我们会用到的插件)

构建文献阅读整理工作流

在我们阅读文献的时候,特别是精读的时候,我觉得比较好的一个流程是:

  1. 一遍阅读一遍标注一边写评论,这样可以有助于理解文章,同时理清文章的脉络
  2. 利用不同的颜色区分标注的不同内容
  3. 阅读完成后整理阅读笔记,形成知识存储在知识库中,方便以后翻阅,因为通常需要阅读大量的文献,很容易不记得一些文件的细节

下面我就按照上面的流程来介绍我探索出来的一个工作流

文献标注

我会用不同的颜色来表示标注内容的不同意思,通常的习惯是

  • 橘色表示文章的主要思想
  • 黄色表示研究的细节部分或者系统实现的细节
  • 红色表示还需要继续探究的部分或者感兴趣的参考文献

通过不同颜色的区分不仅有助于我们梳理文章内容,同时也方便接下来导入Obsidian的配置。

导入Obsidian,形成笔记

说了这么多,终于到了重点部分,看起来毫不相关的两个软件,是如何联系起来的呢,这就不得不提到Obsidian的一个插件——zotero-integration

其实在发现这款插件之前,我是根据 Zotero -> zotfile -> mdnotes -> obsidian -> dataview Workflow这篇帖子在实现我的workflow的,但是后来由于zotero的更新,导致zotero的插件mdnote失效了,所以换成了更稳定的Obsidian端实现

安装好zotero-integration后,可以首先通过这个视频熟悉它的使用

现在我们知道了zotero-integration可以通过编写模板实现格式化导入文献笔记

那么我自己的模板文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
---
title: {{title}}
date: {{importDate | format("YYYY-MM-DD HH:mm:ss")}}
categories:
tags:{% for tag in tags %}
- {{tag.tag}}{% endfor %}
---

### Matedata
#zotero

##### Item Type::
[[{{itemType}}]]

##### Authors::
{{authors}}

{%if date %}##### Year::
[[{{date | format("YYYY")}}]]-{{date | format("MM")}}{% endif %}

{%if conferenceName %}##### Conference Name
[[{{conferenceName}}]]{% else %}{% if publicationTitle %}##### Publication Title
[[{{publicationTitle}}]]{% endif %}{% endif %}

{%if DOI %}##### DOI::
[{{DOI}}](https://doi.org/{{DOI}}){% endif %}

{%if pdfLink %}##### PDF Attachment::
{{pdfLink}}{% endif %}

##### Zotero Link
- [Local]({{select}})
- [Cloud]({{uri}})

# {{title}}({%if date %}{{date | format("YYYY")}}{% endif %})
>[DOI] [{{DOI}}](https://doi.org/{{DOI}})

## Abstract
{{abstractNote}}

## 摘要

## 正文
{% for annotation in annotations %}{% if annotation.type == "highlight" %}{% if annotation.colorCategory %}{% if annotation.colorCategory == "Orange" %}
```ad-main_idea
{{annotation.annotatedText}}({% if pdfLink %}{% if citeKey %}[{{citeKey}}]{% elif citationKey %}[{{citationKey}}]{% else %}[Link]{% endif %}{% if annotation.attachment.desktopURI and annotation.page %}({{annotation.attachment.desktopURI | replace("select", "open-pdf")}}?page={{annotation.page}}){% else %}{{pdfLink | replace(r/^\[.*\]/, "")}}{% endif %}{% endif %})
```
{% elif annotation.colorCategory == "Yellow" %}
```ad-detail
{{annotation.annotatedText}}({% if pdfLink %}{% if citeKey %}[{{citeKey}}]{% elif citationKey %}[{{citationKey}}]{% else %}[Link]{% endif %}{% if annotation.attachment.desktopURI and annotation.page %}({{annotation.attachment.desktopURI | replace("select", "open-pdf")}}?page={{annotation.page}}){% else %}{{pdfLink | replace(r/^\[.*\]/, "")}}{% endif %}{% endif %})
```
{% elif annotation.colorCategory == "Red" %}
```ad-todo
- [ ] {{annotation.annotatedText}}({% if pdfLink %}{% if citeKey %}[{{citeKey}}]{% elif citationKey %}[{{citationKey}}]{% else %}[Link]{% endif %}{% if annotation.attachment.desktopURI and annotation.page %}({{annotation.attachment.desktopURI | replace("select", "open-pdf")}}?page={{annotation.page}}){% else %}{{pdfLink | replace(r/^\[.*\]/, "")}}{% endif %}{% endif %})
```
{% endif %}{% endif %}{% if annotation.comment %}{{annotation.comment}}{% endif %}{% endif %}{% endfor %}

这个模板有几个比较有意思的地方

  1. 元数据单独管理,可以方便迁移,本地链接全部存在元数据中。正文中不存在本地链接,直接复制到别的地方也可以正确的跳转
  2. 它的front-matter部分我直接按照Hexo博客模板给出,这样不仅可以更加方便的管理元数据,还可以让我直接复制粘贴到Hexo当作博文发布
  3. 搭配admonition使用可以实现贴纸效果,笔记一目了然,当然如果不喜欢也可以简化{% for annotation in annotations %}里面的实现

好啦,以上就是我探索出来的一套丝滑的工作流啦,希望能帮助到大家~

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
相关文章
|
8月前
|
移动开发 数据可视化 小程序
Dooring3.0可视化搭建平台使用指南
Dooring3.0可视化搭建平台使用指南
122 1
|
2月前
|
敏捷开发 数据可视化 BI
工作流管理是什么?5款企业工作流管理工具推荐!
工作流管理是一种使处理过程自动化、协调人和应用工具完成工作的技术。它通过规划、组织、协调和控制业务流程,确保工作高效、准确地完成。工作流管理可以提高工作效率、规范业务流程、增强协同工作能力、优化决策支持,并提升企业竞争力。本文介绍了5款工作流管理软件:板栗看板、Trello、Asana、Jira 和 Monday.com,它们各具特色,适用于不同的场景和需求。
工作流管理是什么?5款企业工作流管理工具推荐!
|
3月前
|
人工智能 JSON 数据格式
Dify开发工作流
这篇文章详细介绍了如何使用Dify平台进行工作流的创建与配置,包括设置变量、条件分支以及集成不同工具和服务来自动化任务处理流程。
328 1
Dify开发工作流
|
3月前
|
IDE 开发工具 C++
AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决
本文详细介绍了在离线环境中开发Avalonia UI项目的完整解决方案,包括Visual Studio 2022和JetBrains Rider的离线安装、Avalonia UI模板的配置、私有NuGet服务的部署与使用,以及NuGet包的制作和上传。通过这些步骤,您可以在网络受限或完全离线的环境中顺利进行Avalonia UI项目的开发。
AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决
|
6月前
|
人工智能 JavaScript IDE
使用Coze工作流(二)
使用Coze工作流(二)
304 0
|
6月前
|
数据可视化 IDE 开发工具
Coze工作流介绍(一)
Coze工作流介绍(一)
277 0
|
8月前
|
Java Shell 网络安全
一步到位!快速精通Git工作流及实战技巧详解
一步到位!快速精通Git工作流及实战技巧详解
82 0
|
Kubernetes Cloud Native jenkins
【1024效率神器】还在Jenkins点点,快来体验Tekton的灵活自动化
【1024效率神器】还在Jenkins点点,快来体验Tekton的灵活自动化
305 0
EMQ
|
运维 Ubuntu NoSQL
eKuiper Newsletter 2022-08|多平台插件一键安装,使用更便捷
8月,eKuiper发布了1.6.1版本:主要增强了产品运维的稳定性和易用性,包括提供可移植性更强的预编译二进制包、Docker Image和插件包,管理控制台提供了规则告警等功能。
EMQ
159 0
eKuiper Newsletter 2022-08|多平台插件一键安装,使用更便捷