我希望 gitweb 输出与git diff --color-words
. 有人知道我该怎么做吗?我查看了 HTML::FromANSI 但无法git diff --color-words
从命令行使用它。
问问题
883 次
1 回答
2
你是如何使用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 只是概念验证代码(不是最好的样式)。
顺便说一句,我不确定HTML::FromANSI模块的质量;它没有cpan
为我安装(使用)没有强制(但它可能是 Term::VT102::Boundless 这个模块需要的问题)。
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 代替内联样式的选项。
于 2009-10-05T07:50:21.500 回答