Sync SiYuanNote & Yuque.
- Sync Setting in doc attribute.
- Batch Sync Via SQL
- SiYuan Image Hosting Supported
- Internal Link Supported
Use pip to install.
pip install SiyuanYuque
Execute like this:
python -m SiyuanYuque
Remember to create a sqconfig.toml
config file in the current directory.
user_token = ""
siyuan_token = ""
api_host = "https://www.yuque.com/api/v2"
last_sync_time = "20210915225457"
Fill in your Yuque user_token and siyuan_token.
You can only sync documents to Yuque.
Set Attributes like this:
yuque: true
yuque-workspace: your workspace
Workspace format: username/repo
Then run python -m SiyuanYuque
, and check the attributes again.
You'll see yuque-id
appended to your document's attributes. Don't manually modify this unless you know what you are doing.
That's the basic usage for the time being.
Remember not to edit the documents sync from SiYuan, as the update will be lost upon the next sync.
It is supported to sync documents by SQL.
A simple example:
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"
Multiple custom syncs can be defined.
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 for public and 0 for private.
yuque-slug: the slug of the document. https://www.yuque.com/siyuannote/docs/siyuanyuque
Replace the assets
string in your markdown content to support SiYuan online image.
SiYuan-Setting: Ref Block: Anchor Text with block URL.
This script will replace siyuan://blocks
with https://yuque.com/{workspace}
so that your ref blocks that have been exported and in the same workspace of yuque will be accessible.
For yuque square, you can modify api_host
to operate in squares.
For example, you'd like to sync in a square clouder.yuque.com
, then you should change your config:
api_host = "https://clouder.yuque.com/api/v2"
Do bear in mind that once you decide to use a square, you can no longer stay synced with the original public www.yuque.com
.
Theoretically, there exists the possibility to support both at the same time, but I haven't seen such demand yet.