ngx-markdown
将 <markdown [data]="text"> 换成 <fluxdown [text]="text" />,即可迁移普通展示。Fluxdown 当前需要 Angular 22;较旧的项目应先处理框架版本兼容。
使用 Agent 协助
把下面这段发给项目中的 Agent:
替换展示组件
迁移前,组件使用 MarkdownComponent,应用中已配置 provideMarkdown():
迁移后不需要 Markdown provider:
Fluxdown 内置组件样式。全部旧用法移除后,再清理 provideMarkdown() 或 MarkdownModule 的注册。
迁移加载与扩展
Fluxdown 接收 Markdown 文本,没有 src 下载属性。远程文件继续由应用的 HttpClient 获取,将响应正文传给 text;原来的 load、error 逻辑放到请求处理处。MarkdownPipe 或 MarkdownService.parse() 返回 HTML 的调用点也要检查:展示区域可直接用组件,其他需要 HTML 字符串的功能应保留到完成单独迁移。
完整预设已有代码高亮和复制按钮。Mermaid 代码块由 Pele 渲染,需要核对图表支持范围;原来的 Mermaid 配置不能直接复用。公式解析需要开启 build.tex:
自定义 Marked renderer 改用 Slot 插件,语法扩展参考 Remark 插件。inline、ready 和原来的 sanitizer 配置没有同名替代属性,需按实际用途调整,HTML 处理见 Rehype 插件。
使用主题配置重建正文与代码配色,再确认 Prism 等全局资源是否还有其他使用者。原库的 providers 与各类用法见 ngx-markdown 文档。
接入流式内容
这里的 text、pending 是应用已有的 signals。将累积文本写入 text,请求结束后把 pending 设为 false。