Obsidian-Zotero integration plugin that provides APIs for other plugins to integrate with Zotero.
Requires ZotServer addon installed in your Zotero
Zotero Bridge provides APIs for other plugins to connect to Zotero with installed ZotServer addon.
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.
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 vanakat#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') %>
- Fork and clone this repository
- Link this directory to your plugins directory:
ln -sfn <this-directory> <your-test-vault>/.obsidian/plugins/obsidian-zotero
npm install
to install all dependenciesnpm run dev
will run development server- Reload your Obsidian with test vault open
Please refer to following helpful resources:
- Unofficial Obsidian API docs
- Official Obsidian API definition file
- ZotServer repository for documentation on API
- Zotero search API code for the most up-to-date search API documentation
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.
MIT