Git-diff для HTML

Я ищу способ создания HTML-файлов с выхода gitdiff, предпочтительно используя python. Я смотрел на http://docs.python.org/library/difflib.html, не имея возможности понять, как использовать вывод git-diff в качестве входных данных.

Любая подсказка?

Большое спасибо

3 Solutions collect form web for “Git-diff для HTML”

Вы можете использовать сценарий командной строки pygments, чтобы получить синтаксис высокоуровневого вывода HTML.

Монтаж:

$ easy_install Pygments 

Пример:

 $ git diff HEAD^1 > last.diff $ pygmentize -f html -O full,style=trac -l diff -o last.diff.html last.diff $ # mac only $ open last.diff.html 

Или короче:

 $ git diff | pygmentize -f html -O full,style=emacs -l diff 

PS Чтобы просмотреть все доступные стили, попробуйте:

 $ pygmentize -L styles 

PPS Чтобы завершить конвейер, вы можете использовать этот трюк :

 $ git diff | pygmentize -f html -O full,style=emacs -l diff | browser 

Возможно, вам нравится то, что вы ищете. Он принимает любой тип git style diff как входной файл и создает HTML-версию, которая довольно похожа на то, что GitHub дал бы вам. (И он добавляет редактор для добавления небольших комментариев. Это может быть немного больше, чем вы просили, но я не думаю, что это мешает.)

https://github.com/wspringer/difr

Я написал простую реализацию для моего maildiff

 def getHtml(diffData): """ This method convertes git diff data to html color code """ openTag = "<span style='font-size: .80em; color: " openTagEnd = ";font-family: courier, arial, helvetica, sans-serif;'>" nbsp = '&nbsp;&nbsp;&nbsp;&nbsp;' return ''.join([("%s%s%s%s%s</span><br>" % (openTag, '#ff0000' if line.startswith('-') else ('#007900' if line.startswith('+') else '#000000'), openTagEnd, nbsp*line.count('\t') ,line)) for line in diffData]) 

Посмотри на это.

  • Python html синтаксический анализ, который фактически работает
  • Как вставить ссылки в Python
  • Заменить HTML-ссылки на текст
  • Экспорт результатов ClearSoup в CSV; scrape + включить значения изображения в столбце
  • Как преобразовать ноутбук ipython в html с свернутым выходом (и / или вводом)
  • Как исправить это свойство AttributeError?
  • Python и HTML '% Operator'
  • Python с API Google Диска
  •  
    Interesting Posts for Van-Lav

    Scipy LinearOperator с несколькими входами

    Как написать встроенный комментарий в python

    Создайте колесо / яйцо и все зависимости для проекта python

    Вложенные генераторные выражения ведут себя неожиданно

    Разница между положительными и отрицательными значениями в xticklabel с использованием латекса в matplotlib

    Обнаружение узлов сетки с использованием OpenCV (или использование чего-то другого)

    Обеспечение загрузки py.test включает каталог приложений в sys.path

    как использовать paramiko для выполнения удаленных команд

    QT4, GTK +, wxWidgets или IronPython для собственного приложения Windows с использованием Python

    pandas: несколько условий при индексировании кадра данных – неожиданное поведение

    суммирование наблюдаемых в python reactivex

    Длина python struct.calcsize

    Написание одновременно, в несколько файлов, элементов списков разной длины

    OptionMenu не будет показывать первый вариант при нажатии (Tkinter)

    Где используется python Язык

    Python - лучший язык программирования в мире.