将思源的数据同步到 anki,小白写给小白的 AnkiSiyuan 安装经验

前言

AnkiSiyuan 仓库地址:

Clouder0/AnkiSiyuan: A tool to link Anki && Siyuan. (github.com)

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

我的配置:

安装环节:

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

image.png

  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/
    image.png
    下载下来之后,使用 pip 命令安装
    image.png
    之后再运行

    pip install AnkiSiyuan
    

    安装即可。

    基础使用方法:

    思源侧:

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

    AnkiSiyuan:

    需要在 Anki 与思源笔记同时运行时使用。
    在 CMD 输入下面的代码运行 AnkiSiyuan

    python -m AnkiSiyuan -p password
    

    其中 password 为你的思源授权码。似乎目前不输入也能用,可以忽略掉。

我在使用的时候发现只要在思源里设置了授权码就无法正常运行 AnkiSiyuan,所以我是清空了思源的授权码用这条指令

python -m AnkiSiyuan

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

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

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

image.png

关于图片

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

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

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

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

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

Python
import sys
sys.path

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

  1. 将本地的图片上传到思源的云端图床
  2. 切换到导出预览
  3. 点击“复制到语雀”
  4. image.png粘贴到语雀的编辑器,siyuan 后面那一串数字 ID 就是自己的云端图床 ID 了

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

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

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

Clouder 的开发日志:

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

AnkiSiyuan 发布 - 链滴 (ld246.com)

1 操作
dammy 在 2021-09-01 00:37:52 更新了该帖

广告 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • dammy
    支持者 订阅者 作者

    一般都是因为系统环境变量没有配置好,具体可以百度下,一般来说安装 python 有个 Add python xx to PATH 的选项,勾选了就没问题

    1 回复
  • 其他回帖
  • wfan14513
    捐赠者 支持者 订阅者

    我装了 python,ankisiyuan 怎么装啊?要下载什么东西到本地吗?

    在 cmd 里运行 pip install ankisiyuan,出现“'pip' 不是内部或外部命令,也不是可运行的程序或批处理文件。”是什么情况?

    1 回复
  • blingbling
    订阅者

    你好,我遇到了一个问题,RuntimeError: Event loop is closed,这个怎么解决......

  • wfan14513 1 评论
    捐赠者 支持者 订阅者

    勾选了的,还是不行好像。

    image.png

    搞定了,百度的解决办法:pip install aiohttp
    wfan14513