UI Design System
build dev

Markdown

渲染 Markdown 内容。中文惯用名:Markdown 渲染。
稳定本期新增已接入

元信息

字段值
规范 IDcomponent.markdown
名称Markdown
二级分类媒体与内容(media)
用途渲染 Markdown 内容
描述中文惯用名:Markdown 渲染。

预览

静态结构:复用 @pactor-app/markdown 的 MarkdownDslComponent——react-markdown AST 渲染(不渲染原始 HTML,安全边界),支持 GFM(表格 / 任务列表 / 删除线)、KaTeX 数学公式、fenced 代码块经 Prism Light 高亮;链接经 isSafeUrl 校验(javascript: 等被拦截)。

DSL 结构

DslNode
{
  "type": "Markdown",
  "props": {
    "content": "# 文档标题\n\n正文段落,支持 **加粗** 与 [链接](https://example.com)。"
  }
}

何时用

何时使用

  • 渲染 Markdown 内容:文档、帮助中心、AI 生成文本、发布说明。
  • 需要 GFM(表格 / 任务列表)、数学公式(KaTeX)与代码高亮。

何时不用

  • HTML 源内容:使用 RichText。
  • 纯代码展示:使用 CodeBlock。

变体

变体视觉形态适用场景
基础排版标题 / 列表 / 引用 / 代码文档正文
GFM 扩展表格 / 任务列表清单、对比表
数学公式KaTeX 渲染技术文档、公式推导

API 属性

属性类型默认值说明
contentstring—Markdown 内容(表达式由 Renderer 预先解析)
className / stylestring / CSSProperties—通用:根节点 class 合并 / 内联样式

使用规范

  • 不可信内容优先 Markdown(AST 渲染无原始 HTML 注入面)。
  • 长文档配合 Anchor 做章节定位(标题自动生成层级结构)。
  • 代码块语言标注完整(```ts),未注册语言降级为纯文本。

正例

  • ✓ 帮助中心:Markdown 文档直接渲染,代码块自动高亮。
  • ✓ AI 回答:模型输出的 Markdown 流式内容渲染。

反例

  • ✕ 在 Markdown 里塞 HTML 期望原样渲染(AST 模式会忽略 / 转义)。

Design Token 映射

不适用:组件 tokenRefs 为空:样式 Token 数据尚未接入,三层映射(Primitive → Semantic → Component)待样式 Token 接入后回填。