搭建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学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
相关文章
|
3月前
|
移动开发 数据可视化 小程序
Dooring3.0可视化搭建平台使用指南
Dooring3.0可视化搭建平台使用指南
49 1
|
8月前
|
数据可视化 测试技术 API
ShowDoc部署与应用:文档管理的最佳实践
在项目开发和协作中,文档管理扮演着至关重要的角色。ShowDoc作为一款卓越的开源文档管理工具,不仅提供强大的文档管理功能,还具备简单易用的协作和部署特性。我们的项目团队最初选择了ShowDoc作为文档管理工具,用以促进前后端协作。
586 2
ShowDoc部署与应用:文档管理的最佳实践
|
7月前
|
数据库连接 测试技术 开发工具
猿创征文|工具百宝箱-编辑器-笔记工具-日常小工具-原型设计工具
猿创征文|工具百宝箱-编辑器-笔记工具-日常小工具-原型设计工具
|
12月前
|
算法 数据可视化 搜索推荐
如何从0到1搭建图编辑器,打造沉浸编排体验?
如何从0到1搭建图编辑器,打造沉浸编排体验?
130 0
|
编解码 数据可视化 安全
NBI可视化平台快速入门教程(五)编辑器功能操作介绍
NBI可视化平台快速入门教程(五)编辑器功能操作介绍 (1)在NBI可视化平台中设置页面大小、背景颜色等 (2)目前系统内置三套皮肤可供选择使用 (3)页面背景支持纯色背景、渐变背景、图片背景
NBI可视化平台快速入门教程(五)编辑器功能操作介绍
|
API 项目管理 数据库管理
如何使用FlowUs、Notion等笔记软件建立工作台?
关于 All in One 使用过 Notion 的用户,绝大多数都知道 Notion 提倡都 All in One 理念。All in One 作为一种理念,准确描述了 Notion 类应用的特点:你可以在这类应用中进行时间管理、任务管理、项目管理、文档管理、数据库管理、资讯管理。对于多数普通人,如果你没有很专业的需求,那么你使用 Notion 类应用便能满足你绝大多数生产力需求。
333 0
如何使用FlowUs、Notion等笔记软件建立工作台?
|
数据可视化 搜索推荐 项目管理
如何在 FlowUs和Notion 等笔记软件中进行任务管理?
对于 Notion 这样的生产力工具而言,非常适合进行任务管理。比如,制定各种学习计划、工作计划、习惯追踪。你可以看到很多用户乐此不疲地建立各种模版,其中最重要的便是进行任务追踪。 那么,与传统的工具而言,Notion 类产品为什么适合进行任务追踪呢?
219 0
如何在 FlowUs和Notion 等笔记软件中进行任务管理?
|
NoSQL Redis Docker
快速搭建编排上线项目实例
快速搭建编排上线项目实例
82 0
|
数据采集 移动开发 JSON
基于NodeJS从零构建线上自动化打包工作流(H5-Dooring特别版)
NodeJS在前端领域正扮演着越越重要的地位,它不仅可以让前端工作者使用javascript编写后端代码,还能方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动,**非阻塞I/O **模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。
323 0