문제

나는 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를 사용하는 옵션이 보이지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top