Open Judong0x0 opened 1 year ago
简单的表格可以处理好,但复杂的表格会出问题,感觉 Markdown 的表格支持比较弱,不大好实现转换功能。
我遇到两个问题:表格内换行<br/>
被替换成了\n
,表格内空白格被替换成了 unicode  
。
我遇到两个问题:表格内换行
<br/>
被替换成了\n
,表格内空白格被替换成了 unicode 
。
找到一个方法,用mdast-util-gfm-table
来解析表格,并且不要用yuque-exporter
原本的remark
插件来替换表格中的<br/>
,这样就能保持表格格式。
micromark-extension-gfm-table
和mdast-util-gfm-table
提供了 GFM 表格的语法支持,增加了table
节点。于是可以自己遍历整个 Markdown 语法树,跳过所有table
节点,大概像这样:
const tree = fromMarkdown(mdstring, {
extensions: [gfmTable],
mdastExtensions: [gfmTableFromMarkdown]
});
visit(tree, visitor);
function visitor(node, parent) {
if (node.type === 'table')
return SKIP;
// 还可以在这里处理其他类型节点。
}
const newstring = toMarkdown(tree, {extensions: [gfmTableToMarkdown()]});
我改了一下原来的代码给自己用,可以参考:https://github.com/alephpiece/yuque-exporter
在导出与语雀的表格格式为markdown后出现错误,表格全乱了。。。。