生成符合Github风格的HTML格式的统一差异。
项目描述
ghdiff
生成符合Github风格的HTML格式的统一差异。
变更
0.4 (2014-06-13)
添加iPython魔法(mgaitan)
0.3 (2014-04-06)
修复以命令行脚本运行时的Python 3问题。
0.2
读取文件时检测字符编码(Nyoroon)
PEP-8清理(laulaz)
修复文本行过长时的显示问题(laulaz)
0.1
初始发布。
diff
生成差异并输出Github风格的HTML。
>>> import ghdiff
>>> from six import print_
>>> print_(ghdiff.diff("a\nb", "b\nb"))
<style type="text/css">
...
</style>
<div class="diff">
<div class="control">@@ -1,2 +1,2 @@
</div>
<div class="delete">-a</div>
<div class=""> b</div>
<div class="insert">+b</div>
</div>
css选项控制输出是否包含CSS。
>>> print_(ghdiff.diff("blah blah blah\nb", "blah zxqq blah\nb", css=False))
<div class="diff">
<div class="control">@@ -1,2 +1,2 @@
</div>
<div class="delete">-blah <span class="highlight">blah</span> blah</div>
<div class="insert">+blah <span class="highlight">zxqq</span> blah</div>
<div class=""> b</div>
</div>
diff还接受表示行的字符串列表。
>>> print_(ghdiff.diff(["blah blah blah", "b"], ["blah zxqq blah", "b"]))
<style type="text/css">
...
</style>
<div class="diff">
<div class="control">@@ -1,2 +1,2 @@
</div>
<div class="delete">-blah <span class="highlight">blah</span> blah</div>
<div class="insert">+blah <span class="highlight">zxqq</span> blah</div>
<div class=""> b</div>
</div>
IPython魔法
ghdiff还作为IPython魔法运行
In[1]: %load_ext ghdiff
In[2]: %ghdiff var1 var2
查看笔记本示例
colorize
colorize将现有的统一差异转换为Github风格的标记。
>>> print_(ghdiff.colorize("""\
... index 921100e..8b177e1 100755
... --- a/src/ghdiff.py
... +++ b/src/ghdiff.py
... @@ -10,20 +10,24 @@ def escape(text):
... default_css = \"\"\"\
... <style type="text/css">
... %s
... -</style>\"\"\" % (open(os.path.join(os.path.dirname(__file__), "default.css")).read(),)
... +</style>
... +\"\"\" % (open(os.path.join(os.path.dirname(__file__), "default.css")).read(),)
... +"""))
<style type="text/css">
...
</style>
<div class="diff">
<div class="control">@@ -10,20 +10,24 @@ def escape(text):</div>
<div class=""> default_css = """ <style type="text/css"></div>
<div class=""> %s</div>
<div class="delete">-</style>""" % (open(os.path.join(os.path.dirname(__file__), "default.css")).read(),)</div>
<div class="insert">+</style></div>
<div class="insert">+""" % (open(os.path.join(os.path.dirname(__file__), "default.css")).read(),)</div>
<div class="insert">+</div>
</div>
关闭
ghdiff-0.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 13cf6a4fa6d7b7137e0734c69ed22ff1ca76108350ce8cb03d0124ac4584ad9e |
|
MD5 | 3c4c7f0c6035be92f7fb68c28bf5423a |
|
BLAKE2b-256 | 305b68b45b8fc943d851bdc2bff5f0c686d75340432b60ff042ab5f8399ed2f9 |