function parseInline(text: string) { const parts = text.split(/(\*\*[^*]+\*\*)/g); return parts.map((part, i) => { if (part.startsWith("**") && part.endsWith("**")) { return ( {part.slice(2, -2)} ); } return part; }); } export function ChapterContent({ content }: { content: string }) { const blocks = content.trim().split(/\n\n+/); return ( <> {blocks.map((block, index) => { const trimmed = block.trim(); if (trimmed.startsWith("> ")) { const quote = trimmed.replace(/^>\s?/gm, "").trim(); return (
); } if (trimmed.startsWith("**") && trimmed.endsWith("**") && !trimmed.includes("\n")) { return ({parseInline(quote)}
{parseInline(trimmed)}
); } if (trimmed.startsWith("- ")) { const items = trimmed.split("\n").map((line) => line.replace(/^- /, "")); return ({parseInline(trimmed)}
; })} > ); }