Pregunta

Quiero gitweb a la salida del mismo formato diff como git diff --color-words. ¿Alguien sabe cómo puedo hacer esto? Miré a HTML :: FromANSI pero no pude conseguir que funcione con git diff --color-words desde la línea de comandos.

¿Fue útil?

Solución

¿Cómo se utiliza HTML :: FromANSI ? Debido a que funciona para mí, usando el siguiente comando funcionó como se esperaba

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

A pesar de que si se quiere salida útil, y no apenas visible texto blanco sobre fondo negro, es probable que tenga que configurar HTML :: FromANSI. El scriplet anterior es sólo una prueba de concepto (no en la American National Standard mejor estilo).


Por cierto, no estoy seguro acerca de la calidad de HTML :: módulo FromANSI ; no se instaló (usando cpan) para mí sin fuerza (pero podría ser un problema en esta Term :: :: VT102 sin límites este módulo requiere).

subrutina ansi2html tiene problemas con algunas líneas (Creo líneas con / detrás carácter incrustado al final de la línea, y la línea / cadena vacía), produciendo la advertencia Use of uninitialized value in concatenation (.) or string at .../HTML/FromANSI.pm line 353, <STDIN> line NN.. Es por eso que tuve que chomp líneas (y que podría ser el problema que tenía con la fabricación de HTML :: trabajo FromANSI) .

También el HTML producido por este módulo es bastante horrible, vía punto <font face='...' style ='...'> anticuada y obsoleta, junto con la etiqueta <span style='...'> moderna; También no veo una opción para utilizar CSS en lugar de estilo en línea.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top