obsidian anki 联动 自制记忆卡组

前言

我有一个朋友最近需要记忆一些知识点,想找一个题库软件,最好是能自定义题库。可市面上的题库要么题不全,要么收费贵。有没有一个工具可以自定义题库,且按照记忆曲线提供定期记忆回顾功能呢。所幸还真有这么一款开源软件,anki

本文记录 anki 简介,obsidian anki 联动管理卡组及异常情况处理过程。

Anki 简介

Anki 是一款免费且开源的闪卡(Flashcard)制作与学习软件,它支持多种平台,包括 Windows、Mac OS 、Linux 以及 Android 移动设备等。Anki 的主要功能是帮助用户通过创建数字闪卡来学习各种类型的知识点,并利用间隔重复(Spaced Repetition)的原理优化复习计划,从而提高记忆效率。

相关地址

官网: https://apps.ankiweb.net/
Ankichina: http://www.ankichina.net/welcome/
软件直接官网下载,ankichina 可以帮我们初步了解 anki,有网友分享的卡组。

公开卡组

Obsidian anki 管理卡组

Anki 卡组类型包括问答题(包括单向和双向)、填空题等多种形式,直接通过 anki 新建卡片比较麻烦, anki 也有通过 csc、apkg 等方式批量导入卡组的方式。

但为了更好的管理卡组,并与笔记结合,今天介绍 Obsidian anki 联动管理卡组的方式。

工具准备

  • Obsidian、anki
  • Anki 插件:anki connector
  • Obsidian 插件:Export to Anki
    Anki connector 插件安装方式
    打开 anki -工具-插件-输入代码 2055492159
    Export to Anki 安装方式
    应用商店中安装 Export to Anki (安装后为 obsidian to anki)

初始配置

在 Anki 插件界面双击 Anki connector 复制粘贴下面代码。

1
2
3
4
5
6
7
8
9
10
11
{
"apiKey": null,
"apiLogPath": null,
"webBindAddress": "127.0.0.1",
"webBindPort": 8765,
"webCorsOrigin": "http://localhost",
"webCorsOriginList": [
"http://localhost",
"app://obsidian.md"
]
}

image.png

重启 anki ,如果报端口请看异常处理记录,没有报错就在 anki 运行的情况下,重启 obsidian Export to Anki 插件,会多出来设置按钮,如果没有成功连接 anki 是没有设置按钮的。

obsidian to anki 设置信息

先看设置信息截图如下:
image.png

QQ_1724292826629.png

忽略文件

忽略其他文件及文件夹,这样可以避免程序进行不必要的扫描,忽略文件夹格式为文件名后加/**
注意原文有的去掉 excalidraw 要保留。

1
2
3
4
5
**/*.excalidraw.md
00_collection box/**
01_工作/**
02_学习/**
03_生活/**

Anki 添加笔记模板

Anki -浏览-笔记模版右键-管理笔记模版-添加-问答题。
image.png

Obsidian to anki 笔记模板设置

依次点击 Actions- Regenerate Note Type Table-Regenerate,获取笔记模板。
这样在 note type settings 下就有了 note type table
image.png

添加正则表达式

在官方 wiki 界面下找到问答式正则表达式代码复制到对应的 custom regexp。

1
^Q: ((?:.+\n)*)\n*A: (.+(?:\n(?:^.{1,3}$|^.{4}(?<!<!--).*))*)

正则表达式解释:Q: 后面是问题,换行后 A: 为答案。
正则表达式可自定义,例如下面的表达式,可用于知识点的梳理。

1
^#{4}\s(.+)\n*((?:\n(?:^[^\n#].{0,2}$|^[^\n#].{3}(?<!<!--).*))+)

4 级标题为问题,4 级标题以下为答案,具体如何设置根据自己的需要来定。
以上就完成了初步配置。
只要在 obsidian 没有被忽略的笔记中添加对应格式笔记,点击左侧按钮就能同步到 anki Default 卡组中。笔记格式示例如下:

1
2
Q: How do you use this style?
A: Just like this.

成功后,在 obsidian 对应的笔记后面会多一个标记
image.png
在 anki 中会增加卡片。
image.png

Obsidian 管理 anki 卡组

使用 Obsidian to anki 插件不仅可以批量添加卡片,还可以实现指定目标卡组,删除卡片,修改卡片内容。

指定目标卡组

在 anki 牌组界面下,点击创建自己的卡组,在 obsidian 笔记前添加 TARGET DECK 字段设置目标卡组。

1
2
3
4
TARGET DECK: obsidian
Q: How do you use this style?
A: Just like this.
<!--ID: 1724248298307-->
删除卡片

在特殊标记前添加 DELETE 命令。

设置标签

在笔记后添加 FILE TAGS 字段,可添加标签

1
2
3
4
5
Q: How is this possible?
A: The 'magic' of regular expressions!
<!--ID: 1724247826177-->

FILE TAGS: 测试 错题

以上 TARGET DECK 、DELETE、FILE TAGS 均是设置中默认的,可以在设置中对应修改。

美化卡片

Anki 和 obsidian 一样支持 markdown 格式, 还支持 HTML,css 可以做出非常美观的卡片。
在浏览界面,点击右侧设置图标修改卡片样式 CSS 代码。将实现对笔记输出格式的美化。

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
.card {
font-family: arial;
font-size: 20px;
text-align: left;
color: black;
background-color: white;
}

em {
#color:white;
background-color: #69E147;
border-radius: 5px;
padding: 2px 5px;
}

strong {
color:red;
font-weight: bolder;
text-shadow: 2px 2px 5px #ffe600;
}

code {
color:black;
font-weight: bolder;
text-shadow: 2px 2px 5px gray;
}

mark {
border-radius: 5px;
padding: 2px 5px;
}

blockquote {
background-color: #ECECEC;
padding: 2px 5px;
border: 2px solid #7F7F7F;
border-radius: 5px;
}

Obsidian 笔记

1
2
3
4
5
6
7
8
Q: 卡片支持哪些美化功能?
A: 1. **加粗**:关键词
2. _斜体_:用于句首,可以理解为卡片的结构化写法
3. ==高亮==:简记的形式——记忆法的延伸
4. 内容断行:先回车,然后“**空一格**”,然后再回车,这样就可以在卡片中进行内容的分隔(这个没有什么特别的说法,单纯是因为插件代码就是这么写的)。

> “人生就是一连串的刹那”
> ——《被讨厌的勇气》

结果预览:

Anki web 卡组同步

做好牌组后,可通过 Anki web 能帮我们实现多端同步。点击 anki 的同步按钮即可注册、登录账户,安卓端推荐 ankichina 下载 ankidroid,注意软件是免费的。

端口占用处理记录

image.png

问题原因是有程序占用 8765 端口,两插件不支持修改默认端口,只能杀掉本地运行的端口程序。
Cmd 输入代码查询占用程序 netstat -ano | findstr : 8765。

1
2
3
4
5
6
7
C:\Users\htwl>netstat -ano | findstr :8765
TCP 0.0.0.0:8765 0.0.0.0:0 LISTENING 19060
TCP 127.0.0.1:8765 127.0.0.1:63689 ESTABLISHED 19060
TCP 127.0.0.1:63689 127.0.0.1:8765 ESTABLISHED 14868
- 关闭对应程序。
taskkill /F /PID 19060
taskkill /F /PID 14868

参考文件

用obsidian进行anki作卡 - 知乎 (zhihu.com)
Bilibili@pkmer : 同步 Anki 学习卡,让你的学习更高效
Home · ObsidianToAnki/Obsidian_to_Anki Wiki · GitHub
Regex · ObsidianToAnki/Obsidian_to_Anki Wiki · GitHub

BY

纯个人经验,如有帮助,请收藏点赞,如需转载,请注明出处。
微信公众号:环境猫 er
CSDN : 细节处有神明
个人博客: https://maoyu92.github.io/


obsidian anki 联动 自制记忆卡组
https://maoyu92.github.io/2024/08/21/04 经验分享/obsidian anki 联动 自制记忆卡组/
作者
陈文茂
发布于
2024年8月21日
许可协议