Live Anchoring

by Arthur Sarazin
5
4
3
2
1
Score: 35/100
New Plugin

Description

This plugin has not been manually reviewed by Obsidian staff. Anchor your writing to your vault: when you pause typing, words that match existing note titles become wikilinks automatically.

Reviews

No reviews yet.

Stats

stars
downloads
0
forks
0
days
NaN
days
NaN
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
0
commits

Latest Version

Invalid date

Changelog

README file from

Github

Live Anchoring

Anchor your writing to your vault. When you pause typing, any word or phrase that matches the title of an existing note becomes a [[wikilink]] — automatically, in place, without moving your cursor.

You write:

The notion of a contract has never been so important.

Two seconds later:

The notion of a [[contract]] has never been so important.

…because your vault has a note called contract.md.

How it works

  • Listens for editor changes and waits for a configurable typing pause (default 2 s).
  • Collects every note title in your vault and finds matches in the current note — longest titles first, so [[knowledge graph]] wins over [[graph]].
  • Applies all links in a single editor transaction: your cursor and scroll position stay put, and one undo removes them all.
  • Never touches YAML frontmatter, code blocks, inline code, existing links, or URLs — and never the word your cursor is in.

Commands

  • Anchor current note — run the linker once, on demand (works even with automatic anchoring off).
  • Toggle automatic anchoring — flip auto mode without opening settings.

Settings

Setting Default
Anchor automatically on link whenever you pause typing
Typing pause 2000 ms how long to wait after the last keystroke
Minimum title length 3 ignore very short note titles
Exact case only off Contract links, contract doesn't
First occurrence only off link once per title instead of every occurrence
Excluded folders never auto-anchor notes in these folders
Show notices on "Anchored 3 links" notification

Vault access & privacy

To know what can become a link, the plugin lists the file names of the markdown notes in your vault (via vault.getMarkdownFiles()). That is the entire extent of its vault access:

  • It reads note titles only — never the content of any note other than the one you are editing.
  • It writes only to the note you are actively editing, through the editor, as a single undoable transaction.
  • It makes no network requests and collects no data. Everything happens locally.

Install

From the community plugin store: search Live Anchoring.

Manually: copy manifest.json and main.js from the latest release into <vault>/.obsidian/plugins/live-anchoring/, then enable the plugin in Settings → Community plugins.

Development

npm install
npm run dev     # esbuild watch mode
npm test        # unit tests for the linking engine
npm run build   # type-check + production bundle

The linking engine (src/linker.ts) is a pure function with no Obsidian imports — see test/linker.test.ts for its specification.

License

MIT