我想的GitWeb输出相同的差异格式作为git diff --color-words。有谁知道我能做到这一点?我看着HTML :: FromANSI,但不能把它与命令行git diff --color-words工作。

有帮助吗?

解决方案

你是如何使用 HTML :: FromANSI ?因为它的工作原理对我来说,使用下面的命令担任意

git diff --color-words HEAD^ HEAD |
perl -wle '
use HTML::FromANSI; 
my @lines = <STDIN>; 
foreach my $line (@lines) {
    chomp $line;
    print ansi2html($line); 
}' > tmp.html

但如果你想使用的输出,而不是勉强可见的白色文本,黑色背景,你可能需要配置HTML :: FromANSI。上述的scriptlet是的概念代码只是证明(ANS不是最好的样式)。


BTW我不知道如何 HTML :: FromANSI 模块的质量;它没有为我安装(使用cpan)无动力(但也可能是有期限:: VT102问题::这无边模块需要)。

子程序ansi2html有一些行(我认为具有嵌入/尾端的行字符,和空行/串线),产生Use of uninitialized value in concatenation (.) or string at .../HTML/FromANSI.pm line 353, <STDIN> line NN.警告问题。这就是为什么我不得不chomp行的(这可能是你与制作HTML :: FromANSI工作中的问题)的。

另外,通过该模块产生的HTML是相当可怕,一起使用过时和弃用<font face='...' style ='...'>标签与现代<span style='...'>标签;我也没有看到,而不是使用内嵌样式CSS的选项。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top