GitHub使用哪个库来呈现标记文档之间的差异?

GitHub使用哪个库来呈现标记文档之间的差异?,github,web,markdown,Github,Web,Markdown,GitHub支持可视化两种降价版本之间的差异: 他们在用什么图书馆?有没有与此库等效的开源软件?仅使用git diff就可以实现同样的效果: git diff --word-diff git diff --word-diff-regex 并进一步对其进行配置以使其着色,同时检查不同分支/提交之间的差异。将差异另存为标记,将其呈现为HTML,然后简单地解析HTML的输出并通过CSS添加颜色 如果您的Markdown呈现程序出现问题(例如,试图解析或未能解析git符号),只需在文本周围添加反勾号

GitHub支持可视化两种降价版本之间的差异:


他们在用什么图书馆?有没有与此库等效的开源软件?

仅使用
git diff
就可以实现同样的效果:

git diff --word-diff
git diff --word-diff-regex
并进一步对其进行配置以使其着色,同时检查不同分支/提交之间的差异。将差异另存为标记,将其呈现为HTML,然后简单地解析HTML的输出并通过CSS添加颜色

如果您的Markdown呈现程序出现问题(例如,试图解析或未能解析git符号),只需在文本周围添加反勾号(`),让它呈现为“”或“”标记,然后解析HTML并用您选择的标记替换为适当的CSS来着色

相关文章(图片来源):


关于他们是否有lib,我找不到任何关于它的提及,因此它可能直接嵌入到他们的一些GUI/后端代码(专有)中,或者根本不是公开的。

GitHub在他们的站点上记录了他们如何处理标记(来自Markdown、textile、rst、asciidoc等)。虽然这只涉及将源文本呈现为HTML(而不是差分),但它告诉我们它们用于语法高亮显示。事实证明,是一种可以突出显示的语言


虽然这并没有告诉我们GitHub是如何生成差异的,但它确实建议了他们如何在自己的站点上突出显示差异。另一个答案已经演示了如何生成GitHub使用的diff(单词diff)样式,您应该能够通过将单词diff的文本传递给语言学家来复制相同的行为。

我试图在我的React应用程序中实现一个diff视图。其想法是将降价文档的当前版本与以前的版本区分开来。用于降价的视觉差异查看器才有意义;然后我看到GitHub在做什么,变得更加好奇。