Domanda

Voglio gitweb all'uscita lo stesso formato diff come git diff --color-words. Qualcuno sa come posso fare questo? Ho guardato HTML :: FromANSI ma non sono riuscito a farlo funzionare con git diff --color-words dalla riga di comando.

È stato utile?

Soluzione

Come hai usato HTML :: FromANSI ? Perché funziona per me, usando il seguente comando ha funzionato come previsto

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

Anche se si desidera che l'uscita utilizzabile, e il testo bianco non appena visibile su sfondo nero, si sarebbe probabilmente necessario configurare HTML :: FromANSI. Quanto sopra è solo scriptlet codice di prova (ANS non in meglio lo stile).


A proposito io non sono sicuro circa la qualità dei HTML :: modulo FromANSI ; non è stato installato (utilizzando cpan) per me senza la forza (ma potrebbe essere un problema con Term :: :: VT102 Boundless questo modulo richiede).

ansi2html subroutine hanno problemi con alcune linee (Credo linee con / posteriore carattere incorporato di fine linea, e la linea di vuoto / stringa), producendo gli avvisi Use of uninitialized value in concatenation (.) or string at .../HTML/FromANSI.pm line 353, <STDIN> line NN.. Ecco perché ho dovuto chomp linee (e che potrebbe essere il problema che hai avuto con fare HTML :: lavoro FromANSI) .

Anche l'HTML prodotto da questo modulo è abbastanza orrendo, utilizzando tag <font face='...' style ='...'> obsoleta e deprecato insieme con etichetta <span style='...'> moderna; Inoltre non vedo la possibilità di utilizzare i CSS invece di stile in linea.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top