Agent Skills
返回列表
Marked Markdown 渲染器

Marked Markdown 渲染器

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_f1b049da/xcv20261768。

技能介绍

要解决的问题

当 AI 生成日报、跟进纪要或帮助文档时,输出通常是原始 Markdown。前端最常见的捷径是直接拼接字符串并通过 v-html 注入。然而,一旦内容来源于模型或用户输入,就相当于将不可信 HTML 直接塞进 DOM。一个内嵌的 <script> 标签或 onclick 事件处理器就能立刻触发 XSS 攻击。反之,为了简单的预览而引入功能完整的富文本编辑器,会引入巨大的打包体积膨胀和不必要的复杂性。工具栏、排版面板和协同编辑等功能根本用不上,只会拖慢轻量级展示任务的性能。

核心能力与实现步骤

这个技能旨在提供轻量且安全的 MD 到 HTML 预览,灵感直接来源于工具箱 marked。实现路径具体且聚焦:

  1. 接入 marked:根据具体产品需求连接库并配置 breaks 等选项。将解析逻辑封装到统一的 mdToSafeHtml 函数中,确保调用者无法直接使用原始解析器。
  2. 渲染前消毒:挂载专用的消毒库(如 DOMPurify)或等效的严格白名单过滤器。硬性规则是:任何源自用户或模型的 HTML 在插入 DOM 之前必须被彻底清理。
  3. 极简样式:提供涵盖标题、列表和代码块的基础 CSS。不要试图复刻编辑器级的排版,目标是清晰、可用的渲染。
  4. 严格自测:验证两类截然不同的场景。首先,确保标题、嵌套列表和代码块等标准元素完美渲染。其次,输入包含 <script> 标签或 onerror 属性的恶意 Markdown,确认它们被完全剥除且不会引起页面异常。
  5. 大文档处理:对于超大文件,截断预览并在末尾附加“完整内容请下载”的明确提示,以防止渲染瓶颈。

适用边界

  • 永远不要对不可信的 Markdown 关闭消毒。这是不可协商的硬性约束,而非可配置的偏好。
  • 只管渲染,不涉抽取:本技能严格专注于渲染。它不抓取或提取网页内容。像“一键同步文章”这样的功能属于另一个包,不应混淆。
  • 保持轻量:避免将繁重的 Word 或 PDF 解析管线强行塞进本技能。这种工作流与轻量预览的理念相悖,且会不必要地臃肿实现。

使用场景

  • 团队周报助手将AI生成的跟进纪要渲染为内部网页
  • 帮助文档平台将上传的Markdown说明渲染并安全展示
  • 内部审核工具将用户提交的变更记录实时渲染为预览

适合人员

  • 前端工程师,需安全渲染用户输入的Markdown评论
  • 工具开发者,在自动化脚本中生成防XSS的日报网页
  • 文档管理员,将协助文档以轻量HTML形式发布到内网