FIG-001 · BLOG INDEX
// notes from the field

blog.

Long-form notes on rendering streaming AI agent output safely — security, sanitization, performance, and the patterns that hold up in production.

FIG-001
SHEET 01 / 02
FIG-002 / POSTS

latest writing.

№ 01 / 06
6 min Jason Kummerl

Streaming Text Motion, on Your Terms

Add optional word and character arrival effects to streaming markdown in Svelte 5, with ready-made presets, an ink reveal, and full control over rendering.

streaminganimationsvelte-5
№ 02 / 06
7 min Jason Kummerl

One Code Renderer, Two Highlighters

Why @humanspeak/svelte-markdown now ships an engine-agnostic HighlightedCode renderer with Shiki and TanStack Highlight as interchangeable, opt-in engines — and what streaming code from an LLM taught us about the tradeoff.

syntax-highlightingstreamingshikitanstacksvelte-5
№ 03 / 06
8 min Jason Kummerl

Preventing Markdown XSS in Svelte

How markdown becomes an XSS vector in Svelte — javascript: URLs, on* handlers, data: URIs — and how to render user or AI markdown safely by default.

securityxssmarkdownsvelte-5
№ 04 / 06
12 min Jason Kummerl

Rendering Markdown in Svelte 5 (The Complete Guide)

A complete guide to rendering markdown in Svelte 5 — built-ins vs parsers vs preprocessors vs component renderers, custom renderers, security, and streaming.

markdownrenderingsvelte-5guide
№ 05 / 06
7 min Jason Kummerl

Using marked in Svelte (Safely)

How to use the marked parser in Svelte 5 — the {@html} footgun, why you get an HTML string instead of components, and how to render marked output safely.

markedmarkdownsvelte-5security
№ 06 / 06
9 min Jason Kummerl

Rendering Agent HTML Safely

Render AI-generated HTML safely in Svelte 5 with @humanspeak/svelte-markdown, covering XSS defenses, sanitization hooks, examples, and known gaps.

ai-agentssecuritystreamingxsssvelte-5
SET / JETBRAINS MONO + INTER
HUMANSPEAK · 2026
MIT LICENCE
read the
docs → every defense, every renderer
SHEET 02 / 02
END OF INDEX
↩ HOME