数据无价,谨慎使用
苦于BookxNote摘录不能和思源笔记一起整理、查看,思源和BookxNote的数据不能打通,尝试做了一些子程序,用来对BookxNote的数据进行一些操作,实现我的需求。由于是对BookxNote的数据直接进行操作,请谨慎使用所有修改、更新内容的子程序(链接)
可以实现什么功能?
- 思源笔记导入BookxNote,并自动链接引用该条笔记的内容(思源脑图 - 动作信息 - Quicker)
- 更新BookxNote里的摘录内容
-
文件夹操作
新增文件夹
输入参数:
bxnPath
- folderPath
- folderName
bxnPath:BookxNote的Note路径
folderPath:指定新建文件夹的位置
- 输入现有文件夹名称,在该文件夹下新建文件夹。文件夹名可以通过“获取文件夹列表”子程序获取
- 留空,在根目录下新建文件夹
folderName:新建文件夹的名称(随便起一个名字即可)
获取文件夹列表
输入参数:
- bxnPath
bxnPath:BookxNote的Note路径
输出参数:
- folderIDList
- folderNameList
- folder_name_id
folderIDList:文件夹ID列表
folderNameList:文件夹名列表
folder_name_id:文件夹名和文件夹ID组成的词典。文件夹名为键,文件夹ID为值
笔记本操作
新增笔记本
输入参数:
- bxnPath
- folderPath
- bookName
bxnPath:BookxNote的Note路径
folderPath:指定新建文件夹的位置
- 输入现有文件夹名称,在该文件夹下新建笔记本。文件夹名可以通过“获取文件夹列表”子程序获取
- 留空,在根目录下新建笔记本
folderName:新建笔记本的名称(随便起一个名字即可)
获取笔记本列表
输入参数:
- bxnPath
bxnPath:BookxNote的Note路径
输出参数:
- bookIDList
- bookNameList
- nb_name_id
bookIDList:笔记本ID列表
bookNameList:笔记本名列表
nb_name_id:笔记本名和笔记本ID组成的词典。笔记本名为键,笔记本ID为值
获取笔记本内书籍
输入参数:
- bxnPath
- noteBookList
bxnPath:BookxNote的Note路径
noteBookName:需要查询的笔记本名
输出参数:
- idList
- nameList
- uuidList
- book_id_uuid
- book_name_id
- book_name_uuid
idList:书籍对应的ID,是markup.json里的doc_id
nameList:书籍对应的本地文件名称列表,是markups.json 里的书籍 title(带PDF或epub后缀)
uuidList:书籍对应的uuid列表
book_id_uuid:书籍id和uuid的组成的词典,id为键,uuid为值。可用于markups.json里通过doc_id定位书籍uuid
book_name_id:书籍name和书籍ID组成的词典,name为键,id为值。
book_name_uuid:书籍name和书籍uuid组成的词典,name为键,uuid为值。
笔记操作
新增单条笔记
输入参数:
- json
- title
- note
- annotation
json:BookxNote的Note/书名文件夹/markups.json
title:新增笔记的标题
note:新增笔记的内容(可以是HTML内容)
annotation:新增笔记的额外标注(可以用来放思源外链)
输出参数:
- json
- date
- uuid
json:增加笔记后的json内容
date:新增笔记的date信息。可用于uuid失效情况下作为定位标记(uuid正常来说不会变化,BookxNote的bug会导致uuid变动)
uuid:新增笔记的uuid,全局唯一定位符
获取笔记信息
输入参数:
- json
- id
- date
- uuid
json:BookxNote的Note/书名文件夹/markups.json
id:笔记ID,定位用,可通过BookxNote外链获取(非全局标识,不能用于合并、拆分笔记本)
uuid:笔记uuid,定位用,可通过id提取对应uuid(全局标识,可用于合并、拆分笔记本)
date:笔记生成时间,定位用,可通过id提取对应date(一般不用这个定位,除非出现uuid变动的bug。可用于合并拆分笔记本,不可用于从PDF导入的笔记)
输出参数:
- id
- date
- uuid
- annotations
- content
- docid
- page
- originaltext
- textblocks
- title
- imgfile
- rect
笔记相关的所有信息,具体功能见BookxNote 外链参数详解(伪) - 链滴
更新指定笔记
输入参数:
- json
- id
- uuid
- date
- title
- quote
- note
- image
- annotation
json:需要修改的笔记,从BookxNote的Note/书名文件夹/markups.json获取
id:笔记的ID,定位用
uuid:笔记的uuid,定位用
date:笔记的生成时间,定位用
title:笔记需要更新的标题(不更新不用填)
quote:笔记需要更新的originaltext(不更新不用填)
note:笔记需要更新的content(不更新不用填)
image:笔记需要更新的图片(需要在image文件夹内有对应文件,不更新不用填)
annotation:笔记需要更新的额外标注(只能输入一个)
输出参数:
- json
json:更新后的json内容
链接操作
新增笔记链接
输入参数:
- json
- from_uuid
- to_uuid
json:需要修改的笔记,从BookxNote的Note/书名文件夹/markups.json获取
from_uuid:从该条笔记链接
to_uuid:链接到该条笔记
注:from、to仅表示逻辑关系,在脑图中显示没有顺序区别
输出参数:
- json
json:更新后的json内容
获取链接信息
输入参数:
- json
- id
- date
- uuid
json:需要修改的笔记,从BookxNote的Note/书名文件夹/markups.json获取
id:笔记ID,定位用,可通过BookxNote外链获取(非全局标识,不能用于合并、拆分笔记本)
uuid:笔记uuid,定位用,可通过id提取对应uuid(全局标识,可用于合并、拆分笔记本)
date:笔记生成时间,定位用,可通过id提取对应date(一般不用这个定位,除非出现uuid变动的bug。可用于合并拆分笔记本,不可用于从PDF导入的笔记)
输出参数:
- uuidListTo
- uuidListFrom
uuidListTo:指定的笔记链接到哪些笔记
uuidListFrom:哪些笔记链接到指定的笔记
更新指定链接
输入参数:
- json
- HookUUID
- OldUUID
- NewUUID
json:需要修改的笔记,从BookxNote的Note/书名文件夹/markups.json获取
HookUUID:指定需要修改的笔记(uuid)
OldUUID:取消这条笔记和指定笔记的链接
NewUUID:将这条笔记和指定笔记链接
输出参数:
- json
json:更新后的json内容