UNPKG

@humanspeak/svelte-markdown

Version:

Markdown and HTML renderer for Svelte 5 — built for rendering streaming AI agent output from Claude Code, ChatGPT, and agentic workflows. XSS-safe defaults, streaming-aware sanitization, token caching, TypeScript types, and Svelte 5 runes.

29 lines (28 loc) 931 B
import type { MarkedExtension } from 'marked'; /** * Creates a marked extension that tokenizes fenced ` ```mermaid ` code blocks * into custom `mermaid` tokens. * * The extension produces block-level tokens with `{ type: 'mermaid', raw, text }` * where `text` is the trimmed diagram source. It has zero runtime dependencies — * pair it with `MermaidRenderer` (or your own component) to render the diagrams. * * @example * ```svelte * <script lang="ts"> * import SvelteMarkdown from '@humanspeak/svelte-markdown' * import { markedMermaid, MermaidRenderer } from '@humanspeak/svelte-markdown' * * const renderers = { mermaid: MermaidRenderer } * </script> * * <SvelteMarkdown * source={markdown} * extensions={[markedMermaid()]} * {renderers} * /> * ``` * * @returns A `MarkedExtension` with a single block-level `mermaid` tokenizer */ export declare function markedMermaid(): MarkedExtension;