Connect locally to Zotero 8 (and above) and pull your items into Logseq without needing to sync with Zotero Cloud.
- Supports Logseq-DB only
- Direct connection to Zotero 7+ without needing to sync with Zotero Cloud
- Customisable templates
- Easy insertion of Zotero items into your graph
- Track which items are already in your graph
- Fuzzy search for the articles that you want to insert
- Sync new annotations from Zotero to existing pages
- Recommended: Install from the Logseq marketplace.
- Alternative: Download a release and manually load it in Logseq.
- Close Logseq.
- Ensure Zotero 7 is running, and then:
- In settings, under
Advanced, checkAllow other applications on this computer to communicate with Zotero. - (only if you want to citation keys) Install Better Bibtex.
- In the Better Bibtex section of your Zotero settings, ensure that
Automatically pin citation key after X secondsis set to1. - Note: Citation keys need to be both set up and pinned in Zotero 7 in order to use citation keys in Logseq. If you have issues setting this up, please seek help at the Zotero or Better Bibtex forums as I may not be as familiar.
- Restart Zotero.
- In settings, under
- Open Logseq, and then plugin settings.
- Verify that "Connection to Zotero is working" is checked.
- Complete the rest of the plugin settings.
- Ensure that you have completed the DB-related settings in the plugin settings.
- Trigger the command palette (
Mod+Shift+P) and useAdd Zotero schema to Logseqto configure the property types used by Zotero. - If you encounter any issues, try using the following commands from the command palette:
Remove all created schem: This removes all the schema created by the pluginReset current settings: This resets all settings to default. Restart Logseq after using this command.`
Proceed to step 1 below.
- Create a Zotero template:
- Go to any page that will hold your Zotero template.
- Type
/Insert Zotero template. - A sample template will be generated (example below). Customize as needed.
Note: The <% notes %> should not be in the page properties as the content can be very long
- If you change the template name, update it in the plugin settings.
accessDate:: <% accessDate %>
attachments:: <% attachments %>
citeKey:: <% citeKey %>
collections:: <% collections %>
authors:: <% creators %>
date:: <% date %>
dateAdded:: <% dateAdded %>
dateModified:: <% dateModified %>
DOI:: <% DOI %>
ISBN:: <% ISBN %>
ISSN:: <% ISSN %>
issue:: <% issue %>
itemTitle:: <% title %>
itemType:: <% itemType %>
journalAbbreviation:: <% journalAbbreviation %>
key:: <% key %>
language:: <% language %>
libraryCatalog:: <% libraryCatalog %>
libraryLink:: <% libraryLink %>
pages:: <% pages %>
parentItem:: <% parentItem %>
publicationTitle:: <% publicationTitle %>
relations:: <% relations %>
shortTitle:: <% shortTitle %>
tags:: <% tags %>
url:: <% url %>
version:: <% version %>
volume:: <% volume %>
-
Insert Zotero item:
- Navigate to the page where you want to insert a Zotero item.
- Type
/Zotero: Insert full item. - Perform your search.
- Click the desired item.
- A new page will be created, and a reference to it will be inserted at your cursor position.
-
Insert citation
- Ensure that your citation key template is set up in your plugin settings.
- Navigate to the page where you want to insert a Zotero item.
- Type
/Zotero: Insert citation. - Perform your search.
- Click the desired item.
- Citation will be added to your cursor position.
Choose a preset in the plugin settings to control which Zotero properties are added to your pages. The default is Core.
| Preset | Description |
|---|---|
| Minimal | Just the essentials: title, date, creators, itemType, DOI, ISBN, publicationTitle, libraryLink |
| Core (default) | Minimal + common citation fields for journal articles, books, and chapters |
| Academic Extended | Core + dates, institutional, manuscript, report, and thesis fields |
| Full | Every available Zotero property |
| Custom | Pick individual properties via the checkbox list in settings |
Core properties
title, date, creators, itemType, DOI, ISBN, publicationTitle, libraryLink, shortTitle, year, publisher, place, volume, issue, pages, numPages, edition, series, seriesTitle, seriesNumber, ISSN, url, language, tags, key, libraryCatalog, rights, license, citationKey, journalAbbreviation, bookTitle, callNumber
Academic Extended properties (includes Core)
All Core properties, plus: accessDate, dateAdded, dateModified, month, day, number, versionNumber, parentItem, relations, references, university, institution, distributor, repository, manuscriptType, reportType, reportNumber, thesisType, extra, section, numberOfVolumes, firstPage, seriesText, subject, label
After importing a Zotero item, you can sync new annotations that you've added in Zotero since the last import or sync.
Single page: Navigate to a Zotero item page in Logseq, right-click the page title and select Zotero: Sync annotations. Only annotations added after the last sync will be appended under their respective attachment.
All pages: Open the command palette (Mod+Shift+P) and run logseq-zoterolocal-plugin: Sync all annotations. This will sync annotations for every page tagged with "Zotero" in your graph.
The plugin tracks a zotero-last-sync timestamp on each page to determine which annotations are new. This timestamp is set automatically on initial import and updated after each sync.
For Citation Key, Author and Page Name templates, use only the stated placeholders. Refer to the plugin settings for available options.
If you find this plugin useful, consider supporting the developer:
For bug reports, feature requests, or contributions, please visit the GitHub repository.
Note: This repository is currently not taking in any pull requests.
