README file from
GithubLinkr
Linkr is a fast, keyboard-friendly link builder for Obsidian. It creates wiki links to files, headings, and block IDs, with optional display text and one-click embeds.
Version 2.0.3 requires Obsidian 1.13.0 or later.
Features
- Native-looking file, heading, block, and link-type pickers.
- A link builder containing only the link types you enable.
- Direct commands for each enabled link type.
- File Explorer context-menu actions for copying file and heading links.
- Normal
Cmd/Ctrl+Vpasting, with an optional final link-options popup. - An Embed content toggle on every final link screen. Turn it on to change
[[...]]into![[...]]. - Live preview before a link is inserted.
- Configurable behavior when a display-text field is left blank.
- Existing editor selections are prefilled as display text.
- File links can target Markdown notes and attachments.
- Heading and block links use Obsidian metadata with safe parsing fallbacks.
- Up to ten recently selected files can appear first.
- Optional creation of a missing Markdown note from the file picker.
- New notes follow Obsidian's configured new-note location.
- Escape, Cancel, and the close button safely cancel without changing the note.
- Light theme, dark theme, keyboard, and mobile-compatible UI.
- No telemetry, analytics, advertising, or network requests.
Link types
| Link type | Normal | Embed content enabled | Default |
|---|---|---|---|
| Wiki link | [[my_file]] |
![[my_file]] |
Enabled |
| File link with text | [[my_file|photosynthesis]] |
![[my_file|photosynthesis]] |
Enabled |
| Heading link with text | [[my_file#Heading|photosynthesis]] |
![[my_file#Heading|photosynthesis]] |
Enabled |
| Block link with text | [[my_file#^block-id|important idea]] |
![[my_file#^block-id|important idea]] |
Enabled |
| Heading link | [[my_file#Heading]] |
![[my_file#Heading]] |
Disabled |
| Block link | [[my_file#^block-id]] |
![[my_file#^block-id]] |
Disabled |
The two no-text subpath links are off by default to keep the command palette and link builder focused. Enable either one under Settings → Linkr → Link types.
Commands
Obsidian automatically displays these commands with the Linkr: prefix:
- Open link builder… — choose any enabled link type from the Link builder.
- Insert wiki link — create a file link without display text.
- Insert file link with text — create a file link with optional display text.
- Insert heading link with text — choose a file and heading, then enter display text.
- Insert block link with text — choose a file and explicit block ID, then enter display text.
- Insert heading link — create a heading link without display text when this type is enabled.
- Insert block link — create a block link without display text when this type is enabled.
- Copy active file link — copy a link to the active file.
- Copy heading link from active file… — choose and copy a heading link from the active file.
Disabled link types are unavailable until they are enabled in Linkr settings.
Recommended hotkey
Linkr does not force a default hotkey because Obsidian community plugins should let each user choose shortcuts and resolve conflicts.
The recommended Link builder shortcut is:
- macOS:
Command+Option+/ - Windows/Linux:
Ctrl+Alt+/
To assign it:
- Open Settings → Hotkeys in Obsidian.
- Search for
Linkr: Open link builder. - Select the plus button beside the command.
- Press the recommended key combination.
- If Obsidian reports a conflict, choose another combination that is free in your vault.
Using Linkr
- Run Linkr: Open link builder… from the command palette or your assigned hotkey.
- Choose an enabled link type.
- Select a file.
- For heading or block links, select the target inside that file.
- Enter link text when the selected type supports it. You can also leave it blank.
- Turn on Embed content if you want Linkr to add
!before the wiki link. - Review the exact Markdown in the preview.
- Press Enter or select Insert link.
Press Escape, select Cancel, or use the close button at any stage to stop without inserting anything.
Copying links from the File Explorer
- Right-click a file in Obsidian's left File Explorer.
- Select Copy file link.
- For a Markdown note, you can instead select Copy heading link… and choose one of its headings.
- Open any Markdown note and press
Cmd+Von macOS orCtrl+Von Windows/Linux.
The default Ask when pasting behavior opens Linkr's final popup at the cursor. You can:
- Enter custom link text.
- Turn Use link text on or off to add or omit
|text. - Turn Embed content on or off to choose between
[[...]]and![[...]]. - Review the exact result before inserting it.
Under Settings → Linkr → Copy and paste, you can change the behavior to:
- Ask when pasting — show the final Linkr popup.
- Paste without link text — paste the copied wiki link exactly, without a pipe.
- Paste with the file name — paste the link with
|file nameautomatically.
The copied value is also placed on the normal system clipboard, so it can be pasted outside Obsidian as Markdown. Linkr only opens its popup when the copied Linkr value is pasted into an Obsidian editor.
Blank link text
Under Settings → Linkr → Link text, choose what happens when a link-text field is blank. Text you type always takes priority.
| Setting | Heading-link result |
|---|---|
| Target name | [[file#heading1|heading1]] |
| File > target | [[file#heading1|file > heading1]] |
| File name | [[file#heading1|file]] |
| Generic text | [[file#heading1|link]] |
| No link text | [[file#heading1]] |
For block links, Target name uses visible block text when available. For file links, it uses the file name.
Settings
Link types
Enable or disable the choices shown in the link builder and their matching direct commands. Wiki link is enabled by default; heading and block links without display text are disabled by default.
Link text
Choose the fallback used when display text is blank.
Link builder
- View the recommended hotkey.
- Choose which enabled type appears first.
- Optionally move the last-used type to the top.
Copy and paste
Choose whether copied File Explorer links ask for final options when pasted, paste without link text, or automatically use the file name as link text.
File picker
- Choose how many recently used files appear first, from zero to ten.
- Show or hide folder paths.
- Clear Linkr's recent-file ordering without changing vault files.
New notes
- Allow Linkr to offer a new Markdown note when a file search has no exact match.
- Optionally give new notes an H1 title matching the file name.
Creating a note from search
For file links, type a name that does not exactly match an existing file. Linkr offers Create “Note name” at the end of the results. Selecting it creates a Markdown note in Obsidian's configured new-note location and continues the link flow.
Creation is unavailable during heading and block flows because a new empty note does not yet contain a heading or block target.
Installation
After Linkr is accepted into the Community Plugins directory:
- Open Settings → Community plugins.
- Select Browse and search for
Linkr. - Select Install, then Enable.
Manual installation
Download these files from the matching GitHub release:
main.jsmanifest.jsonstyles.css
Place them in:
<your-vault>/.obsidian/plugins/linkr/
Restart Obsidian or reload community plugins, then enable Linkr under Settings → Community plugins.
Compatibility
- Minimum Obsidian version: 1.13.0
- Desktop: supported
- Mobile: supported
- Desktop-only APIs: not used
Privacy and security
Linkr works entirely inside Obsidian. It does not send network requests, collect analytics, use telemetry, show advertising, or transmit note contents. Its saved plugin data contains only Linkr settings and recently selected vault-relative file paths. A copied link target is kept only in memory while Obsidian is running and is not saved by Linkr.
Known limitations
- Block links require explicit Obsidian block IDs such as
^block-id. - A newly created note cannot immediately be used for a heading or block link because it has no targets yet.
- Shortcut availability depends on the user's Obsidian configuration and installed plugins.
- The paste popup is available for the most recently copied Linkr file or heading link. Copying different clipboard content restores normal paste behavior.
Development
npm install
npm run check
npm run lint
npm run build
The production build creates main.js. Keep main.js out of source commits and attach it to the GitHub release with manifest.json and styles.css.
The local node_modules directory contains development tools and can be around 150 MB. It is ignored by Git and is not part of the plugin release. The installable Linkr files are only main.js, manifest.json, and styles.css.
Support
Report problems or request features through the Linkr issue tracker.
License
Linkr is available under the MIT License.
Crafted by @NameIsKyro.