Wie kann ich das Standard-Diff-Format gitweb ändern `--color-words`?
Frage
Ich möchte gitweb das gleiche diff-Format als git diff --color-words
ausgegeben wird. Weiß jemand, wie kann ich das tun? Ich schaute auf HTML :: FromANSI aber konnte es nicht mit git diff --color-words
von der Kommandozeile erhalten zu arbeiten.
Lösung
Wie haben Sie HTML :: FromANSI ? Weil es für mich funktioniert, mit dem folgenden Befehl Arbeitete als beabsichtigt
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
Obwohl, wenn Sie verwendbar ausgegeben werden soll, und nicht die kaum sichtbaren weißen Text auf schwarzem Hintergrund, würden Sie wahrscheinlich brauchen, um configure HTML :: FromANSI. Die obige scriptlet ist nur Proof of Concept-Code (AM nicht in bestem Stil).
BTW bin ich nicht sicher über die Qualität der HTML :: FromANSI -Modul; es ist nicht installiert worden (cpan
verwenden) für mich ohne Kraft (aber es könnte sein Problem mit Term :: VT102 :: Boundless dieses Modul erfordert).
ansi2html
Unterprogramm Probleme mit einigen Linien (ich glaube, Linien mit eingebetteten / hinteren End-of-line Zeichen und Leerzeile / string), Use of uninitialized value in concatenation (.) or string at .../HTML/FromANSI.pm line 353, <STDIN> line NN.
Warnung erzeugt wird. Deshalb habe ich zu chomp
Linien hatte (und das könnte das Problem sein Sie machen musste HTML :: FromANSI Arbeit) .
Auch die HTML von diesem Modul erzeugt wird, ziemlich abscheuliche, mit veraltete und veraltet <font face='...' style ='...'>
Tag zusammen mit modernem <span style='...'>
-Tag; Ich habe nicht eine Option zu verwenden CSS auch anstelle von Inline-Stil sehen.