轻松将你的 Roam Research 笔记同步到 Anki 卡片
实现 Roam Research 到 Anki 的自动同步,让你的学习和知识管理更上一层楼。
在今天的数字化世界中,有效地管理和回顾信息是我们日常生活和工作的关键部分,许多工具可以帮助我们做到这一点,其中两个尤其引人注目: Roam Research 和 Anki 。
在这篇文章中,我们将详细介绍如何实现 Roam Research 到 Anki 的自动同步,让你的学习和知识管理更上一层楼。
引言
Roam Research 是一个"卡片化思考"笔记应用,它允许用户以非线性的方式创建和链接他们的笔记。这种独特的方法使得 Roam 成为一个强大的工具,可以帮助你跟踪你的想法、研究和学习,使得信息和知识的管理更加有条理。 Roam 可以很好的和卡片笔记法结合使用。
Anki 则是一个基于间隔重复的学习工具,它使用科学证明的记忆技术来帮助用户记住和回顾信息。通过定期提示你需要复习的内容, Anki 可以帮助你更有效地学习和记忆。
为何要联用 Roam Research 和 Anki ?
选择联用这两个工具的主要原因在于,它们各自的优势可以相互补充:
- Anki 本质上是一个 FlashCard 应用,更适合存储知识的精华部分,而不适合用来记录大量的工作和学习笔记。
- Roam 则适合用来记录每天的想法、研究和学习,能创建大量的笔记,但缺乏有效的回顾和复习机制。
虽然 Roam Research 已经引入了 Delta (∆) 功能,但只能实现最基本的间隔提醒功能,在知识回顾和测验方面还远不如 Anki :
Roam 优秀的组织和链接功能,配合 Anki 强大的记忆和复习机制,可以极大地提高学习效率和知识吸收。
为何需要自动同步功能?
虽然两者结合起来效果很好,但我们每次在 Roam 中做完笔记,都需要手动在 Anki 中创建卡片,未免有点浪费时间。
如果我们能够将 Roam 的笔记(可选择特定笔记,而不是所有笔记)自动同步到 Anki 并创建 Anki 卡片,就可以使得复习和记忆变得无缝且高效。
在 Anki 中配置
在 Anki 中安装 AnkiConnect 插件
首先,我们需要在 Anki 中安装 AnkiConnect 插件。
AnkiConnect 官方地址: https://ankiweb.net/shared/info/2055492159
AnkiConnect 做作用是使外部应用程序能够通过简单的 HTTP API 与 Anki 进行通信。其功能包括对用户的卡片组执行查询、自动创建新卡片等等。这个插件将帮助我们在接下来的步骤中实现 Roam Research 笔记到 Anki 的同步。
在 Anki 中,点击工具 -> 插件 -> 获取插件,然后输入插件编号 2055492159
:
安装完成之后,必须重启 Anki 。重启 Anki 之后,重新打开插件页面,选择 AnkiConnect -> 插件设置,修改 webCorsOriginList
添加一行 https://roamresearch.com
,这将允许来自 Roam Research 的请求:
自此,我们便完成了 AnkiConnect 插件的安装。
在浏览器中访问 localhost:8765
,你应该可以看到以下响应,说明安装成功:
在 Anki 中创建新的笔记类型
我们还需要创建一个新的笔记类型( Note Type ),给它配置特定的字段,才能够正确的接收和展示从 Roam 同步过来的数据。
在 Anki 主界面,点击工具 -> 管理笔记模板 -> 添加 -> 选择最下面的 "复制: Cloze",新卡片名称设置为 ClozeRoam :
添加完成之后,选择新添加的 ClozeRoam 笔记类型 -> 字段:
删除 Back Extra 字段,然后添加 3 个新的字段: Metadata 、 Extra 、 Title
然后点击「卡片」,在正面内容模板和背面内容模板,分别输入以下内容:
正面内容模板:
<div class='roamtitle'>{{Title}}</div>
<div id="extra">{{Extra}}</div>
{{cloze:Text}}
背面内容模板:
<div class='roamtitle'>{{Title}}</div>
<div id="extra">{{Extra}}</div>
{{cloze:Text}}
最后保存即可。
在 Anki 中创建牌组
笔记类型创建完成之后,我们还需要创建一个牌组用于专门接收 Roam 通过过来的卡片。
新建一个牌组,命名为: Max Infinity
至此,我们在 Anki 中的配置就完成了。
在 Roam Research 中配置
在 Roam Research 中安装 Fabricius 插件
接下来,我们需要在 Roam Research 中安装 Fabricius 插件。
首先,点击 Roam Research 左侧的 Roam Depot ,搜索 Anki 或者 Fabricius ,应该能看到以下结果,点击 Install 进行安装:
因为数据从 Roam 到 Anki 的同步,是在本地完成,因此无需格外的配置。
在 Roam Research 中创建笔记并同步到 Anki
我们需要在 Roam Research 中使用预定义的【格式】和 【 Trigger 】 来触发 Fabricius 插件,毕竟,你也不会希望将 Roam 中的所有笔记都同步到 Anki 里吧?:laughing:
在 Roam Research 中的默认 Trigger 是 #[[srs/cloze-g]]
,如果我们在某一行添加#[[srs/cloze-g]]
,这一行会被作为标题。而这一行内部的每一个子行,都会被创建为一个卡片。在每一个子行里,第一行会被作为问题,其他行会被作为答案。
在答案部分,可以使用{c1:xxx}
的格式来设置完形填空。
例如,如果我们创建这样一个笔记:
然后点击 Roam Researach 右脚上的 ∞,就可以将笔记同步到 Anki 中:
这将在 Anki 中创建两张卡片,卡片的形式如下:
也可以在一行笔记中创建多个完形填空,例如:
这将在 Anki 中创建两个卡片,分别对 c1 和 c2 部分创建填空。
Q&A
注意事项:
1.如果卡片不同步,可能是因为 Anki 在后台运行的时间太长了。将其切换到前台后再次尝试同步。
2.您无法在 Anki 中创建新笔记并将其同步到 Roam 。