External Namespaces

by jncohen
5
4
3
2
1
Score: 50/100

Description

Create links to local Dropbox drive using URI

Reviews

No reviews yet.

Stats

1
stars
86
downloads
0
forks
48
days
48
days
48
days
5
total PRs
0
open PRs
0
closed PRs
5
merged PRs
0
total issues
0
open issues
0
closed issues
30
commits

Latest Version

2 months ago

Changelog

Links that cannot be opened now explain why.

Previously a link that failed did nothing at all, so a blocked link, a typo, and a file that had been moved were indistinguishable. Each case now raises a notice:

  • A link that resolves outside its registered folder root.
  • A file that no longer exists at the resolved location.
  • A prefix that is not registered at all.
  • A prefix that is registered but has no folder path set on this device — the usual case when a link syncs to a machine you have not configured yet.
  • A malformed link.
  • A failure reported by the operating system, such as no application being associated with the file type.

Successful opens stay silent. There is no change to which links are allowed to open, or to the link syntax.

Requirements

Desktop only. Obsidian 1.8.7 or later. Path conversion is Windows-format.

Privacy

No network requests, no cloud APIs, no telemetry. File contents are never read or modified. The plugin accesses files outside your vault by design; that is its purpose, and it is limited to roots you register yourself.

Disclaimer

This software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the author be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software. See LICENSE.

This plugin opens files and folders using your operating system's default applications. You are responsible for the folder roots you register and the links you choose to follow.

README file from

Github

External Namespaces

An Obsidian plugin for linking to files and folders outside your vault, even when those folders live in different local paths on different devices.

This is useful when you keep shared work in services like Dropbox, OneDrive, Google Drive, or a network drive. The same synced folder might be D:\Dropbox on one computer and C:\Users\Joe\Dropbox on another. External Namespaces lets you write links with a stable prefix, such as dropbox:, while each device stores its own local folder path for that prefix.

Desktop only · Requires Obsidian 1.5.0+


How it works

You register folders with short prefix names in the plugin settings. The prefix is saved with your vault, while the folder path is stored only on the current device:

Prefix Folder path
dropbox D:\Dropbox
work C:\Users\Joe\Documents\Work

When you paste a Windows path from one of those folders into a note, the plugin converts it automatically:

D:\Dropbox\papers\smith2020.pdf
  →  [smith2020.pdf](obsidian://ens?p=dropbox:papers/smith2020.pdf)

In reading or preview mode, only the filename label is visible. Clicking it opens the file (or folder) in its default application via Obsidian's internal obsidian://ens handler — no Windows protocol registration required.

Folder paths work too: pasting D:\Dropbox\papers produces a link that opens that folder in Explorer.

On another device, you can use the same dropbox: links after setting that device's local Dropbox folder path in the plugin settings.


Installation

Manual

  1. Download main.js, manifest.json, and styles.css from the latest release
  2. In your vault create .obsidian/plugins/external-namespaces/
  3. Copy the three files into that folder
  4. Restart Obsidian, then go to Settings → Community Plugins and enable External Namespaces

Setup

  1. Go to Settings → External Namespaces
  2. Click + Add root
  3. Enter a short prefix (e.g. dropbox) and the full path to the folder (e.g. D:\Dropbox)
  4. On each other device, use the same prefix but enter that device's local path to the same synced folder
  5. Repeat for any other folders you want to link from

Usage

Paste a path

Copy any file or folder path from Windows Explorer (right-click → Copy as path, or just copy from the address bar), then paste it into a note while in editing mode. If the path falls under a registered root, the plugin replaces it with a formatted link. If it doesn't match any root, the path is pasted unchanged.

Links use standard Markdown syntax with an obsidian://ens?p= URL:

[smith2020.pdf](obsidian://ens?p=dropbox:papers/smith2020.pdf)
[Q1 report](obsidian://ens?p=work:reports/Q1.xlsx)
[Papers folder](obsidian://ens?p=dropbox:papers)

In reading or preview mode these render as ordinary links showing only the label text.

If a name contains a space, &, # or %, percent-encode it — a raw space would end the Markdown link early, and a raw & would cut the URL short:

[Lecture Framework.pdf](obsidian://ens?p=gdrive:Teaching/Lecture%20Framework.pdf)
[Q1&Q2 notes.md](obsidian://ens?p=gdrive:Teaching/Q1%26Q2%20notes.md)

Pasted links are encoded for you. Leave / between folders as-is.

Migrate from an older version

If you used a previous version of this plugin with Dropbox, OneDrive, or custom root settings, those will be imported into the new format automatically on first load.


Privacy and security

This plugin accesses files and folders outside your Obsidian vault. That is its purpose: it exists to link notes to documents you keep in synced folders such as Dropbox, OneDrive, or Google Drive, which by definition live outside the vault. Without out-of-vault access the plugin could not do anything useful.

That access is deliberately narrow:

  • It only opens paths beneath a folder root that you have registered yourself in the plugin settings. Nothing else on your computer is reachable.
  • A link that resolves outside a registered root — for example one using .. to climb above it — is refused rather than opened.
  • Opening is delegated to the operating system's default application for the file. The plugin never reads, writes, or modifies file contents.
  • All resolution is local filesystem only. No network requests, no cloud APIs, no telemetry.
  • Folder paths are stored on each device separately and are never synced.

License

MIT © Joseph N. Cohen


Status

Active development. Core functionality (paste conversion and link opening) is stable.