导入要保留来源类型以选对渲染链

**内容导入时如果把不同来源的正文塞进同一个字段,就会丢掉「它原本是什么格式」这个信息,渲染时自然选错渲染链。** 表现为:知识库里的剪藏打开后不像剪藏,而是像普通笔记。

症状与根因

现象根因
知识库里的剪藏内容格式和剪藏区不一样订阅导入时把 HTML 正文直接塞进 content_md,于是走了 Markdown 渲染链
同一个剪藏,从「已有剪藏」导入是对的,从「订阅」导入是错的两条导入路径给的正文格式不同(前者已是解析后的正文格式),但落库字段相同

格式与字段是两件事:content_html 和 content_md 不是可互换的容器。剪藏解析器会把网页转成适合 ClipReader 的正文格式;跳过这一步直接落库,等于把 HTML 当成 Markdown 读。

判断与做法

  1. 落库时要保留来源类型(如 kind: 'note' | 'clip' | 'html'),它决定打开时用哪个渲染器 —— 图标、阅读器、滚动行为都跟着这个类型走。
  2. 多来源入口必须收敛到同一个「归一化」步骤:不管从剪藏导入还是从订阅导入,都先转成该类型对应的正文格式,再落同一个字段。否则每加一条导入路径就会多一种格式事故。
  3. 症状「格式不对」先问:这条内容是从哪个入口进来的?它进来时是什么格式? 而不是先怀疑渲染器。

相关