mcpField
X
x-markdown

x-markdown

github.com/ant-design开发4.8k107 次安装2 天前更新
代码仓库

关于 x-markdown

x-markdown 是围绕 @ant-design/x-markdown 的技能指南,面向需要在 React 应用中渲染 Markdown 的开发者。内容涵盖流式输出、不完整语法、自定义组件、插件、主题与安全渲染,并明确区分渲染与聊天数据流职责。

主要功能

  1. 01Markdown 基础渲染
  2. 02处理 LLM 流式内容与不完整语法
  3. 03映射自定义组件和标签
  4. 04配置插件与主题
  5. 05安全处理原始 HTML

适用场景

  1. 01渲染独立 Markdown 页面或文档
  2. 02显示分块到达的 LLM 回复
  3. 03将 Markdown 标签替换为业务组件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ant-design/x --skill x-markdown

安装后在 Claude Code 中输入/x-markdown确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

reference/
API.md
CORE.md
EXTENSIONS.md
STREAMING.md

详细介绍

🎯 技能定位

此技能专注于一项工作:使用 @ant-design/x-markdown 正确、稳定地渲染 Markdown。

涵盖内容:

  • 基础渲染与包的职责边界
  • 大模型流式输出与不完整语法处理
  • 为丰富的聊天或数据展示区块自定义组件映射
  • 插件、主题与安全的默认渲染设置

目录

📦 包的职责边界

层级包职责
UI 层@ant-design/x聊天 UI、气泡列表、发送者、丰富的交互组件
数据层@ant-design/x-sdk提供程序、请求、流式数据流、状态管理
渲染层@ant-design/x-markdownMarkdown 解析、流式渲染、插件、主题、自定义渲染器

⚠️ x-markdown 不是聊天状态工具。只有在 @ant-design/x 和 @ant-design/x-sdk 已经生成消息数据后,才使用它来渲染内容。

🚀 快速入门决策指南

如果你需要……请先阅读常见结果
以最精简的配置渲染 MarkdownCORE.mdXMarkdown 使用基本样式渲染可信内容
渲染大模型流式数据块STREAMING.md正确设置 hasNextChunk、占位符、尾部指示器和加载状态
将标签替换为业务组件EXTENSIONS.md为自定义标签和代码区块配置稳定的 components 映射
添加插件或覆盖主题EXTENSIONS.md插件导入、主题类配置、精简的 CSS 覆盖
查看属性详情和默认值API.mdXMarkdown 和流式选项的完整属性表

🛠 推荐工作流

  1. 从 CORE.md 开始,先让基本渲染正常运行。
  2. 仅当内容以数据块形式逐段到达时,才添加 STREAMING.md。
  3. 需要自定义标签、插件、语法区块或主题时,添加 EXTENSIONS.md。
  4. 使用 API.md 确认属性名称和默认值,不要凭猜测。

最简配置提醒

import { XMarkdown } from '@ant-design/x-markdown';

export default () => <XMarkdown content="# Hello" />;

🚨 开发规则

  • 优先使用稳定的 components 对象。不要在每次渲染时都创建新的内联组件映射。
  • 最后一个数据块应使用 streaming.hasNextChunk = false,否则不完整的占位符不会刷新为最终内容。
  • 谨慎处理原始 HTML。若应将原始 HTML 保留为可见文本,请优先使用 escapeRawHtml。
  • 如果必须渲染原始 HTML,请明确并精简地配置 dompurifyConfig。
  • 尽量少覆盖主题。以 x-markdown-light 或 x-markdown-dark 为基础,只覆盖所需变量。
  • 如果自定义组件依赖完整语法,请根据 streamStatus === 'done' 进行分支处理。

🤝 技能协作

场景推荐的技能组合原因
聊天中的丰富助手回复x-chat-provider → x-request → use-x-chat → x-markdown提供程序和请求负责处理数据流,x-markdown 负责最终渲染
使用内置提供程序并返回 Markdown 回复x-request → use-x-chat → x-markdown将请求配置与渲染职责分开
独立的 Markdown 页面或文档查看器仅使用 x-markdown无需聊天数据流

职责边界规则

  • 调整 API 格式时使用 x-chat-provider。
  • 配置传输、身份验证、重试或流式分隔符时使用 x-request。
  • 在 React 中管理聊天状态时使用 use-x-chat。
  • 内容本身需要 Markdown 解析、流式恢复或丰富的组件渲染时使用 x-markdown。

🔗 参考资源

  • CORE.md - 包边界、安装/设置、安全默认值、常见渲染模式
  • STREAMING.md - 分块渲染、不完整语法恢复、加载与完成状态的行为
  • EXTENSIONS.md - 组件、插件、主题、自定义标签指南
  • API.md - 根据官方 x-markdown 文档生成的 API 参考

官方文档

评论

支持 Markdown