Je souhaite que gitweb génère le même format diff que git diff --color-words
. Est-ce que quelqu'un sait comment je peux faire ça? J'ai regardé HTML :: From ANSI mais je n'ai pas pu le faire fonctionner avec git diff --color-words
à partir de la ligne de commande.Comment modifier le format diff par défaut de Gitweb en `--color-words`?
Répondre
Comment avez-vous utilisé HTML::FromANSI? Parce que cela fonctionne pour moi, en utilisant la commande suivante a fonctionné comme prévu
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
Bien que si vous voulez une sortie utilisable, et non à peine visible du texte blanc sur fond noir, vous auriez probablement besoin de configurer HTML :: FromANSI. Le scriptlet ci-dessus est juste un code de preuve de concept (et pas dans le meilleur style).
BTW Je ne suis pas sûr de la qualité du module HTML::FromANSI; il n'a pas installé (en utilisant cpan
) pour moi sans force (mais il pourrait être un problème avec Term :: VT102 :: Boundless ce module nécessite). Le sous-programme a des problèmes avec certaines lignes (je pense que les lignes avec caractère de fin de ligne incorporé/fin, et ligne/chaîne vide), produisant Use of uninitialized value in concatenation (.) or string at .../HTML/FromANSI.pm line 353, <STDIN> line NN.
avertissement. C'est pourquoi je devais chomp
lignes (et cela pourrait être le problème que vous avez eu avec faire HTML :: FromANSI travail).
Aussi le HTML produit par ce module est assez horrible, en utilisant <font face='...' style ='...'>
étiquette obsolète et obsolète avec tag moderne <span style='...'>
; aussi je ne vois pas une option pour utiliser CSS au lieu du style en ligne.
Oui, en regardant la source, il faudrait un peu de piratage pour bien fonctionner. – singingfish