【发布时间】:2021-05-05 04:37:59
【问题描述】:
【问题讨论】:
【问题讨论】:
您可以单独使用git diff 实现相同的目标:
git diff --word-diff
git diff --word-diff-regex
并进一步配置它以使其着色,同时检查不同分支/提交之间的差异。将 diff 保存为 Markdown,将其渲染为 HTML,然后简单地解析 HTML 的输出并通过 CSS 添加颜色。
如果你的 Markdown 渲染器出现问题(例如尝试解析或无法解析 git 符号),只需在文本周围添加反引号(`),让它呈现为“”或“”标签,然后解析 HTML 并替换使用您选择的标签和适当的 CSS 对其进行着色。
相关文章(图片来源):https://blog.ipspace.net/2020/04/git-tip-word-diff.html
关于他们是否有 lib somewhere openly 我找不到任何关于它的提及,因此它可能直接嵌入到他们的一些 GUI/后端代码(专有)中,或者根本不公开。
【讨论】:
GitHub 在其网站github/markup 上记录了他们如何处理标记(来自 Markdown、textile、rst、asciidoc 等)。虽然这仅涉及将源文本呈现为 HTML(不区分),但它告诉我们他们使用 github/linguist 进行语法突出显示。事实证明,diff 是一种可以突出显示的语言。
虽然这并没有告诉我们 GitHub 如何生成其差异,但它确实表明了他们如何在其网站上应用突出显示差异。正如另一个答案已经演示了如何生成 GitHub 使用的差异(word-diff)样式,您应该能够通过语言学家传递 word-diff 的文本来复制相同的行为。
【讨论】: