README file from
GithubWikilink Helper
A plugin for Obsidian that can automatically insert wikilink display text or normalize existing wikilinks.
Requirements
- Obsidian v1.13.0+
Features
- Automatic display text insertion: Triggered by typing
|at the end of a wikilink. Optionally, the first character can be lowercased.- Example: If the target file name is
Note.md,[[Note|]](|just typed) →[[Note|note]]
- Example: If the target file name is
- Wikilink normalization: Triggered via commands, or by the save command (
Ctrl+S).- Examples:
[[note]]→[[Note|note]][[note|note]]→[[Note|note]][[folder/note]]→[[Folder/Note|folder/note]][[Note]]→[[Note]](no change)
- Optionally, display text is also added to lowercase links whose target doesn't exist yet:
[[idea]]→[[idea|idea]]
- Examples:
Use cases
- Preserving lowercase display text: If you use a link like
[[note]]to a file namedNote.md, but then rename the file toArticle.md, Obsidian will update[[note]]to[[Article]], but you would prefer[[Article|note]]. By using[[Note|note]], the display text remainsnote. - Compatibility with external tools: While Obsidian is case-insensitive for links, many static site generators (like Quartz or Hugo) are case-sensitive. Wikilink normalization ensures that links match the actual file and folder name casing, preventing broken links in external publishing workflows.
Installation
Community plugins (recommended)
Install via Settings → Community plugins in Obsidian.
Via BRAT
- Install the Obsidian BRAT plugin.
- Open BRAT settings and click Add beta plugin.
- Enter the repository URL of this repository.
- Click Add Plugin.
Manual installation
- Download the latest release from the releases page.
- Extract
main.jsandmanifest.jsoninto<your-vault>/.obsidian/plugins/wikilink-helper/. - Restart Obsidian or reload the plugin in Settings → Community plugins.
Development
npm install # install dependencies
npm run dev # build in watch mode (for development)
npm run build # type-check and build for production
npm run lint # run ESLint
Other information
- Disclosures per Obsidian developer policies: none. The plugin doesn't use the network, doesn't collect any data, and doesn't access files outside of the vault.