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.

32 lines (31 loc) 1.25 kB
interface Props { /** TeX/LaTeX source to render. Token's inner content for delimiter pairs, or the full `\begin{env}...\end{env}` string for AMS environments. */ text: string; /** When `true`, render in display style (block); otherwise inline. */ displayMode?: boolean; } /** * Renders an `inlineKatex` or `blockKatex` token (produced by {@link markedKatex}) * to KaTeX HTML. * * Pair with the matching extension via the `renderers` prop: * * ```svelte * <SvelteMarkdown * source={markdown} * extensions={[markedKatex()]} * renderers={{ inlineKatex: KatexRenderer, blockKatex: KatexRenderer }} * /> * ``` * * Requires `katex` to be installed (it's an optional peer dependency of * `@humanspeak/svelte-markdown`) and `katex/dist/katex.css` to be loaded — either * imported directly or pulled in via the CDN tag KaTeX recommends. * * Hardcodes `throwOnError: false` so a single malformed expression renders as a * red KaTeX error span instead of throwing. If you need stricter behavior, pass * your own component for `inlineKatex` / `blockKatex` instead. */ declare const KatexRenderer: import("svelte").Component<Props, {}, "">; type KatexRenderer = ReturnType<typeof KatexRenderer>; export default KatexRenderer;