用途:在 Octane 中渲染 Markdown 源码或已解析的 MarkdownDocument,输出 ElementDescriptor 而非 HTML 字符串。需先阅读 render-markdown 了解语法、解析选项、AST 与信任边界。
主要能力:Markdown 组件返回 Octane 片段描述符,外层语义元素由应用自行提供;components 可按输出标签名替换为宿主标签字符串或 Octane ComponentBody;支持 TSRX 写法;octane/server 的 renderToStaticMarkup 返回 { html, css };可先用 parseMarkdown 解析一次再重复渲染;低层可用 renderMarkdownOctane,必要时用 renderBlockOctane 或 renderInlineOctane。
用法:安装 pnpm add @tanstack/markdown octane,要求 octane@0.1.12 或更新。需要 HTML 字符串时用 renderToStaticMarkup(Markdown, { children: source }) 并取 html。组件替换必须使用 Octane 的 ComponentBody,不能传 React 组件。
限制:Markdown 返回描述符,不能直接 String() 转 HTML;静态渲染返回对象而非裸字符串;MarkdownExtension.renderHtml 仅适用于 HTML 渲染器,可移植自定义输出应使用 ComponentNode 加标签映射;allowHtml 会传入 dangerouslySetInnerHTML,且 TanStack Markdown 不会净化原始 HTML,不可用于不可信输入。Octane 组件替换、原始 HTML、高亮输出与仅 HTML 的扩展钩子不在核心静态输出与 renderHtml() 的一致性保证范围内。