Download src/lib/components/chat/Messages/Markdown.svelte from Rfym21/OpenWebUI: direct link, hf CLI and curl.
- Browser
- Download file 1.03 kB
-
https://huggingface.co/spaces/Rfym21/OpenWebUI/resolve/main/src/lib/components/chat/Messages/Markdown.svelte
- Command line
-
hf download hf://spaces/Rfym21/OpenWebUI/src/lib/components/chat/Messages/Markdown.svelte
-
curl -L -o Markdown.svelte https://huggingface.co/spaces/Rfym21/OpenWebUI/resolve/main/src/lib/components/chat/Messages/Markdown.svelte
1.03 kB
| <script> | |
| import { marked } from 'marked'; | |
| import { replaceTokens, processResponseContent } from '$lib/utils'; | |
| import { user } from '$lib/stores'; | |
| import markedExtension from '$lib/utils/marked/extension'; | |
| import markedKatexExtension from '$lib/utils/marked/katex-extension'; | |
| import MarkdownTokens from './Markdown/MarkdownTokens.svelte'; | |
| import { createEventDispatcher } from 'svelte'; | |
| const dispatch = createEventDispatcher(); | |
| export let id; | |
| export let content; | |
| export let model = null; | |
| export let save = false; | |
| let tokens = []; | |
| const options = { | |
| throwOnError: false | |
| }; | |
| marked.use(markedKatexExtension(options)); | |
| marked.use(markedExtension(options)); | |
| $: (async () => { | |
| if (content) { | |
| tokens = marked.lexer( | |
| replaceTokens(processResponseContent(content), model?.name, $user?.name) | |
| ); | |
| } | |
| })(); | |
| </script> | |
| {#key id} | |
| <MarkdownTokens | |
| {tokens} | |
| {id} | |
| {save} | |
| on:update={(e) => { | |
| dispatch('update', e.detail); | |
| }} | |
| on:code={(e) => { | |
| dispatch('code', e.detail); | |
| }} | |
| /> | |
| {/key} | |