Как изменить формат различий по умолчанию в Gitweb на --color-words?

StackOverflow https://stackoverflow.com/questions/1518178

  •  19-09-2019
  •  | 
  •  

Вопрос

Я хочу, чтобы gitweb выводил тот же формат различий, что и 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.Приведенный выше скриптлет является лишь доказательством концептуального кода (и не в лучшем стиле).


Кстати, я не уверен в качестве HTML::FromANSI модуль;он не установился (используя cpan) для меня без силы (но это может быть проблема с Term::VT102::Boundless, который требуется этому модулю).

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