/
Netrunners
/
Millenium_UI
Обзор
Документация
Войти
/
Netrunners
/
Millenium_UI
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/lib/components/chat/Messages/Markdown.svelte
56 строк
1 KB
Валерий Конюхов
first_commit
08 июл 2025, 22:20
08 июл 2025, 22:20
a4e8dc9
Код
Авторство
О чём код?
<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; export let sourceIds = []; export let onSourceClick = () => {}; export let onTaskClick = () => {}; let tokens = []; const options = { throwOnError: false }; marked.use(markedKatexExtension(options)); marked.use(markedExtension(options)); $: (async () => { if (content) { tokens = marked.lexer( replaceTokens(processResponseContent(content), sourceIds, model?.name, $user?.name) ); } })(); </script> {#key id} <MarkdownTokens {tokens} {id} {save} {onTaskClick} {onSourceClick} on:update={(e) => { dispatch('update', e.detail); }} on:code={(e) => { dispatch('code', e.detail); }} /> {/key}