import { marked } from 'marked' import DOMPurify from 'dompurify' marked.setOptions({ breaks: true, gfm: true, }) export function renderMarkdown(text: string): string { if (!text) return '' const raw = marked.parseInline(text) as string return DOMPurify.sanitize(raw, { ALLOWED_TAGS: ['strong', 'em', 'code', 'a', 'br'], ALLOWED_ATTR: ['href', 'target', 'rel'] }) } export function stripMarkdown(text: string): string { if (!text) return '' return text .replace(/[*_~`#]/g, '') .replace(/\[([^\]]+)\]\([^)]+\)/g, '$1') .replace(/!\[([^\]]*)\]\([^)]+\)/g, '$1') }