Note Definitions

by Dominic Let
5
4
3
2
1
Score: 58/100

Description

The Note Definitions plugin allows users to create and manage a personal dictionary within Obsidian by defining words and phrases across their notes. It enables users to store definitions in dedicated folders, with options to preview, add, and edit definitions via commands or context menus. Definitions can be structured in consolidated files with multiple entries or atomic files with single entries, offering flexibility in organizing content.

Reviews

No reviews yet.

Stats

234
stars
23,124
downloads
19
forks
712
days
61
days
61
days
38
total PRs
0
open PRs
6
closed PRs
32
merged PRs
130
total issues
40
open issues
90
closed issues
114
commits

Latest Version

README file from

Github

Obsidian Note Definitions

A personal dictionary that can be easily looked-up from within your notes.

dropdown

Basic usage

  1. Create a folder, right-click on the folder in your file explorer, and select Set definition folder. This registers the folder as your definition folder.
  2. Within the folder, create definition files (with any name of your choice).
  3. Add a definition using the Add definition command. This will display a pop-up modal, where you can input your definition.
  4. Once a definition is added, the word/phrase should be underlined in your notes. You may preview the definition of the word by hovering over the underlined word/phrase with the mouse, or triggering the Preview definition command when your cursor is on the word/phrase.

Editor menu

Options available:

  • Go to definition (jump to definition of word/phrase)
  • Add definition (the text that you want to define must be highlighted for this to be available)
  • Edit definition (right-click on an underlined definition)

Commands

You may want to assign hotkeys to the commands available for easy access:

  • Preview definition (show definition popover)
  • Go to definition (jump to definition of word/phrase)
  • Add definition
  • Add definition context (see Definition context)
  • Register consolidated definition file
  • Register atomic definition file
  • Refresh definitions

How it works

Note Definitions does not maintain any hidden metadata files for your definitions. All definitions are placed in your vault and form part of your notes. You will notice that added definitions will create entries within your selected definition file. You may edit these entries freely to add/edit your definitions, but if you do so, make sure to adhere strictly to the definition rules below. It is recommended that you read through the definition rules first before manually editing the definition files.

Definition rules

Currently, there are two types of definition files: consolidated and atomic. The type of definition file is specified in the def-type frontmatter (or property) of a file. For all definition files you create, the def-type frontmatter should be set to either 'consolidated' or 'atomic'. For compatibility reasons, a file is treated to be consolidated if the def-type frontmatter is not specified (but this is not guaranteed to remain the same in subsequent releases, so always specify the frontmatter when creating a new definition file). For convenience, use the commands provided to add the def-type frontmatter.

Consolidated definition file

A consolidated file type refers to a file that can contain many definitions. Register a definition file by specifying the def-type: consolidated frontmatter, or using the Register consolidated definition file command when the file is active.

A consolidated definition file is parsed according to the following rules:

  1. A definition block consists of a phrase (1 or more words), an alias (optional) and a definition. They must be provided strictly in that order.
  2. A phrase is denoted with a line in the following format # <PHRASE>. This is rendered as a markdown header in Obsidian.
  3. An optional comma-separated line of alias(es) is expected after a phrase. This must be a line surrounded by asterisks, eg. *alias*. This is rendered as italics in Obsidian.
  4. A line that occurs after a registered phrase and is not an alias is deemed to be a definition. Definitions can be multi-line. All subsequent lines are definitions until the definition block divider is encountered. You may write markdown here, which will be formatted similar to Obsidian's markdown formatting.
  5. A line with nothing but three hyphens --- is used as a divider to separate definition blocks. This is rendered as a delimiting line in Obsidian. (This divider can be configured in the settings to recognise three underscores ___ as well)

Example definition file:

Word1

alias of word1

Definition of word1. This definition can span several lines. It will end when the divider is reached.


Word2

Notice that there is no alias here as it is optional. The last word in the file does not need to have a divider, although it is still valid to have one.


Phrase with multiple words

You can also define a phrase containing multiple words.


Markdown support

Markdown is supported so you can do things like including italics or bold words.

For a more formal definition of the grammar of the consolidated definition file, you may refer to this document.

Atomic definition file

An atomic definition file refers to a file that contains only one definition. Register an atomic definition file by specifying the def-type: atomic frontmatter, or using the Register atomic definition file command when the file is active.

An atomic definition file is parsed according to the following rules:

  1. The name of the file is the word/phrase defined
  2. Aliases are specified in the aliases frontmatter as a list. In source, it should look something like this:
---
aliases:
  - alias1
  - alias2
---
  1. The contents of the file (excluding the frontmatter) form the definition

Definition context

TLDR: "Context" is synonymous with a definition file. By specifying a context, you specify that you want to use specific definition file(s) to source your definitions for the current note.

Definition context refers to the repository of definitions that are available for the currently active note. By default, all notes have no context (you can think of this as being globally-scoped). This means that your newly-created notes will always have access to the combination of all definitions defined in your definition files.

This behaviour can be overridden by specifying the "context" of your note. Each definition file that you have is taken to be a separate context (hence your definitions should be structured accordingly). Once context(s) are declared for a note, it will only retrieve definitions from the specified contexts. You can think of this as having a local scope for the note. The note now sees only a limited subset of all your definitions.

Usage

To easily add context to your note:

  1. Use the Add definition context command
  2. Search and select your desired context

You can do this multiple times to add multiple contexts.

How it works

Add definition context adds to the properties of your note. Specifically, it adds to the def-context property, which is a List type containing a list of file paths corresponding to the selected definition files. In source, it will look something like this:

---
def-context:
	- definitions/def1.md
	- definitions/def2.md
---

You can edit your properties directly, although for convenience, it is recommended to use the Add definition context command to add contexts as it is easy to get file paths wrong.

Removing contexts

To remove contexts, simply remove the file path from the def-context property. Or if you want to remove all contexts, you can delete the def-context property altogether.

Refreshing definitions

Whenever you find that the plugin is not detecting certain definitions or definition files, run the Refresh definitions command to manually get the plugin to read your definition files.

Feedback

I welcome any feedback on how to improve this tool. Do let me know by opening a Github issue if you find any bugs, or have any ideas for features or improvements.

Contributing

If you're a programmer and would like to see certain features implemented, I welcome and would be grateful for contributions. If you are interested, please do let me know in the issue thread.

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Annotate Audio
a year ago by VidE
Annotator
5 years ago by Elias Sundqvist
A plugin for reading and annotating PDFs and EPUBs in obsidian.
Arcana
3 years ago by A-F-V
Supercharge your Obsidian note-taking through AI-powered insights and suggestions
BookFusion
2 years ago by BookFusion
BookFusion Obsidian Plugin
CardNote
2 years ago by cycsd
Help you extract your thoughts more quickly in canvas
Crypto Lookup
5 years ago by Andrew Lombardi
Using publicly available APIs looks up the current 24h price for a given crypto currency in target currency
Cubox
a year ago by delphi-2015
Cubox Official Obsidian Plugin
Date Inserter
2 years ago by namikaze-40p
An Obsidian plugin that lets you insert a date at the cursor position using a calendar.
Diarian
2 years ago by Erika Gozar
All-in-one journaling toolkit.
Dictionary
5 years ago by phibr0
Dictionary - Obsidian Plugin | This plugin adds a multilingual dictionary to the Obsidian note taking tool.
Dictionary Lexicon
3 months ago by Alvin
Look up words and improve vocabulary by using flash card style cards.
Dictionary translator
2 years ago by Grover
我可以帮助你翻译单词或句子,听新单词或句子的录音,甚至录下自己的发音,以内部链接的形式保存到你的笔记中。
Duplicate Detector
a year ago by David Alcalde
Obsidian plugin to detect and highlight duplicate lines in the active file
e-Daiary
2 years ago by Thomas Campanholi
This plugin was created to make daily entries in a journal based on the day of the year.
Enhanced Annotations
2 years ago by ycnmhd
External Links
2 years ago by Juan Vimberg
Extract PDF Annotations
4 years ago by Franz Achermann
This is a plugin for https://obsidian.md. It extracts Annotations from PDF Files.
Favorite Note
3 years ago by Mahmudul Hasan
The missing Obsidian plugin to mark note as favorite.
Feedly Annotations Sync
a year ago by Nick Felker
Download my Feedly annotations
File Forgetting Curve
3 years ago by ptrsvltns
File Forgetting Curve
Hypothes.is
5 years ago by weichenw
An Obsidian.md plugin that syncs highlights from Hypothesis.
ibook
3 years ago by bingryan
export mac ibook annotations/hightlights to obsidian vault
Image Converter
3 years ago by xRyul
⚡️ Convert, compress, resize, annotate, markup, draw, crop, rotate, flip, align images directly in Obsidian. Drag-resize, rename with variables, batch process. WEBP, JPG, PNG, HEIC, TIF.
Interlinear Glossing
3 years ago by Mijyuoon
An Obsidian plugin for interlinear glosses used in linguistics texts.
Journals
2 years ago by Sergii Kostyrko
Journalyst
2 years ago by Justin Arnold
Kindle Vocab
9 months ago by Truong Gia Bao
Generate the markdown version of your Vocabulary Builder in Kindle, and put it in your Obsidian Vault.
Markmind
5 years ago by Mark
A mind map, outline for obsidian,It support mobile and desktop
Mass Create
a year ago by vellikhor
Create large quantities of notes easily at one time.
Media Slider
a year ago by Aditya Amatya
An obsidian plugin that helps to make slider for images, audios, videos, pdfs, markdown, etc in obsidian notes.
Minote Sync
a year ago by Emac Shen
Minote Sync is a Obsidian plugin to sync Minote(小米笔记) into your Vault.
Mononote
3 years ago by Carlo Zottmann
An Obsidian plugin that ensures each note occupies only one tab. If a note is already open, its existing tab will be focussed instead of opening the same file in the current tab.
Note Annotations
a year ago by Jan Beck
Note Chain
2 years ago by ZigHolding
Package my frequently used tools, highly personal plugins.
Obsidian Wordnik Definitions
4 years ago by Henry Gustafson
Insert definitions of words from wordnik
Onyx Boox Annotation & Highlight Extractor
4 years ago by Akos Balasko
This tool extracts the highlights and the annotations from OnyxBoox Reading Notes txt files, and converts them to linked zettelkasten literature and permanent notes
PDF Highlights
5 years ago by Alexis Rondeau
Extract highlights, underlines and annotations from your PDFs into Obsidian
PDF Writer
a year ago by Jobelin Kom
Obsidian plugin To write and fill a PDF
PDF++
2 years ago by Ryota Ushio
PDF++: the most Obsidian-native PDF annotation & viewing tool ever. Comes with optional Vim keybindings.
Persian Calendar
2 years ago by Hossein Maleknejad
Persian Calendar for Obsidian.md
Plugins Annotations
2 years ago by Andrea Alberti
Obsidian plugin that allows adding personal comments to each installed plugin.
Quick Cards
2 years ago by Camus Qiu
Quran Lookup
3 years ago by Abu Ibrahim
Retrieve Quran verses in Obsidian.md easily with this simple text replacement plugin
Raindrop Highlights
4 years ago by kaiiiz
An Obsidian.md plugin that syncs highlights from Raindrop.
Readeck Importer
a year ago by Makebit
Import bookmarks from Readeck to Obsidian
Search In Canvas
2 years ago by Boninall
Set View Mode per Note
2 years ago by Alex Davies
Use YAML frontmatter to specify a view mode per note.
ShaahMaat-md
a year ago by Mihail Kovachev
SideNote
5 months ago by mofukuru
Obsidian plugin: Add comment on the part of sentence and refer in comment view.
Simsapa
2 years ago by gambhiro
Simsapa plugin for Obsidian
Slide Note
3 years ago by Jinyan Xu
Smart Connections
3 years ago by Brian Petro
Chat with your notes & see links to related content with AI embeddings. Use local models or 100+ via APIs like Claude, Gemini, ChatGPT & Llama 3
Super Simple Time Tracker
4 years ago by Ellpeck
Multi-purpose time trackers for your notes!
TagFolder
4 years ago by vorotamoroz
Template by Note Name
a year ago by Jacob Learned
A simple Obsidian plugin to automatically template notes based on their title
Timestamp Notes
4 years ago by Julian Grunauer
This plugin allows side-by-side notetaking with videos. Annotate your notes with timestamps to directly control the video and remember where each note comes from.
WordNet Dictionary
5 years ago by TfTHacker
WordNet plugin for Obsidian. WordNet is a large lexical database of English developed by Princeton University and its license allows use in other applications. This plugin is a part of the Obsidian42 family of Obsidian plugins.
Xournal++
2 years ago by Jon Jampen
Obsidian plugin that seamlessly integrates Xournal++ for handwritten notes and annotations.
Zettelkasten LLM Tools
3 years ago by Karl Smith
Zettelkasten note taking powered by Large Language Models