GitWeb Default Diff 형식을`-Color-Words`로 변경하려면 어떻게합니까?
문제
나는 gitweb가 동일한 diff 형식을 출력하기를 원합니다. git diff --color-words
. 내가 어떻게 할 수 있는지 아는 사람이 있습니까? 나는 html :: fromansi를 보았지만 git diff --color-words
명령 줄에서.
해결책
어떻게 사용 했습니까? html :: Fromansi? 그것은 나에게 효과가 있기 때문에 다음 명령을 사용하여 의도 한대로 작동했습니다.
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
유용한 출력을 원하고 검은 색 배경에서 거의 보이지 않는 흰색 텍스트가 아니라면 html :: fromansi를 구성해야 할 것입니다. 위의 스크립트는 단지 개념 증명 코드입니다 (ANS는 최고의 스타일이 아닙니다).
btw 나는 품질에 대해 확신하지 못한다 html :: Fromansi 기준 치수; 설치되지 않았습니다 (사용 cpan
) 힘이없는 경우 (그러나 용어 :: vt102 :: 무한한이 모듈에는 필요할 수 있습니다).
ansi2html
서브 루틴은 일부 라인에 문제가 있습니다 (내장 / 트레일 엔드 라인 문자가 포함 된 선과 빈 줄 / 문자열이 있다고 생각합니다) Use of uninitialized value in concatenation (.) or string at .../HTML/FromANSI.pm line 353, <STDIN> line NN.
경고. 그게 내가해야했던 이유입니다 chomp
윤곽 (그리고 그것은 당신이 html :: fromansi 작업을하는 데있어서의 문제 일 수 있습니다).
또한이 모듈에서 생성 된 HTML은 구식 및 감가 상징을 사용하여 매우 끔찍합니다. <font face='...' style ='...'>
현대와 함께 태그 <span style='...'>
꼬리표; 또한 인라인 스타일 대신 CSS를 사용하는 옵션이 보이지 않습니다.