Releases: nuc/MarkEdit-wikilinks
v0.1.3 — generalised vault-root detection
What changed
findVaultRoot() previously hard-required a .obsidian/ directory walking up from the current file. That locked out git-tracked LLM wikis and any vault that doesn't ship the Obsidian sentinel — a bare [[slug]] from a sibling subfolder would never resolve, even though the recursive search itself was already layout-agnostic (matches by basename, no hardcoded directory names).
This release broadens the gate without touching the search:
VAULT_MARKERSis now['.obsidian', '.git', '.markedit-vault']. Walk-up returns the first ancestor containing any of them.- Order is for diagnostics only; resolution uses any-match.
- The miss dialog now lists exactly which markers were searched for, so failures are self-explanatory.
Behaviour notes
- Closest marker wins. If you have
.obsidian/higher up and.git/lower down, the git root becomes the vault. Almost always what you want; worth knowing for nested-repo edge cases. - No false positives in
searchVault. Matching is by exact basename — vaults with unique slug names (e.g. those enforcing a single-namespace lint like LLM-wiki) keep deterministic resolution. - Opt-in marker.
.markedit-vaultis plugin-owned for vaults that want explicit declaration without committing to Obsidian or git.
Install
Copy dist/markedit-wikilinks.js to ~/Library/Containers/app.cyan.markedit/Data/Documents/scripts/ and restart MarkEdit. If you previously created an empty .obsidian/ as a workaround, you can delete it.
v0.1.2 — End-user install (no toolchain needed)
What's new
Install no longer requires Node/yarn. The prebuilt bundle now ships with the repo.
Install
Copy `dist/markedit-wikilinks.js` to:
```
~/Library/Containers/app.cyan.markedit/Data/Documents/scripts/
```
Restart MarkEdit. Done.
Docs
The README now follows the MarkEdit-preview convention:
- Installation for end users — drop in the prebuilt JS.
- How to Use — syntax table, click behavior (⌘-click in editor, plain click in preview), Obsidian-style resolution order, and the create-on-miss fallback.
- Building — for contributors hacking on the source.
- Architecture — file map plus the why-Lezer-not-regex and why-MutationObserver-not-markdown-it rationale.
No functional changes to the plugin itself — bundle is byte-identical to v0.1.1.
v0.1.1 — Preview pane integration
What's new
Wikilinks now render and follow in the MarkEdit-preview pane (preview mode and side-by-side mode).
Previously the preview showed `[[foo]]` as literal text because MarkEdit-preview's `markdown-it` pipeline has no wikilink awareness. v0.1.1 post-processes the rendered HTML inside `.markdown-body`, replacing matching text nodes with anchors that route plain clicks through the same resolver the editor's Cm-click handler uses.
- Same resolution ladder as the editor: same-folder → vault-relative path → recursive DFS from `.obsidian/` root.
- Same create-on-miss diagnostic dialog.
- Skips text inside `
`, ``, `<script>`, `<style>`, and existing `` elements.
- No-op when MarkEdit-preview isn't installed.
Also
- Build-status note for v0.1.0: that tag's CI run shows red because `markedit-vite`'s default config tries to copy the bundle into MarkEdit's macOS sandbox dir on Linux runners. Fixed in `365589f` (the next commit on main) by passing `copyDistFile: !process.env.CI` to `defaultViteConfig`. v0.1.1's CI is green.
v0.1.0 — Initial release
First public release of MarkEdit-wikilinks.
Features
- Lezer-based inline parser for
[[Note]],[[Note|Alias]], and![[Embed]]syntax — composes correctly with MarkEdit's Markdown grammar, stays inert in code blocks. - CodeMirror ViewPlugin styling, theme-friendly.
- Cmd-click to follow with Obsidian-style resolution:
- same folder,
- vault-relative path (e.g.
[[docs/foo]]), - recursive search from the
.obsidian/root, dot-dir /node_modules/dist/build/targetskipped, budget-capped at 5,000 entries per click.
- Create-on-miss prompt with a diagnostic showing what was tried and whether folder access is granted.
Install
```sh
yarn install
yarn build # also deploys to MarkEdit's scripts/ folder
yarn reload
```
See the README for sandbox / folder-access notes.
Known gaps
- `#header` and `^block-id` fragments are stripped, not navigated.
- `![[image.png]]` is highlighted but not rendered as an image.
- No autocomplete for link targets.
- Vault index is rebuilt per click (fine for hundreds of files; large vaults may want session-scoped caching).