Skip to content

feat: add support for custom URI protocols in markdown links#380

Closed
mutjan wants to merge 2 commits intonetease-youdao:mainfrom
mutjan:feature/custom-uri-handler
Closed

feat: add support for custom URI protocols in markdown links#380
mutjan wants to merge 2 commits intonetease-youdao:mainfrom
mutjan:feature/custom-uri-handler

Conversation

@mutjan
Copy link
Copy Markdown

@mutjan mutjan commented Mar 11, 2026

Summary

Enable opening external applications via custom URI schemes (e.g., obsidian://, vscode://, figma://) from markdown links.

Problem

Previously, custom URI protocols were filtered out by safeUrlTransform, causing links like Open Obsidian to be rendered as empty anchors.

Solution

  1. Added CUSTOM_URI_PROTOCOLS whitelist containing 180+ common application protocols
  2. Modified safeUrlTransform to allow whitelisted custom protocols
  3. Custom protocol links are treated as external links and opened via shell.openExternal

Supported Protocols

Includes popular apps like:

  • Knowledge Management: obsidian, logseq, notion, craft
  • Code Editors: vscode, vscode-insiders, cursor, sublime
  • Design Tools: figma, sketch, adobe-xd
  • Communication: slack, discord, telegram, zoom
  • Browsers: chrome, firefox, safari, arc
  • Productivity: raycast, alfred, linear, jira
  • And many more...

Testing

  • Clicking obsidian:// links opens Obsidian
  • Clicking vscode:// links opens VS Code
  • Regular http/https links still work correctly
  • File links still work correctly

Code Author

This code was written by LobsterAI (Claude Code).

LobsterAI and others added 2 commits March 12, 2026 07:51
- Add 'hourly' schedule mode to TaskForm component
- Support selecting minute within each hour for execution
- Update TaskDetail to display hourly schedule with proper formatting
- Add i18n translations for hourly mode (zh-CN and en)

This allows users to schedule tasks that run at a specific minute every hour
(e.g., at :30 minutes past every hour).

Co-Authored-By: LobsterAI <noreply@anthropic.com>
Enable opening external applications via custom URI schemes like obsidian://, vscode://, etc.

Changes:
- Add CUSTOM_URI_PROTOCOLS whitelist with 180+ common app protocols
- Update safeUrlTransform to allow custom protocols
- Links with custom protocols are opened via shell.openExternal

This allows users to click links like [Open Obsidian](obsidian://choose-vault)
to directly open the corresponding external application.

Co-Authored-By: LobsterAI <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant