Everything about note management. All in Zotero.
Join the community on Telegram: @bnzotero
Better Notes (BN) is a plugin for Zotero.
BN streamlines your workflows of:
- paper reading
- annotating
- note taking
- metadata analyzing
- knowledge exporting
- AI writing assistant
and:
- works out of the box
- highly customizable
- all in Zotero
ποΈ Connect knowledge fragments with note link. With one click. Learn more β
ποΈ Simplify and automate knowledge analysis with extensive note templates. With one click. Learn more β
ποΈ Keep in sync with your Markdown files. Two-way, automatically. Learn more β
π¨οΈ Export notes to different formats: Markdown, Docx, PDF, and mind map. Learn more β
π Enhancements for Zotero's note editor with outline, link relation, view images.... Open as much note tabs/windows as you like!
-
Download the plugin (.xpi file) from below.
Note: If you're using Firefox as your browser, right-click the
.xpi
and select "Save As.." -
In Zotero click
Tools
in the top menu bar and then clickPlugins
-
Go to the Extensions page and then click the gear icon in the top right.
-
Select
Install Add-on from file
. -
Browse to where you downloaded the
.xpi
file and select it. -
Finish!
BN offers a range of features that can be combined like Lego blocks to build your own note-taking workflow.
Start taking notes in Zotero with BN in 5 minutes!
π‘ In the latest version, the workspace is no longer a thing. You can open an unlimited number of note tabs/windows, which is what we called
workspace
in the past.
To open a note in a tab, double-click/press Enter
on the item in the library, as you would do to open an attachment. Holding shift
opens the note in a new window.
Explore the Note Tab!
π‘ The layout from left to right is:
- Outline
- Note editor
- Context pane (tags, related, relation graph, in/outbound links)
π‘ Where can I find the note editor?
- In the note tab/window
- In the library: click to open a note editor in the item pane
- In the PDF reader: right-side context pane
π‘ How to create a new note?
Click the note icon in the library tools bar (the row under the tabs bar), or from the menu - File
BN enhances the note editor with a Magic Key command palette, which can be opened by typing /
in the editor. You can type or use the arrow keys to navigate the commands, and press Enter
to execute.
BN enhances the note editor with link preview. Hover+Ctrl/Cmd or click the link to preview the linked note without leaving the current note.
BN supports direct markdown paste. You can paste markdown content into the note editor, and it will be converted to the rich text format automatically.
To create a note link between the note you are editing and another note, click the button in the title bar of the note editor.
π‘ What's the difference between
Mention in
andLink to
?
Mention in
will insert a link of the current note (from which you open the link creator) to another note (which you pick in the link creator), i.e. inbound link.Link to
will insert links of picked notes to the current note, i.e. outbound link.
You can also manually copy the note link from the note editor menu.
Are you spending a lot of time writing summaries and copy-pasting while taking notes? Say hello to Note Template!
Note Template is designed for tasks like:
- Summarize metadata and annotations from multiple papers, with customized filters
- Compare papers across sections
- Generate content programmatically
π‘ Need help or looking for community templates? See here β
π‘ Want to write/share your templates?
With BN, you can integrate your note-taking into your existing workflow seamlessly. If you use markdown editors like Obsidian, you can keep your notes in sync with external Markdown files easily.
To set up auto-sync, click Set Auto-Sync
the first time you export your note. There is no need for any third-party tools or complicated setups!
Any changes made to your note or its corresponding Markdown file will be automatically synced. This feature makes it easy to keep all of your notes up to date and in one place.
π‘ Note: The note being edited will be synced after the editor is closed.
BN offers various options to export your notes, giving you the flexibility to choose the format that suits your needs.
You can export your note to the following formats:
- A new note in Zotero
- Markdown file (embedded or linked, with images)
- MS Word document (.docx)
- PDF document (.pdf)
- FreeMind file (.mm)
Simply click on the corresponding export button in the toolbar and follow the prompts.
The Zotero-GPT plugin provides GPT Integration. If you also have Better Notes installed, you can wake up its chatting pane in the note editor and insert/modify content in the note.
The Actions & Tags plugin provides a powerful workflow engine for Zotero. If you also have Better Notes installed, you can use the following actions to automate note generation/editing/syncing/etc.:
- Auto-generate note from template when opening an item
- Auto-sync note when opening/creating an item
- More...
- Quick Note: convert annotation to note with one click.
- Resize images with a right-click menu.
- Preview images with double-click/ctrl-click.
BN provides APIs for other plugin developers in Zotero.BetterNotes.api.${API_MODULE}
. See api.ts
.
workspace
: Workspace APIssync
: Syncing APIsconvert
: Lossless conversion between note, HTML, Markdown, note link, and annotationtemplate
: Manipulate note templates$export
: Export note$import
: Import noteeditor
: Note editor APIs. Give your script full control of contents in the note editor.note
: Note APIs. Parse and manipulate note content.relation
: Note relation APIs. Get and set note relations.utils
: Utility functions.
In Zotero, the content of a note is stored as rich text, while when a note is opened in the note editor, it is rendered by ProseMirror as HTML.
Most of the time, it is recommended to use the editor
API to interact with the content of the note, as it supports undo/redo and other features provided by editor. The editor
API provides a set of powerful functions to analyze and manipulate the content in the note editor. Most of them needs an editor
instance as the input, you can get the instance by calling Zotero.BetterNotes.api.editor.getEditorInstance(noteId)
.
However, if note is not opened in the editor, you cannot get the editor
instance. In this case, you can use the note
API to interact with the content of the note.
This plugin is built based on the Zotero Plugin Template. See the setup and debug details there.
To start, run
git clone https://github.com/windingwind/zotero-better-notes.git
cd zotero-better-notes
npm install
npm run build
The plugin is built to ./builds/*.xpi
.
To debug, run
npm run start
This will open a new Zotero instance with the plugin installed.
To test the plugin, run
npm run test
This will run the tests in the ./test
directory.
Use this code under AGPL. No warranties are provided. Keep the laws of your locality in mind!
- Translate for Zotero: Translate PDF, EPub, webpage, metadata, annotations, notes to the target language.
- Actions & Tags for Zotero: Customize your Zotero workflow.
- Bionic for Zotero: Bionic reading experience with Zotero.
Thanks peachgirl100, Juan Gimenez, and other anonymous sponsors!
If you want to leave your name here, please email me or leave a message with the donation.