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]) 

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

  • Проблема с поиском родителя определенного тега в html с помощью python
  • Как разрешить hardcoding, когда более новая версия библиотеки, которую я использую, использует другое имя функции? - python
  • Как читать html с URL-адреса в python 3
  • При анализе определенного сайта происходит сбой процесса Python
  • Django: запись вида для удаления элемента с флажками
  • Разбор данных с использованием BeautifulSoup в Python
  • IPython Notebook: как объединить вывод HTML и цифры matplotlib?
  • генератор python html
  • Поиск объявлений на веб-странице
  • используя bs4 для поиска html-тега (h2) с текстом
  • Как преобразовать таблицу HTML в массив в python
  • Python - лучший язык программирования в мире.