diff到html(diff2html)程序

blu*_*yed 52 html diff

我正在寻找一个"diff to html"程序,它将从给定的diff/patch文件生成一个静态html页面.

我当然用谷歌搜索了它,但除了一些脚本,我发现没有"真正的项目"(例如Debian/Ubuntu中没有包).

我错过了什么吗?你能推荐一下吗?

小智 28

您可以使用diff2html.py,它能够在统一的差异输入中在静态html页面中创建并排差异.该脚本是用python编写的.

cat foo.diff | python diff2html.py > foo.html
Run Code Online (Sandbox Code Playgroud)


pue*_*tzk 24

pygments具有diff(和许多其他语言)的语法高亮,可以用作库或命令行程序.这是你要找的东西吗?如果没有,请澄清问题......

  • 这对我很有用:`diff -U9999999 -y file_before.php file_after.php | pygmentize -l diff -f html -O full -o file_diff.html` (11认同)
  • Pygments 很酷,可惜它们不支持并排差异渲染。 (2认同)

小智 18

有点像:

vim test.diff -c TOhtml -c ":saveas test.html" -c ":q" -c ":q"
Run Code Online (Sandbox Code Playgroud)

效果很好,您可以通过更改vi中的颜色方案来更改diff的颜色方案.


ax.*_*ax. 9

怎么样文字的Diff-HTML,difflib.HtmlDiff,CSDiff

  • 这3个工具似乎生成diff文件.我认为最初的问题是要求美化已经生成的差异. (2认同)

小智 6

您是否尝试过http://prettydiff.com/,因为它忽略了空格和注释的差异.

[免责声明:这是我的网站]


Dan*_*ich 5

Vim 中还有2html,它工作得很好,而且是内置的:它需要一个 Vim 知道如何突出显示其语法的文件,并创建一个具有正确格式的 HTML。要使用它,只需用 Vim 打开想要的文件,并获取 2html 脚本。它将在可以保存的新缓冲区中打开转换后的文件。这里:

vim example.diff
Run Code Online (Sandbox Code Playgroud)

然后在 Vim 中,

:so /usr/share/vim/vim72/syntax/2html.vim
:wqa
Run Code Online (Sandbox Code Playgroud)


And*_*ill 5

我发现最好的产生良好并排差异的脚本是这个脚本:

http://tools.ietf.org/tools/rfcdiff/

尽管它设计用于 RFC,但它适用于任何文本文件。

这个项目也有很好的输出,但我不确定它是否可以在没有颠覆的情况下使用: http: //code.google.com/p/codeev/


ash*_*ley 3

我在 Emacs 中使用htmlize。不附带 Emacs,并且假设您正在使用 Emacs。依赖于 Emacs 的 Diff 模式的语法高亮。仅适用于一次处理一个文件。 为我做正确的事。