• obsidian和zotero联动


    前言

    看了好多obsidian和zotero联动的视频和教程,终于还是下手了。

    obsidian和zotero之所有能够完美联动,很大程度上建立在这两个软件都有这活跃的第三方插件市场,只要肯花功夫挖掘,我相信是能玩出花来的。

    网上的多数联动是基于Better BibTex(zotero)、Zotero Obsidian Citations(zotero)和BibNotes Formatter(obsidian)这三个插件的,但是在将笔记导入obsidian后,如果zotero有数据的更新,则需要重新将笔记导入到obsidian中,而本文将通过Bibnotes Formatter(obsidian)、zotero-better-bibtex(zotero)和MarkDBConnect(zotero)这三款插件实现obsidian和zotero的同步更新,梦幻联动(妈妈再也不用担心我的学习了)。

    一、安装zotero-better-bibtex插件

    1. 下载插件
      官网下载最新的.xpi文件
      在这里插入图片描述
    2. 安装插件
      打开zotero,工具——>插件——>点击弹窗的右上角——>选择install add-on from file——>选择刚才下载的.xpi文件——>点击打开
      在这里插入图片描述
    3. 配置插件
      打开zotero的编辑——>首选项,进行zotero-better-bibtex的配置

    在这里插入图片描述

    • Citation keys
      Citation keys用于后面obsidian生成笔记的命名,可以根据自己的喜好酌情修改,这里我将citeKey设置成了auth.lower + '-' + year + '-' + shorttitle(3,3)
    • Export
      设置哪些字段不导出

    二、安装Bibnotes Formatter插件

    1. 下载插件
      官方地址下载zip文件(很奇怪,这个插件在社区插件市场中居然没有,这是我没有想到的)
      在这里插入图片描述
    2. 安装插件
      将解压后文件夹复制到Ob仓库/.obsidian/plugins中(.obsidian是隐藏文件夹),重启obsidian即可。
      在这里插入图片描述
    3. 配置插件
      在第三方插件页面激活安装的Bibnotes Formatter插件
      在这里插入图片描述
    • 从zotero中导出.json文件

    打开zotero,点击文件——>导出文献库(整个zotero文献库)
    选择导出格式为”BetterBibTeX JSON“
    选择”导出笔记“和”Keep updated“(导出文件会使JSON文件很大,因此不勾选,为在添加/删除/修改条目后自动更新导出的库,需要勾选”Keep updated“)
    在这里插入图片描述
    将json文件放在obsidian中创建zotero笔记文件夹下(没有多大,所以不用担心内存问题),在Better BibTeX的设置中可以查看和更改json的路径
    在这里插入图片描述

    • 将json文件的路径写入Bibnotes Formatter中

    第一个是json文件路劲,第二个是笔记保存路径(注意:都是相对路径
    在这里插入图片描述

    • 自定义笔记模板

    注意:要将下图中的{{citeKey}}改为@{{citeKey}},否则后面MarkDBConner会找不到md文件
    在这里插入图片描述

    # {{title}}
    
    ## Metadata
    - **CiteKey**: {{citekey}}
     - **Type**: {{itemType}}
     - **Title**: {{title}}, 
     - **Author**: {{author}}, 
     - **Year**: {{year}} ;
    - **Journal**: {{publicationTitle}}, 
    - **Pages**: {{pages}}
    - **Publisher**: {{publisher}},
    - **Location**: {{place}},
    - **DOI**: {{DOI}}
    ------
    
    
    ## Files and Links
    - **Url**: [Open online]({{url}})
    - **zotero entry**: {{localLibrary}}
    - **open pdf**: {{file}}
    
    - **Keywords**: {{keywordsAll}}
    
    ## Abstract
    {{abstractNote}}
    
    ----
    
    ## Comments
    {{UserNotes}}
    
    
    ----
    
    ## Extracted Annotations
    {{PDFNotes}}
    ****
    
    
    
    ## Summary
    
      
    ## Research Objective(s)
    
    
    ## Background / Problem Statement
    
    
    ## Method(s)
    
    
    ## Evaluation
    
    
    ## Conclusion
    
    
    ## Notes
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60

    Bibnotes Formatter插件默认使用电脑自带的PDF阅读器打开PDF文件,因此需要对插件做一定的修改。打开插件文件中的main.js文件,找到其中的createLocalFileLink()函数,用下面的代码替换

    function createLocalFileLink(reference2) {
      if (reference2.attachments.length == 0)
        return "{{localFile}}";
      const filesList = [];
      for (let attachmentindex = 0; attachmentindex < reference2.attachments.length; attachmentindex++) {
        if (reference2.attachments[attachmentindex].itemType !== "attachment")
          continue;
        // if (reference2.attachments[attachmentindex].path == void 0) {
        //   reference2.attachments[attachmentindex].path = "";
        // }
        // const attachmentPathCorrected = reference2.attachments[attachmentindex].path.replaceAll(" ", "%20");
        // const selectedfile = "[" + reference2.attachments[attachmentindex].title + "](file://" + attachmentPathCorrected + ")";
        if (reference2.attachments[attachmentindex].uri == void 0) {
          reference2.attachments[attachmentindex].uri = "";
        }
        const selectedfileUri = reference2.attachments[attachmentindex].uri
        const attachmentKey = selectedfileUri.split('/')[selectedfileUri.split('/').length - 1]
        selectedfile = "[" + reference2.attachments[attachmentindex].title + "](zotero://select/library/items/" + attachmentKey + ")";
        if (reference2.attachments[attachmentindex].title.endsWith('pdf')) {
          selectedfile = selectedfile.replaceAll("zotero://select/","zotero://open-pdf/");
        }
        filesList.push(selectedfile);
      }
      const filesListString = filesList.join("; ");
      return filesListString;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    替换效果如下:
    在这里插入图片描述

    三、安装MarkDBConnect插件

    1. 下载插件
      官网下载.xpi文件
      在这里插入图片描述

    2. 安装插件
      与zotero-better-bibtex插件的安装方法一样,这里不再赘述。

    3. 配置插件
      打开zotero,点击工具——>MarkDBConnect Preferences,进入配置页面,填写Bibnotes Formatter文献笔记的保存路径(也就是obsidian的文献笔记路径)
      在这里插入图片描述

    应用

    1. 打开obsidian,Ctrl+P调出命令面板,输入bib,选择BibNotes Formatter: Create/Update Literature Note,然后选择想要阅读的文献即可
      在这里插入图片描述
      BibNotes Formatter共有两条命令:
    • BibNotes Formatter: Update Library
      生成/更新自从上一次执行此命令以来,在zotero中修改的所有笔记。
      如果第一次选择此命令,插件将为导入所有条目创建/更新文献信息。

    • BibNotes Formatter: Create/Update Literature Note
      选择文献并生成对应的文献笔记。如果笔记已经存在,其内容将被更新,不会被覆盖。第一项是为文献库中的所有文献创建笔记(慎点
      在这里插入图片描述

    1. 按照上述方法操作会在设置的文献笔记保存路径下生成一个名为{{citeKey}}的md文件,如下图所示,在此文件中会自动提取你在zotero自带阅读器中所做的笔记
      在这里插入图片描述
    2. 使用MarkDBConnect插件将zotero文献链接到obsidian中的笔记文件
    • 点击zotero菜单栏中的工具——>MarkDBConnect Sync Tags,插件会自动找到已在obsidian中生成的md笔记文件并与对应的文献关联
    • 关联以后即可从zotero中打开obsidian生成的文献笔记(右击已关联文献笔记的文献条目)
    • 在阅读完一篇论文时,可能会在论文中做许多标记,此时右击选择”从注释中添加笔记“会将pdf中做的笔记和高亮部分提取出来,然后在obsidian中运行再次运行BibNotes Formatter: Create/Update Literature Note命令即可将更改的信息全部同步至obsidian文献笔记中,不会覆盖前一次的笔记,同时也会记录每一次的阅读笔记,当然也可以在阅读完文献以后再生成阅读笔记,此过程可反复操作

    至此zotero和Obsidian的联动就完成了,可以很方便地在两个软件中进行双向链接

    参考:https://blog.csdn.net/qq_43309940/article/details/125150487

  • 相关阅读:
    linux 内核漏洞利用 pt_regs 构造 kernel ROP
    Flink集群配置
    聊聊什么是SpringBoot 的自动装配原理
    保证接口数据安全的10种方案
    字符串模糊匹配正则实现(js,javascript)
    Go 实现程序优雅退出
    面试复习整理
    彻底搞懂blob对象,实现文件下载,文件分片技术
    nodejs+vue网络课程在线考试系统an7ib
    空间转录组分析之细胞Niche(python)版本
  • 原文地址:https://blog.csdn.net/qq_44770178/article/details/128135049