From 8bc797fe6a54b9e73930da6cd7a4fb903122aa7a Mon Sep 17 00:00:00 2001 From: Shaun Gallagher Date: Fri, 14 Mar 2025 15:22:27 -0400 Subject: [PATCH 1/2] feat: Add renderer for Markdown alerts --- .../Messages/Markdown/AlertRenderer.svelte | 116 ++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 src/lib/components/chat/Messages/Markdown/AlertRenderer.svelte diff --git a/src/lib/components/chat/Messages/Markdown/AlertRenderer.svelte b/src/lib/components/chat/Messages/Markdown/AlertRenderer.svelte new file mode 100644 index 000000000..aa0cfbe0f --- /dev/null +++ b/src/lib/components/chat/Messages/Markdown/AlertRenderer.svelte @@ -0,0 +1,116 @@ + + + + + +
+

+ + {alert.type} +

+ +
From 2065580a5f3ec92e5635a48b4b069d81d0f2d161 Mon Sep 17 00:00:00 2001 From: Shaun Gallagher Date: Fri, 14 Mar 2025 15:22:56 -0400 Subject: [PATCH 2/2] feat: Use AlertRenderer in blockquote evaluation --- .../chat/Messages/Markdown/MarkdownTokens.svelte | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte b/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte index 8de359a26..c40ae23ee 100644 --- a/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte +++ b/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte @@ -14,9 +14,11 @@ import CodeBlock from '$lib/components/chat/Messages/CodeBlock.svelte'; import MarkdownInlineTokens from '$lib/components/chat/Messages/Markdown/MarkdownInlineTokens.svelte'; import KatexRenderer from './KatexRenderer.svelte'; + import AlertRenderer, { alertComponent } from './AlertRenderer.svelte'; import Collapsible from '$lib/components/common/Collapsible.svelte'; import Tooltip from '$lib/components/common/Tooltip.svelte'; import ArrowDownTray from '$lib/components/icons/ArrowDownTray.svelte'; + import Source from './Source.svelte'; const dispatch = createEventDispatcher(); @@ -170,9 +172,14 @@ {:else if token.type === 'blockquote'} -
- -
+ {@const alert = alertComponent(token)} + {#if alert} + + {:else} +
+ +
+ {/if} {:else if token.type === 'list'} {#if token.ordered}