彩色Git diff到HTML

hen*_*dry 59 html git terminal diff colors

我喜欢使用git diff --color-words以清楚地看到文件中已更改的单词:

截图

但是,我想与没有git或彩色终端的人分享这种差异.那么有没有人知道可以将颜色转义终端输出转换为HTML 的工具或技巧?

hen*_*dry 84

wget "http://www.pixelbeat.org/scripts/ansi2html.sh" -O /tmp/ansi2html.sh
chmod +x /tmp/ansi2html.sh
git diff --color-words --no-index orig.txt edited.txt | \
/tmp/ansi2html.sh > 2beshared.html
Run Code Online (Sandbox Code Playgroud)

我真正需要的是ANSI到HTML转换器.我在http://www.pixelbeat.org/上找到了一个非常体面的人.

注意:您可能看不到任何着色,除非您包含--color--color-words,可能是因为管道导致git diff排除颜色.

注意2:您可能需要安装gnu sed和awk,特别是如果您使用的是Mac.这样做brew install gnu-sed gawk.您可能还需要手动将它们添加到路径中,例如使用ln -s /usr/local/Cellar/gnu-sed/4.2.2/bin/gsed /usr/local/bin/.

  • 很高兴你喜欢它:)你可以在这里看到一些示例用法:http://www.pixelbeat.org/docs/terminal_colours/ (9认同)

Mic*_*kan 12

下载diff2html,解压缩并使用以下命令将diff转换为html:

$ diff2html file1.txt file2.txt > diff-demo1.htm
Run Code Online (Sandbox Code Playgroud)

还有更多...看看这个问题.

或者在gitting之后:

git diff --color-words --no-index orig.txt /tmp/edited.txt > myfile
Run Code Online (Sandbox Code Playgroud)

这个位置下载ansifilter .并使用此命令将myfile转换为html格式

ansifilter -i myfile -H -o myfile2.html
Run Code Online (Sandbox Code Playgroud)

所以...这正是你想要的;)

  • http://www.flickr.com/photos/hendry/4250699527/我不接受`diff2html`,因为它看起来很棒. (3认同)

Mot*_*tys 12

我刚刚在 Debian 存储库中找到了aha ;这很简单:

git diff --color | aha > white.html          # white background
git diff --color | aha --black > black.html  # black background
git diff --color | aha --pink > pink.html    # pink background
Run Code Online (Sandbox Code Playgroud)

它微小的下载大小(<20KB)让我很好奇,所以我查看了它的源代码:它是一个独立的 C 文件,只有 4 个包含:errno.hstdlib.hstdio.hstring.h并且仅依赖于 libc。美丽!