Marked
把 Marked 接入 Core,主要变化是从一次返回 HTML,改为持有一组可更新的内容块。如果只是要在应用里显示 Markdown,可以直接选择对应框架的渲染器。本页适合需要自己处理输出的项目。
使用 Agent 协助
把下面的内容发给项目中的 Agent:
替换 HTML 输出入口
原来的代码通常只需要一次调用:
安装 Core,以及用于保留 HTML 输出的序列化工具:
按快速开始创建 BlocksRenderer、text 和 core。读取 HTML 时,把每个块的当前 HAST 交给 hast-util-to-html:
这里读取的是当前快照。接到界面时,需要同时订阅块列表和每个块的内容,见状态与更新。不要只在 renderItem 中返回一次 HTML 字符串,否则已有块继续增长时会漏掉更新。
迁移扩展与配置
快速开始的语法配置面向流式内容。迁移静态文章时,按原文需要启用 build.indentedCode、build.setextHeading,并关闭 build.repairEnding;这些设置见自定义配置。换行、链接和 HTML 输出也应对照原来的样本检查。
Core 自带 HTML 过滤,但它的规则与项目已有过滤器并不相同。先保留原来的安全约束,再决定如何配置允许的标签与属性。Core 本身也不提供代码高亮 UI;需要完整展示时使用框架渲染器,或在自己的输出流程中实现。
完成迁移
一个独立文档或消息使用一个 Core 实例。结束使用时,取消自己建立的订阅,再释放实例和外部输入:
确认其他调用入口不再依赖 Marked 后,再移除它及不再使用的扩展。