GNU General Public License v3.0

技术解读

以下内容由 GitRead 中文社区 编辑团队基于项目 README 与官方资料整理, 结合中文开发者的常见使用场景补充技术选型建议。具体以项目官方文档为准。

深度分析 GitHub 仓库 anoopkcn/obsidian-reference-map

项目背景与痛点

在文献检索和综述的过程中,常常需要追踪引用和参考文献,以便进行更为全面透彻的研究。然而,手动查找和整理这些文献不仅耗时,而且容易出错。anoopkcn/obsidian-reference-map 提供了一个解决方案,帮助研究者更高效地组织和管理文献引用。

核心技术揭秘

架构与实现原理

项目的实现基于 Obsidian 的插件框架,通过提供一个映射和引用功能,将文献引用关系绘制成图,方便用户访问和浏览。让我们一起深入了解其架构和技术实现细节。

graph TD A[用户输入] --> B[插件触发] B --> C{"解析请求"} C -->|"成功"| D[生成引用图] C -->|"失败"| E[错误日志] D --> F[用户界面展示] D --> G{"用户操作"} G -->|"新增"| H[新节点生成] G -->|"编辑"| I[节点更新] G -->|"删除"| J[节点移除]

该插件首先通过用户输入触发(如在笔记中插入特定指令),然后解析这些输入以获取需要的相关文献信息。解析成功后,插件将生成一个引用图,展示文献之间的关系。这个引用图最终通过 Obsidian 的用户界面展示给用户,用户可以通过它新增、编辑或删除节点,以进一步管理文献关系图。

核心技术栈

  • Obsidian API:用于读取和写入 Obsidian 的笔记内容。
  • JavaScript:开发语言,利用 Obsidian 的插件框架编写。
  • Front Matter:用于在笔记文件中存储和处理元数据。

功能亮点与差异

相对于其他笔记工具和文献管理工具,anoopkcn/obsidian-reference-map 最重要的特点在于它的可视化能力和紧密集成。它将文献查找和整理与笔记写作过程融合在一起,节省了大量手动操作时间,提高了工作效率。特别是可视化方面,它允许用户直观地查看文献引用结构,有助于更好地理解文献内容和相互关系。

应用场景与落地建议

该插件对于从事文献研究、综述编写的研究者或者任何需要管理大量参考文献的人是非常有用的工具。在使用时,注意维护好笔记的清晰结构和标记,有助于充分利用插件的功能。此外,也需留意更新插件和配合使用 Obsidian 的其他功能,如标签和引用链接管理,以实现最佳体验。

综合评价

优点

  1. 集成化:与 Obsidian 完美集成,提供了一个无缝的文献管理与笔记写作体验。
  2. 可视化:通过引用图让文献间的联系一目了然。
  3. 节省时间:显著减少了手动管理和查找文献引用的时间。

缺点

  1. 依赖于 Obsidian:受影响于 Obsidian 插件 API 的限制。
  2. 复杂设置:可能需要一些配置和标记才能发挥最佳效果。

总的来说,anoopkcn/obsidian-reference-map 是文献管理领域的一颗明珠,尤其是在处理大量引用文献时表现出优越的性能和效率。但使用时需要一定时间熟悉和适应其功能和操作。

关于

GitHub 原始描述(英文)

Reference and citation map for literature review and discovery

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

语言占比

CSS
JavaScript
TypeScript

Release

README

MIT license Downloads GitHub version Build Status Release Date

ORM-Header-logo

Reference Map

Reference Map is a plugin for Obsidian that helps you manage and create/discover references and citations. It provides a sidebar view to manage cited/citing references of your bibliography. You can use it to create a reference map for a paper(s). You can also quickly look up published documents related to a subject using the search functionality.

More information is available on the Wiki page.

ORM-demo

Contents

  1. Requirements
  2. Installation
  3. Usage
  4. Configuration

Requirements

  • Obsidian with community plugins enabled

Installation

From Community Plugins

The plugin is available in the Obsidian’s Community Plugin Tab via:

Settings → Community Plugins → Browse → Search for “Reference Map”

Manual Installation

  1. Download the latest release from here and unzip it.
  2. Copy the obsidian-reference-map folder to your vault’s .obsidian/plugins folder.
  3. Reload Obsidian.
  4. Enable the plugin in the community plugins section.

You can also use the BRAT plugin to install the latest release.

Usage

This README.md file contains the basic description of the plugin. For a detailed guide please refer to the Wiki page.

Main features:

  • Reference Map Sidebar - View details of your references in the current document.
  • Reference Map Search - Search for references online to create or insert details.
  • Reference Map Graph - A graph view showing all the references and their citing/cited references and connection between them.

Reference Map Sidebar

ORM-demo

Reference Map Sidebar View contains Index cards and citing/cited cards.

Index Cards are detected from the markdown document using ID’s(see the Static Reference List section below)

Citing/cited cards show a searchable and sortable list of cited and citing papers of a reference contained in the index card.

Each Index card or citing/cited card in the view will show the following information:

Button Section Description On Click
text Title Title of the paper Open the paper in Semantic Scholar
Abstract Abstract of the paper (Default=OFF) -
text Authors Authors of the paper Open the author’s details in Semantic Scholar
Year Year of publication -
text citekey Pandoc citekey (Default=OFF) Open reference in the Zotero Library
(1) Metadata copy User defined format of metadata. Default=bibtex of the paper Copy the <bibtex> to the clipboard (If Batch copy is enabled it will copy <bibtex> for all the cited paper)
(2) Metadata copy User defined format of metadata Default=Formatted metadata details Copy the <metadata> to the clipboard (If Batch copy is enabled it will copy <metadata> for all the cited paper)
(3) Metadata copy User defined format of metadata. Default=Reference title as wikilink (Default=OFF) Copy the <wikilink> to the clipboard (If Batch copy is enabled it will copy <wikilink> for all the cited paper)
(4) PDF Open Access PDF of the paper Open the Open Access PDF of the paper if it is present for a reference
(5) Reference count Number of references Open a searchable list of all cited papers (References)
(6) Citation count Number of citations Open a searchable list of all citing papers (Citations)
Influential citation count Number of influential citations (Default=OFF) -

You can customize the content of metadata buttons(1,2,3) according to your workflow, possible variables for the metadata template for the buttons copy/create contents are listed in the settings tab

Batch operations are exclusive to Index Cards

ORM-ref-cite

Static Reference List

Reference IDs (DOI, arxiv, corpusID, URL, citeKey, etc,.) that are found in the current document are listed in the Reference Map view. Valid IDs can be added anywhere in the document and they will be detected.

The following types of IDs are supported:

ID Syntax Description Example
DOI:<doi> A Digital Object Identifier. DOI:10.18653/v1/N18-3011 or 10.18653/v1/N18-3011v1
@<citekey> Zotero citekey(Default=OFF)* @smith2019attention
ARXIV:<id> arXiv.org ARXIV:2106.15928
MAG:<id> Microsoft Academic Graph MAG:112218234
PMID:<id> PubMed/Medline PMID:19872477
PMCID:<id> PubMed Central PMCID:2323736
URL:<url> URL from sites URL:https://arxiv.org/abs/2003.05991
CorpusId:<id> Semantic Scholar numerical ID CorpusId:215416146

*To enable CiteKey support(for Zotero or for other reference managers), Activate Pull from zotero option and select a library OR one has to provide a Bibtex CSL JSON(Better BibTex Zotero Plugin feature, auto updates with changes in the library) or CSL JSON(Generic CSL library from any reference manager) file or BibTeX file with .bib extension. Once enabled in the settings, the plugin can recognize the citekey entries.

[!IMPORTANT]
Make sure in Zotero library DOI field(or the URL field) contains a valid ID. Otherwise metadata from the local Library is shown in the sidebar(with no metadata from online sources)

For Static Reference List, selecting the ID in the markdown file will highlight the corresponding card in the Reference Map Sidebar view.

Dynamic Reference List

The Reference Map Sidebar view can also be configured to show a list of references that correspond to the filename of the note or frontmatter keywords. Check out the settings tab to configure the plugin behaviour

Example: For a file named Attention is all you need.md cards will be displayed for references that match Attention+all+need.

For frontmatter keywords, you can configure a keyword to be used for reference search. By default, the keyword is keywords.

Example: For a frontmatter given as follows:

---
keywords: autoencoders, machine learning
---

Cards will be displayed for references that match autoencoders+machine+learning.

Note that since new references are added to the database regularly the dynamic list might not stay the same each time you open the file. Especially for generic keywords like machine learning, deep learning, history etc.

This feature can be used for keeping up to date with the latest research in a specific field as well

ORm-search-demo

Search for references and citations online to create or insert details. You can locate the commands by opening the Obsidian command palette (Ctrl/Cmd + P) and typing Reference Map. By default no hotkeys are se for the commands, but you can easily add them in the Hotkeys tab.

If you select a text in the current document and then issue the command the selected text will be used as the search query.

Command Description Hotkey
Reference Map: Search and Insert Search for references online to insert details in the current document. -
Reference Map: Search and Create Search for references online to create a new markdown file using the details -

You can configure the template for both commands in the settings tab.

Reference Map Graph

ORM-graph-demo Open command palette and run Reference Map: Open Literature Graph to open the graph view. Reveal connection between the entries. Size of each node indicating the citations it received

  • Click on a node to show the details on top of the graph
  • Hover to show the title.
  • Pan to zoom in/out (you can also use node right click to zoom in/out)
  • Drag to move the graph
  • Drag a node to move it around and fix it in place

[!IMPORTANT]
Reference map graph will show details of published papers. It will not show details for entries corresponding to videos, webpages, twitter, etc,. in your local library but it is shown in the sidebar view.

Configuration

If you want to configure the style of the view you can use the Obsidian-style-settings plugin.

The settings tab contains options to configure the behaviour of the plugin.

Please feel free to open an issue if you find any bugs or have any suggestions at GitHub Issues Page

评论

暂无评论