【已解决】利用douban插件,将图书信息下载后再按需要的格式填写

我大概看明白了

原先的使用方式: bookfromdouban.js 用于抓取豆瓣数据, 自己定制了模板用于辅助填几个固定选项 (介质 阅读状态 …), 其中定制模板中后加的部分是拿 Templater 做的, 但整个操作是在 QuickAdd 里完成的

现在被迫的使用方式: 拿 obsidian-douban 抓豆瓣的公开基础元数据, 拿自己的模板辅助录入个人数据, 再把两笔记融在一起


根据现状, 我觉得最简洁的改法是借助 QuickAdd Script Yet another douban book script - 经验分享 - Obsidian 中文论坛 实测这个可以抓到大部分豆瓣基本数据

如图, 左侧作者提供的默认模板, 右侧抓取结果, 可以看到除了命名跟 bookfromdouban.js 不同 (cover → coverUrl, pagecount → pageCount 等等), 其实也没差别


具体是:

  1. 首先备份原先数据 (至少整个 Ob 仓库打个压缩包就行)
  2. 整个流程还是用 QuickAdd + 自己本地脚本, 不用豆瓣插件
  3. Obsidian-scripts/scripts/fetchDoubanBook.js · Pray3r/Obsidian-scripts 代替 bookfromdouban.js
    • 正常的替代方式, 应该是造个新 QuickAdd macro, 里面两行: 第一行调用户脚本 fetchDoubanBook.js ; 第二行还填自己的用户模板, 这样子比较清楚, 未来不会混
    • 如果实在不想弄 QuickAdd 的一大堆选项, 把代码抄到 bookfromdouban.js 应该也行…
  4. 设法抹平 “抓取的数据 vs 本地模板期待的数据” 之间的命名差异, 需要让 “自己的模板笔记” 和 fetchDoubanBook.js 的命名协调
    • 本地模板里, 所有的私人属性例如 介质: <% tp.system.suggester(["纸书", "电子书", "视频"], ["纸书", "电子书", "视频"]) %> 全都不变, 还能用
    • 但是来自豆瓣的那几个属性, 要么改掉 “本地模板的写法”, 要么改掉 fetchDoubanBook.js 的写法

总之目前我觉得就是这么一回事
如果我正确理解了楼主这个问题, 那我们可以试试这些方案

我可能会首选: 保持 fetchDoubanBook.js 不动 + 造个新 QuickAdd macro + 改掉 “本地模板的写法” (嗯, 可能稍微有点折腾)

要是楼主同意的话, 我们可以试试上面的办法

不行的话就再琢磨更简单的方案