From ab3f6700f63663aa92fa9cf3804a35935b815103 Mon Sep 17 00:00:00 2001 From: Hikari Date: Wed, 21 Jan 2026 18:01:21 -0800 Subject: [PATCH] fix: open markdown links in user's default browser Closes #54 --- src/lib/components/Markdown.svelte | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/lib/components/Markdown.svelte b/src/lib/components/Markdown.svelte index 21c2972..6d4de6c 100644 --- a/src/lib/components/Markdown.svelte +++ b/src/lib/components/Markdown.svelte @@ -2,6 +2,7 @@ import { marked } from "marked"; import hljs from "highlight.js"; import { onMount } from "svelte"; + import { openUrl } from "@tauri-apps/plugin-opener"; interface Props { content: string; @@ -75,6 +76,15 @@ } } + function handleLinkClick(event: MouseEvent) { + const target = event.target as HTMLElement; + const anchor = target.closest("a"); + if (anchor?.href) { + event.preventDefault(); + openUrl(anchor.href); + } + } + onMount(() => { if (containerElement) { containerElement.querySelectorAll("pre code:not(.hljs)").forEach((block) => { @@ -87,7 +97,10 @@
{ + handleSpoilerClick(e); + handleLinkClick(e); + }} onkeydown={handleSpoilerKeydown} role="presentation" >