Content render
Assistant and documentation pages often mix prose, equations, and diagrams in one column. r-markdown parses and sanitizes Markdown, delegates fenced mermaid blocks to r-mermaid, and $…$ / $$…$$ to r-math. You usually mount one markdown element per message row inside r-conversation; this example shows the render stack alone.
During streaming, set the content property on r-markdown (not the attribute) so token updates do not re-parse unchanged blocks. For chat wiring, see Build AI chat.