【经验分享】BookxNote 本地文件交互

数据无价,谨慎使用

苦于 BookxNote 摘录不能和思源笔记一起整理、查看,思源和 BookxNote 的数据不能打通,尝试做了一些子程序,用来对 BookxNote 的数据进行一些操作,实现我的需求。由于是对 BookxNote 的数据直接进行操作,请谨慎使用所有修改、更新内容的子程序(链接

可以实现什么功能?

  1. 思源笔记导入 BookxNote,并自动链接引用该条笔记的内容(思源脑图 - 动作信息 - Quicker
  2. 更新 BookxNote 里的摘录内容
  3. 导出 BookxNote 摘录内容,并自定义导入思源格式

文件夹操作

新增文件夹

输入参数:

  1. bxnPath
  2. folderPath
  3. folderName

bxnPath:BookxNote 的 Note 路径

image.png

folderPath:指定新建文件夹的位置

  1. 输入现有文件夹名称,在该文件夹下新建文件夹。文件夹名可以通过“获取文件夹列表”子程序获取
  2. 留空,在根目录下新建文件夹

folderName:新建文件夹的名称(随便起一个名字即可)

image.png

获取文件夹列表

输入参数:

  1. bxnPath

bxnPath:BookxNote 的 Note 路径

输出参数:

  1. folderIDList
  2. folderNameList
  3. folder_name_id

folderIDList:文件夹 ID 列表

folderNameList:文件夹名列表

folder_name_id:文件夹名和文件夹 ID 组成的词典。文件夹名为键,文件夹 ID 为值

image.png

笔记本操作

新增笔记本

输入参数:

  1. bxnPath
  2. folderPath
  3. bookName

bxnPath:BookxNote 的 Note 路径

folderPath:指定新建文件夹的位置

  1. 输入现有文件夹名称,在该文件夹下新建笔记本。文件夹名可以通过“获取文件夹列表”子程序获取
  2. 留空,在根目录下新建笔记本

folderName:新建笔记本的名称(随便起一个名字即可)

image.png

获取笔记本列表

输入参数:

  1. bxnPath

bxnPath:BookxNote 的 Note 路径

输出参数:

  1. bookIDList
  2. bookNameList
  3. nb_name_id

bookIDList:笔记本 ID 列表

bookNameList:笔记本名列表

nb_name_id:笔记本名和笔记本 ID 组成的词典。笔记本名为键,笔记本 ID 为值

image.png

获取笔记本内书籍

输入参数:

  1. bxnPath
  2. noteBookList

bxnPath:BookxNote 的 Note 路径

noteBookName:需要查询的笔记本名

输出参数:

  1. idList
  2. nameList
  3. uuidList
  4. book_id_uuid
  5. book_name_id
  6. 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 为值。

image.png

笔记操作

新增单条笔记

输入参数:

  1. json
  2. title
  3. note
  4. annotation

json:BookxNote 的 Note/书名文件夹/markups.json

title:新增笔记的标题

note:新增笔记的内容(可以是 HTML 内容)

annotation:新增笔记的额外标注(可以用来放思源外链)

输出参数:

  1. json
  2. date
  3. uuid

json:增加笔记后的 json 内容

date:新增笔记的 date 信息。可用于 uuid 失效情况下作为定位标记(uuid 正常来说不会变化,BookxNote 的 bug 会导致 uuid 变动)

uuid:新增笔记的 uuid,全局唯一定位符

image.png

获取笔记信息

输入参数:

  1. json
  2. id
  3. date
  4. uuid

json:BookxNote 的 Note/书名文件夹/markups.json

id:笔记 ID,定位用,可通过 BookxNote 外链获取(非全局标识,不能用于合并、拆分笔记本)

uuid:笔记 uuid,定位用,可通过 id 提取对应 uuid(全局标识,可用于合并、拆分笔记本)

date:笔记生成时间,定位用,可通过 id 提取对应 date(一般不用这个定位,除非出现 uuid 变动的 bug。可用于合并拆分笔记本,不可用于从 PDF 导入的笔记)

输出参数:

  1. id
  2. date
  3. uuid
  4. annotations
  5. content
  6. docid
  7. page
  8. originaltext
  9. textblocks
  10. title
  11. imgfile
  12. rect

笔记相关的所有信息,具体功能见 BookxNote 外链参数详解(伪) - 链滴

image.png

更新指定笔记

输入参数:

  1. json
  2. id
  3. uuid
  4. date
  5. title
  6. quote
  7. note
  8. image
  9. annotation

json:需要修改的笔记,从 BookxNote 的 Note/书名文件夹/markups.json 获取

id:笔记的 ID,定位用

uuid:笔记的 uuid,定位用

date:笔记的生成时间,定位用

title:笔记需要更新的标题(不更新不用填)

quote:笔记需要更新的 originaltext(不更新不用填)

note:笔记需要更新的 content(不更新不用填)

image:笔记需要更新的图片(需要在 image 文件夹内有对应文件,不更新不用填)

annotation:笔记需要更新的额外标注(只能输入一个)

输出参数:

  1. json

json:更新后的 json 内容

image.png

链接操作

新增笔记链接

输入参数:

  1. json
  2. from_uuid
  3. to_uuid

json:需要修改的笔记,从 BookxNote 的 Note/书名文件夹/markups.json 获取

from_uuid:从该条笔记链接

to_uuid:链接到该条笔记

注:from、to 仅表示逻辑关系,在脑图中显示没有顺序区别

输出参数:

  1. json

json:更新后的 json 内容

image.png

获取链接信息

输入参数:

  1. json
  2. id
  3. date
  4. uuid

json:需要修改的笔记,从 BookxNote 的 Note/书名文件夹/markups.json 获取

id:笔记 ID,定位用,可通过 BookxNote 外链获取(非全局标识,不能用于合并、拆分笔记本)

uuid:笔记 uuid,定位用,可通过 id 提取对应 uuid(全局标识,可用于合并、拆分笔记本)

date:笔记生成时间,定位用,可通过 id 提取对应 date(一般不用这个定位,除非出现 uuid 变动的 bug。可用于合并拆分笔记本,不可用于从 PDF 导入的笔记)

输出参数:

  1. uuidListTo
  2. uuidListFrom

uuidListTo:指定的笔记链接到哪些笔记

uuidListFrom:哪些笔记链接到指定的笔记

image.png

更新指定链接

输入参数:

  1. json
  2. HookUUID
  3. OldUUID
  4. NewUUID

json:需要修改的笔记,从 BookxNote 的 Note/书名文件夹/markups.json 获取

HookUUID:指定需要修改的笔记(uuid)

OldUUID:取消这条笔记和指定笔记的链接

NewUUID:将这条笔记和指定笔记链接

输出参数:

  1. json

json:更新后的 json 内容

image.png

  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    4 引用 • 11 回帖 • 1 关注
  • 思源笔记使用心得
    248 引用 • 1050 回帖 • 30 关注
1 操作
mdzz2048 在 2022-05-25 12:36:04 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • dumojun101
    捐赠者

    感谢您的分享