Zotero Bridge

by Shmavon Gazanchyan
5
4
3
2
1
Score: 68/100

Description

Category: 3rd Party Integrations

The Zotero Bridge plugin is a game-changer for Obsidian users who rely on Zotero for their research and note-taking. This plugin provides APIs that allow other plugins to connect to Zotero, making it easy to integrate your favorite citation management tool with Obsidian. With the Zotero Bridge, you can search for items in your Zotero library, access item metadata, and even automate tasks using user scripts. The potential use cases are endless, from generating citations and bibliographies to creating custom templates and workflows. Whether you're a researcher, writer, or student, this plugin is sure to enhance your Obsidian experience.

Reviews

No reviews yet.

Stats

76
stars
15,170
downloads
16
forks
1,496
days
14
days
14
days
9
total PRs
0
open PRs
4
closed PRs
5
merged PRs
10
total issues
0
open issues
10
closed issues
34
commits

Latest Version

15 days ago

Changelog

Fixes backwards compatibility issues with Zotero 6 (ZotServer), please update.

README file from

Github

Obsidian Zotero Bridge Plugin

Obsidian-Zotero integration plugin that provides APIs for other plugins to connect to Zotero.

Prerequisites

Zotero >= 7

Enable Local API feature in settings: Settings > Advanced > Allow other applications on this computer to communicate with Zotero

Zotero <= 6

Install Zotero addon ZotServer

Configuration

The plugin settings screen provides the following options:

  • Connection typeZotero 6 ZotServer Plugin or Zotero 7 Local API (v3)
  • User or group – which library to search: your personal library or one of your group libraries (Zotero 7 connection type only)
  • Zotero server port – defaults to 23119; don't change unless you really know what you are doing

How to use

Zotero Bridge provides APIs for other plugins to connect to Zotero.

Example of such consumer plugin is Zotero Link.

APIs of this plugin are published with Obsidian plugin api library and can be used anywhere in Obsidian.

PluginApi.ZoteroBridge.v1().search() opens a search modal and returns a promise that resolves with the selected ZoteroItem. Its getValues() method returns an object with the following properties, ready for use in templates:

  • key – Zotero item key
  • libraryUri – library path for zotero:// URIs: groups/<id> for group library items, library for the personal library
  • title – item title
  • shortTitle – item short title
  • date – structured date object with year, month and day properties
  • authors – array of authors, each with firstName, lastName and fullName
  • firstAuthor – first author of the item
  • creatorSummary – creator summary as displayed by Zotero, e.g. "Smith and Jones"

Example use of Zotero Bridge APIs in Templater user scripts:

zotero.js user script:

module.exports = async function () {
    const item = await PluginApi.ZoteroBridge.v1().search();
    return (prop) => dotAccess(prop, item.getValues());
}

function dotAccess(str, obj) {
    return str.split('.').reduce((previousValue, currentValue) => previousValue[currentValue], obj);
}

This function can now be used in templates:

(this example is taken from https://github.com/vanakat/zotero-bridge/pull/2)

<%* const zi = await tp.user.zotero() %>


<% zi('firstAuthor.lastName') %><%* if (zi('authors.length')  == 2) { %> and <% zi('authors')[1].lastName %><%* } else if (zi('authors.length') > 2) { %> et al.<%* } %> <% zi('date.year') %> <% zi('title') %>

How to contribute

  1. Fork and clone this repository
  2. Link this directory to your plugins directory: ln -sfn <this-directory> <your-test-vault>/.obsidian/plugins/zotero-bridge
  3. npm install to install all dependencies
  4. npm run dev will run development server
  5. Reload your Obsidian with test vault open
  6. npm test runs the Jest test suite

Please refer to following helpful resources:

Other Zotero integration plugins

While working on this plugin I found another Zotero integration one called Zotero Integration. If you are looking for a citation/bibliography integration with Zotero it might be a good option for you.

License

MIT

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.