最新内容在该文档中更新。
同步至语雀
Github 地址:https://github.com/Clouder0/SiyuanYuque
安装
使用 pip 进行安装。
pip install SiyuanYuque
执行:
python -m SiyuanYuque
记得在执行目录下创建 sqconfig.toml
文件,内容类似:
user_token = ""
siyuan_token = ""
api_host = "https://www.yuque.com/api/v2"
last_sync_time = "20210915225457"
填写 user_token 和 siyuan_token.
在思源中设置属性
只支持文档块级别的同步。
像这样设置属性:
yuque: true
yuque-workspace: your workspace
Workspace 格式: username/repo
,注意这里需要使用 URL 中的名称,例如 https://www.yuque.com/clouder0/siyuan
的名称为 clouder0/siyuan
然后运行 python -m SiyuanYuque
,再次查看属性:
一个 yuque-id
会被附加到属性中。不要手动更改该值,否则会导致与语雀文档的绑定失效。
同步到语雀的文档不能在语雀上更改,否则全部更新的内容将会在下次同步时被覆盖。
自定义同步
现在支持按 SQL 查询结果自定义同步。
一个简单的例子:
user_token = ""
siyuan_token = ""
api_host = "https://www.yuque.com/api/v2"
last_sync_time = "20210916223903"
assets_replacement = "https://b3logfile.com/siyuan/1609132319768/assets"
[[custom_sync]]
sql = "select * from blocks where hpath like '%Math/%' and type='d'"
yuque-workspace = "clouder0/gaokao"
如果需要多个自定义同步,语法如下:
user_token = ""
siyuan_token = ""
api_host = "https://www.yuque.com/api/v2"
last_sync_time = "20210916223903"
assets_replacement = "https://b3logfile.com/siyuan/1609132319768/assets"
[[custom_sync]]
sql = "select * from blocks where hpath like '%Math/%' and type='d'"
yuque-workspace = "clouder0/gaokao"
[[custom_sync]]
sql = "select * from blocks where hpath like '%Chinese/%' and type='d'"
yuque-workspace = "clouder0/gaokao"
更多配置
还有一些可选的配置写在块属性中。
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
则改为:
api_host = "https://clouder.yuque.com/api/v2"