README file from
GithubEntity Notes
An Obsidian plugin for creating entity notes on the fly. While you write, drop a dangling [[wikilink]] for a person, project, or idea, tag it with #person / #project / #idea, and click the inline button — the plugin spins up a structured Markdown note for that entity with pre-filled YAML frontmatter, and the dangling link now resolves to it.
Every link in your vault that points to an entity note is decorated with a small colored pill showing its type, so you can see at a glance which links are people, which are projects, and which are ideas — in Live Preview, Source mode, and Reading mode.
How it works
Tag a dangling link to turn it into an entity
The main workflow: as you write, link to entities that don't exist yet and tag them.
- Type a dangling wikilink followed by a trigger tag:
Had coffee with [[Alice]] #person about [[Project Alpha]] #project - A small
→ Personbutton appears after#person, and a→ Projectbutton appears after#project. Each one is independent and converts only its own link. - Click
→ Person. The plugin:- Creates
Entities/People/Alice.mdwith frontmatter - Strips
#personfrom the line, leaving[[Alice]]in place — now resolving to the new note - Renders a colored
personpill after the link (decoration only — not written to the file)
- Creates
- Click
→ Projectto do the same forProject Alpha.
The line ends up as:
Had coffee with [[Alice]] about [[Project Alpha]]
…and renders as:
Had coffee with [[Alice]] [person] about [[Project Alpha]] [project]
Pills follow your entity notes everywhere
Once a note is an entity, every wikilink pointing at it gets a pill, no matter where the link lives. The pill is a visual decoration only — it's never written into your files. Color and label come from the entity type's settings.
Convert a whole line instead
If a line doesn't have a dangling wikilink in front of the trigger tag, the entire line is converted instead:
Redesign the onboarding flow #project
Click → Project and the line becomes [[Redesign the onboarding flow]], with a new note created at Entities/Projects/Redesign the onboarding flow.md. List items are handled naturally — - Met Alice #person becomes - [[Met Alice]].
Default entity types
| Name | Trigger tag | Target folder | Pill color |
|---|---|---|---|
| Person | #person |
Entities/People |
#4a90d9 |
| Idea | #idea |
Entities/Ideas |
#f5a623 |
| Accomplishment | #accomplishment |
Entities/Accomplishments |
#7ed321 |
| Feedback | #feedback |
Entities/Feedback |
#9b59b6 |
| Project | #project |
Entities/Projects |
#e74c3c |
All defaults can be edited or deleted, and you can add your own entity types.
Settings
Global
- Convert on enter (default: off) — when enabled, pressing Enter at the end of a matched line triggers conversion immediately, without clicking the button. All matches on the line are converted at once. A newline is still inserted as normal.
- Identify entities by (default: Entity-type property) — controls how the plugin recognises which notes are entity notes (and which type) so it can render pills:
- Entity-type property — the
entity-typefrontmatter field must be present and match an entity type id. At most one pill per link. - Tag — the
tagsfrontmatter field must contain one or more entity type ids. One pill per matching tag; a single note can match multiple types.
- Entity-type property — the
Frontmatter fields
Each of the five standard frontmatter fields has an enabled toggle and a configurable field name (the YAML key written to created notes). All are on by default with the names shown in the Created note format section. You can rename them (e.g. title → note-title) to match your vault's property conventions; existing notes are not affected.
Note: When using Entity-type property mode, disabling the
entity-typefield will prevent pills from appearing on newly created entity notes.
Per entity type
- Name — display label shown on the button and pill
- Trigger tag — the hashtag that activates detection (e.g.
#person) - Target folder — vault path where notes are created
- Color — background color of the pill badge
- Enabled — disable an entity type without deleting it
- Frontmatter template — extra key-value fields written into every created note
Changes take effect immediately without reloading the plugin.
Created note format
Dangling-link conversion creates a note with frontmatter only (no body). The title field is the bare link text.
---
title: "Alice"
entity-type: "person"
tags:
- person
created: "2026-05-13"
source-note: "[[Daily Note 2026-05-13]]"
---
Line conversion creates a note with frontmatter and a body:
---
title: "Redesign the onboarding flow"
entity-type: "project"
tags:
- project
created: "2026-05-13"
source-note: "[[Daily Note 2026-05-13]]"
---
Redesign the onboarding flow
The body contains the line text with the trigger tag and list markers stripped. Wikilinks embedded in the line are preserved in full in both the title field and the body, while the filename strips the brackets ([[Alice]] → Alice).
All five standard fields are optional and their names are configurable (see Frontmatter fields above). Fields from the frontmatter template are appended after the standard fields. Template tags are merged into the tags list; any template key that matches a standard field name is ignored (standard fields always win).
Installation
Manual
- Download
main.js,styles.css, andmanifest.jsonfrom the latest release. - Copy them to
<vault>/.obsidian/plugins/entity-notes/. - Enable the plugin in Obsidian → Settings → Community plugins.
Development
git clone https://github.com/bartvw/entity-notes
cd entity-notes
pnpm install
pnpm run dev # watch mode
Copy (or symlink) the folder into <vault>/.obsidian/plugins/entity-notes/ and enable it in Obsidian.
FAQ
Does it work alongside TaskNotes? Yes — it's designed to complement TaskNotes. Both plugins can be active at the same time.
Does it work with Templater? Yes. Enable the "Trigger Templater on new file creation" setting in Templater and it will apply your template to each newly created entity note.
License
MIT — see LICENSE.
Inspired by the inline task-to-note conversion pattern in TaskNotes by Callum Alpass.