2009-10-05 16 views

Répondre

2

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.

+0

Oui, en regardant la source, il faudrait un peu de piratage pour bien fonctionner. – singingfish