这个是 mdxbuilder 的问题,打包完乱序,解包工具解包时就乱了。整体重排是正常,不正常的是同名词头乱序,如果文本里词头顺序类似 down n.1,down n.2,down n.3的情况,打包的时候应该保持住这个顺序。
git 不看好,文本patch的形式不知道合不合适,举例原始mdx文本:
down
<span>Get down off the taable.</span>
</>
float
<span>I wasn’t sure if the raft would float.</span>
</>
上面的 taable 需要修成 table,另外所有 span 外加div 标签。patch文本的组织形式和 mdx 文本保持一致,用</>分开需要修的词头,第一行词头, 第二行是需要修的文本,第三行是替换文本, patch文本的格式:
down
the taable
the table
</>
*
(<span>(([\s\S])*?)<\/span>)
<div>$1</div>
</>
上面的星号(*)在第一行,表示所有词头里替换,第二,三行用正则替换,完成span 外套 div。整个 patch 文本,按顺序执行。这些都可以手工修,问题是很繁琐,文本 patch的形式,会更清楚些,也方便分享,替换结果:
down
<div><span>Get down off the table.</span></div>
</>
float
<div><span>I wasn’t sure if the raft would float.</span></div>
</>
衍生处理,还可以替换词头,拆分词头之类的。