[错误] @tiptap/markdown: 表格单元中的转义的管道在序列化时丢失,然后在下一次往返时破坏了单元内容
□ 说明
一个GFM表格中包含一个逃出管子 (QQ) 的回路通过QQtiptap/markdown 具有破坏性: 解析对单元格的读取正确,但序列化释放出管子未脱逃,因此下个解析会将管子的单元格和内容在静态丢失后分出.
□ 受影响的版本
- `tiptittap/markdown' 3.310.
- 缩略语/缩略语表3.31.0
- `tiptiptap/启动-kit ' 3.31.0
- 节点20.20.2,没有DOM参与
□ 最小复制
从“@tiptap/markdown”导入{MarkdownManager}; 从 “@ tiptap/ starter- kit” 导入启动键; 从“@tiptap/extension- table” 导入{ tableKit} ;
const 管理器 = 新的 Markdown Manager ({ 扩展: [StarterKit, TabetKit]]});
const source = "| Col | value |----------------- 使用 管";
const pass1 = management.serialize(manager.parse(来源)); ; 高通; 高通; 高通. const pass2 = 经理.serialize(经理.parse (pass1));
控制台.log( pass1) ; 控制台.log( pass2) ;
□ 实际产出
1路口(出逃已去,所以手机标记现在被打破了):
============================================================================================================================================================================ {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? |用 管.
传出 第2段(被打破的标记现在将它描述为额外的一栏和管子消失后的文字):
============================================================================================================================================================================ |-|-|-. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}一个用着...
在解析文档的文本节点上行走显示数据丢失已经发生在通向一解析处:源解析出单元格文本的"使用"(uses QQ管),而再解析出1的通向只有"使用"(uses).
□ 预期
" 序列化 " 应当将表格单元格内文字的正文重排为正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正
□ 关于可能原因的说明
`MarkdownManager.escape Markdown语法 ' 逃脱了`[\`* [\]~]',但是没有 ' ,表格序列化路径似乎没有将`escapeTableCellPipes'(由` tiptap/extension-table'导出)应用到文本中,因此含有一字管的单元格文本被活出。
感谢在v3的减分工作;在这个边缘外,它在往返测试中得到了很好的支撑.内容来源: ueberdosis/tiptap