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 (

{parseInline(quote)}

); } if (trimmed.startsWith("**") && trimmed.endsWith("**") && !trimmed.includes("\n")) { return (

{parseInline(trimmed)}

); } if (trimmed.startsWith("- ")) { const items = trimmed.split("\n").map((line) => line.replace(/^- /, "")); return ( ); } if (/^\d+\.\s/.test(trimmed)) { const items = trimmed.split("\n").map((line) => line.replace(/^\d+\.\s/, "")); return (
    {items.map((item, i) => (
  1. {parseInline(item)}
  2. ))}
); } return

{parseInline(trimmed)}

; })} ); }