Skip to content

Clouder0/AnkiSiyuan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5889ff0 · Jan 3, 2023

History

42 Commits
Dec 5, 2022
Jan 3, 2023
Dec 25, 2022
Sep 22, 2022
Dec 25, 2022
Sep 22, 2022
Sep 22, 2022
Sep 22, 2022
Dec 6, 2022
Dec 25, 2022
Dec 25, 2022
Sep 22, 2022

Repository files navigation

AnkiSiyuan

同步思源笔记中的数据到 Anki 中。

上手指南

开发笔记 AnkiLink 完全体构想

相关项目:AnkiIn 导入 Anki 的 Python 工具库 AnkiLink Markdown 导入 Anki

  • 按需导入
  • 增量同步
  • 勉强能用

更新了 v0.1.0,对同步代码进行大幅重构,优化了性能。

现在初次同步的速度应该很快了。

安装

使用 pip 安装。

pip install ankisiyuan

(可选方法)
下载对应平台的二进制文件,随后执行时将 python -m ankisiyuan 替换成对应的文件名。例如在 Windows 上,进入 ankisiyuan.exe 所在的目录,随后:

./ankisiyuan.exe

需要在 Anki 中安装 anki-connect 拓展。

基础使用方法:

python -m ankisiyuan

需要在 Anki 与思源笔记同时运行时使用。

需要在运行目录下保存 config.toml 文件,大致形式如下:

[siyuan]
assets_replacement = "http://127.0.0.1:6806/assets/"
api_token = "your_api_token"

如果希望在其他设备上也能看到图片,可以将 http://127.0.0.1:6806/assets 替换成思源的图床地址。

请自行承担数据风险。

更新

一个较为稳妥的方式是卸载后再次安装。
需要注意,v0.1.0 之前的版本名称为 AnkiSiyuan,以后的版本为 ankisiyuan,大小写可能敏感。

pip uninstall ankisiyuan
pip install ankisiyuan

另一种方式:

pip install ankisiyuan --upgrade

二进制文件直接替换文件即可更新。

思源侧标记

需要对某个容器块进行标记,才会被同步到 Anki 中。

具体地,创建 ankilink 的属性,填写相应的配置。

推荐使用标题的形式。

背诵内容(在这里设置属性)

Card1
Ans

事实上,只要在目标卡片块的父亲块上打标记即可。比如说使用超级块打标记也是可以的。

例子

有关的内容语法,请查看 AnkiLink WikiAnkiIn Wiki

同步范围

每次同步都是增量同步,会在运行目录下保存上次同步的时间 last_sync_time 文件。

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

图片

在运行思源的设备上,可以通过 http://127.0.0.1:6806/assets 访问到图片。

也可以通过思源提供的图床嵌入到 Anki 中。

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

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

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