abgmgp518 downloadsConvert plain-text mentions of note titles and aliases into wiki links. Highly configurable.
Converts similar matching words into wiki links on the go. Highly customizable. Supports both desktop and mobile (iOS + Android) versions of Obsidian.
concatenate won't match cat). cats) links to a note titled cat.[[Canonical|what you typed]].the, note) will match aggressively. If you want to restrict these words, either scope them out with the folder exclude list or keep base-form matching off.Click the link ribbon icon, or open the command palette and run "Auto-link: Scan whole vault" to toggle manual linking. You can also bind a hotkey to that command in Settings → Hotkeys.
A summary of how many links were added across how many notes are edited within a single run session will be shown once the process is completed.
Turn on Settings → Auto-link → Link on save. Editing and saving a note triggers the linking process it automatically.
You can configure the following options in the settings page to turn features on or off to your liking:
| Setting | What it does |
|---|---|
| Case sensitivity | Turns case sensitivty on or off (default). |
| Match base form | Links simple plurals to their singular note. Turned off by default to avoid over-linking. |
| One link per file | Links each target note only once per file, with first occurrence basis. On by default. |
| Skip → Headings | Don't link inside headings. Turned off by default. |
| Link on save | Auto-link notes when the current note is modified. |
| Include folders | Include folders based on path. One folder path per line. Empty defaults to whole vault. |
| Exclude folders | Exclude folders based on path. Excluded notes are skipped and never used as targets. |
| Alias masterlist | Toggle the feature on or off, set the file path, and optionally write matched aliases back to the main note's YAML property (see below). |
Patterns are matched against vault-relative paths:
* matches within a path segment, ** spans folders, ? matches one char.Archive) is shorthand for Archive/**.Examples:
Concepts
Projects/**
Daily/2024-*.md
The alias masterlist allows for the addition of extra search terms that point at a different note that may or may not be beyond the target note's title and its own frontmatter aliases.
To toggle the alias masterlist feature on, do the following:
.md file in your vault). Either pick an existing file, or enter a new path and click Create template.The masterlist allows one mapping of search term per line, like this:
Note name: alias1, alias2, alias3
#. Blank lines are also ignored.Example:
Timetable: time table, tt
API: application programming interface, api
Keywords set inside the masterlist are set to affect the entire vault by default. You can change the affected areas by adding case-insensitive tags (block, folder, or root) as prefix for the line/s that should be affected. See the following formats below for reference:
block: Note name # never auto-link this note's title or its aliases
block: Note name: alias1, alias2 # suppress only those specific surface terms
folder: Note name # link only when the source note shares the target's parent folder (folder1/note.md). Applies for both note name and aliases.
folder: Note name: alias1, alias2
root: Note name # link only when the source note shares the target's top-level folder (folder1/folder2/folder3/note.md, all tagging will take effect as long as the detected tag is under folder1). Applies for both note name and aliases.
root: Note name: alias1, alias2
block — With no aliases listed, it suppresses the note's title and all associated aliases from auto-linking. With aliases listed, only those words will be blocked. THe title folder will still link.folder — limits matching to notes in the same parent folder as the target. Useful for short or ambiguous aliases that should only resolve within a directory (i.e. activity-specific definitions).root — limits matching to notes that share the target's top-level folder. Example: a target at Definitions/Actions/View.md is only linked from sources under Definitions/**. USeful for category-based tagging.Lines without a recognized scope prefix keep the original vault-wide behavior, so existing masterlist files are still supported.
Example:
Name1: alias1, alias2
block: Name2
folder: Name3: alias3, alias4, alias5
root: Name4: alias6, alias7
When "Write aliases back to notes" is on (default), the first time a note is linked via a masterlist alias, that alias is added to the note's YAML aliases property. No existing aliases are removed or reordered. This makes the alias work everywhere Obsidian resolves links, not just inside the plugin.
processFrontMatter method.main.js and manifest.json from a release and copy
them into <your-vault>/.obsidian/plugins/obsidian-simple-autolink/, then enable the
plugin in Settings.In order to setup the source files, clone the repository, open your editor/tool of choice then run the following:
npm install
npm run dev # esbuild watch -> main.js
npm run build # type-check (strict) + production bundle
npm test # Vitest unit + perf tests
This plugin was created with assistance from Artificial Intelligence tools. Human intervention was done during the drafting, feature development, and validation (source code and functionality) of the project. If that does not sit well with you, please consider using other alternatives.
This project is licensed under the MIT License, allowing free use, modification, and distribution.