前言

AnkiSiyuan仓库地址:

Clouder0/AnkiSiyuan: A tool to link Anki [&&](https://github.com/Clouder0/AnkiSiyuan?utm_source=ld246.com) Siyuan. (github.com)

Clouder0老铁写的AnkiSiyuan已经能用了,它能同步思源笔记中的数据到 Anki 中。于此写一篇详细的安装教程给有同样需求的人。

我的配置:

  • anki ⁨2.1.46
  • siyuan 1.3.1
  • python 3.9.4

安装环节:

  1. 安装好anki后在anki内安装AnkiConnect插件,(安装代码:2055492159)

同步思源的数据到anki,小白写给小白的AnkiSiyuan安装教程 - 图1

  1. 在Python安装界面中,先点击复选框 Add Python 3.9 to PATH,然后点击Install Now,等待安装完成。
  2. 打开CMD运行 pip install AnkiSiyuan
    我在这一步出现了错误,提示我
    ERROR: No matching distribution found for pystache
    原因:没有python3.9的与构建包(wheel)
    解决方法:根据python版本,在下面地址下载匹配的轮子
    https://www.lfd.uci.edu/~gohlke/pythonlibs/
    同步思源的数据到anki,小白写给小白的AnkiSiyuan安装教程 - 图2
    下载下来之后,使用pip 命令安装
    同步思源的数据到anki,小白写给小白的AnkiSiyuan安装教程 - 图3
    之后再运行 pip install AnkiSiyuan 安装即可。

基础使用方法:

思源侧:

需要对某个容器块进行标记,才会被同步到 Anki 中:
在思源的块菜单里找到属性,在属性面板创建 ankilink 的属性,填写相应的配置。
同步思源的数据到anki,小白写给小白的AnkiSiyuan安装教程 - 图4
如果对标题标记,则标题下的所有内容都会被同步。超级块同理,文档块亦同理。递归同步,请自行把控好范围。
尽量使用超级块,避免嵌套,以后可能有相关的调整。
有关的内容语法,请查看 AnkiLink WikiAnkiIn Wiki

AnkiSiyuan:

需要在 Anki 与思源笔记同时运行时使用。
在CMD输入下面的代码运行AnkiSiyuan
python -m AnkiSiyuan -p password
其中 password 为你的思源授权码。似乎目前不输入也能用,可以忽略掉。
我在使用的时候发现只要在思源里设置了授权码就无法正常运行AnkiSiyuan,所以我是清空了思源的授权码用这条指令

  1. python -m AnkiSiyuan

首次同步会消耗较长时间,之后会在执行目录下保存 last_sync_time 文件,保存上次同步的时间。

也就是说,只有新增、修改了的块才会被处理,以避免无谓的重复运算。

之后思源侧被标记的笔记有更新,运行后也会更新到卡片里,如下图:

同步思源的数据到anki,小白写给小白的AnkiSiyuan安装教程 - 图5

关于图片

目前的图片是通过思源提供的图床嵌入到 Anki 中。

在运行目录下创建 config.toml 文件,写入:

  1. [siyuan] assets_replacement = "https://b3logfile.com/siyuan/1609132319768/assets"

请将 1609132319768 替换为你的图床链接中对应的 id。

运行目录可以通过下面指令查看:

  1. Python
  2. import sys
  3. sys.path

自己的思源云图库ID可以通过这个方法查看:

  1. 将本地的图片上传到思源的云端图床
  2. 切换到导出预览
  3. 点击“复制到语雀”
  4. 同步思源的数据到anki,小白写给小白的AnkiSiyuan安装教程 - 图6粘贴到语雀的编辑器,siyuan后面那一串数字ID就是自己的云端图床ID了

这篇文算是对AnkiSiyuan安装教程的一个补充,原教程已经挺完善的,所以这篇文主要是写给那些跟我一样的小白,降低下使用门槛。

如果这篇文章有帮助到你,可以到Clouder0/AnkiSiyuan: A tool to link Anki [&&](https://github.com/Clouder0/AnkiSiyuan) Siyuan. (github.com)给作者点个star。

Clouder老铁是个即将参加高考的高中生,赞美他的奉献与分享。

Clouder的开发日志:

Anki 对接思源开发笔记 - 链滴 (ld246.com)

AnkiSiyuan 发布 - 链滴 (ld246.com)