最新内容在该文档中更新。
同步至语雀

Github 地址:https://github.com/Clouder0/SiyuanYuque

安装

使用 pip 进行安装。

  1. pip install SiyuanYuque

执行:

  1. python -m SiyuanYuque

记得在执行目录下创建 sqconfig.toml 文件,内容类似:

  1. user_token = ""
  2. siyuan_token = ""
  3. api_host = "https://www.yuque.com/api/v2"
  4. last_sync_time = "20210915225457"

填写 user_token 和 siyuan_token.

同步至语雀 - 图1

同步至语雀 - 图2

同步至语雀 - 图3

在思源中设置属性

只支持文档块级别的同步。

像这样设置属性:

同步至语雀 - 图4

  1. yuque: true
  2. yuque-workspace: your workspace

Workspace 格式: username/repo,注意这里需要使用 URL 中的名称,例如 https://www.yuque.com/clouder0/siyuan 的名称为 clouder0/siyuan

然后运行 python -m SiyuanYuque,再次查看属性:

同步至语雀 - 图5

一个 yuque-id 会被附加到属性中。不要手动更改该值,否则会导致与语雀文档的绑定失效。

同步到语雀的文档不能在语雀上更改,否则全部更新的内容将会在下次同步时被覆盖。

自定义同步

现在支持按 SQL 查询结果自定义同步。

一个简单的例子:

  1. user_token = ""
  2. siyuan_token = ""
  3. api_host = "https://www.yuque.com/api/v2"
  4. last_sync_time = "20210916223903"
  5. assets_replacement = "https://b3logfile.com/siyuan/1609132319768/assets"
  6. [[custom_sync]]
  7. sql = "select * from blocks where hpath like '%Math/%' and type='d'"
  8. yuque-workspace = "clouder0/gaokao"

如果需要多个自定义同步,语法如下:

  1. user_token = ""
  2. siyuan_token = ""
  3. api_host = "https://www.yuque.com/api/v2"
  4. last_sync_time = "20210916223903"
  5. assets_replacement = "https://b3logfile.com/siyuan/1609132319768/assets"
  6. [[custom_sync]]
  7. sql = "select * from blocks where hpath like '%Math/%' and type='d'"
  8. yuque-workspace = "clouder0/gaokao"
  9. [[custom_sync]]
  10. sql = "select * from blocks where hpath like '%Chinese/%' and type='d'"
  11. yuque-workspace = "clouder0/gaokao"

更多配置

还有一些可选的配置写在块属性中。

同步至语雀 - 图6

yuque-public: 设置为 1 则公开,0 则不公开,默认公开。

yuque-slug: 语雀上的文档网址,https://www.yuque.com/siyuannote/docs/siyuanyuque

图片地址替换

通过图片地址替换,可以直接使用思源的图床。

修改 assets_replacement 配置项即可。

内部引用

在思源笔记中,导出选项中设置块引用为导出链接。

同步到语雀时,siyuan:// 将被替换为 https://yuque.com/{workspace},如果引用的是在语雀上处于相同仓库的文档块,那么就可以直接访问。
对于非文档块,链接将转为对应的文档块。(TODO)

语雀空间

如果选择使用语雀空间,则只能同步到语雀空间中,而不再能同步到公开的语雀上。
理论上可以同时兼容,但暂时没有遇到这样的需求,暂且搁置这个特性。

修改配置中的 api_host 即可,例如空间 clouder.yuque.com 则改为:

  1. api_host = "https://clouder.yuque.com/api/v2"