数据无价,谨慎使用
苦于 BookxNote 摘录不能和思源笔记一起整理、查看,思源和 BookxNote 的数据不能打通,尝试做了一些子程序,用来对 BookxNote 的数据进行一些操作,实现我的需求。由于是对 BookxNote 的数据直接进行操作,请谨慎使用所有修改、更新内容的子程序(链接)
可以实现什么功能?
- 思源笔记导入 BookxNote,并自动链接引用该条笔记的内容(思源脑图 - 动作信息 - Quicker)
- 更新 BookxNote 里的摘录内容
- 导出 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 内容
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于