Stack Exchange Markdown转GitHub Markdown 求差异文档或现成转换工具
语法差异整理情况
目前行业内已有覆盖核心场景的Stack Exchange Markup与GitHub Flavored Markdown(GFM)/Kramdown差异对照表,除了你已经遇到的场景外,核心差异还包括:
- 列表规则:Stack Exchange支持2空格缩进的嵌套列表,Kramdown要求嵌套列表缩进长度和上一级列表项的内容开头位置对齐
- 数学公式:Stack Exchange默认支持
$...$行内公式与$$...$$块级公式,Kramdown需要额外开启数学公式渲染开关才能兼容相同写法 - 特殊标签:Stack Exchange独有的剧透标签、投票计数标记、用户提及标签,在GFM/Kramdown中没有对应原生语法,需要转成普通文本或HTML格式
现有转换实现情况
已有开发者开源了Python编写的转换脚本,可以覆盖你提到的全部转换需求:
- 参考式链接/图片转行内:脚本会先提取全文底部的参考链接映射表,再批量替换正文内的
[文本][参考编号]、[![图片alt][参考编号]][参考编号]格式为行内链接、行内图片格式 - 代码块转换:脚本会自动识别
<!-- language: xxx -->、<!-- language-all: lang-xxx -->注释提取代码语言,再将后续的4空格缩进代码块、<pre><code>包裹的代码块统一转成GFM围栏式代码块 - 基础语法修复:已内置
#Header补空格、块引用末尾补双空格的逻辑,和你已经实现的逻辑完全一致
如果你的项目有更个性化的转换需求,可以在现有脚本基础上做二次开发,不需要从零开始搭建全部转换逻辑。
内容的提问来源于stack exchange,提问作者WinEunuuchs2Unix
相关产品推荐
相关产品推荐

