在客户端 javascript 中显示 Git 差异为 html
Display Git diff on client side in javascript as html
所以,简而言之,我基本上是在寻找以下方面的一些信息:
- 一种将 Git 的差异格式(它为您提供 git 集线器 api)转换为某种 html 格式的方法,例如实际的 github 网站。如果没有那样的话,
- 我想要一些关于git的diff文件格式的信息,所以我可以自己写。
2017 年更新(2 年后)
Jaybeecave mentions the tool diff2html.xyz,差异解析器和漂亮的 html 生成器。
git diff
format is inspired by the diff -p unix 命令。
(-p 用于 --show-c-function
:显示每个更改在哪个 C 函数中。)
正如我在“”中所解释的那样,该功能 ("Show which C function") 已经发展到考虑到其他语言。
这类似于您在 JSON 答案 when you compare two commits with the GitHub API 的 patch
字段中看到的内容。
该功能是 introduced in December 2012
Simply use the same resource URL and send either application/vnd.github.diff
or application/vnd.github.patch
in the Accept
header:
curl -H "Accept: application/vnd.github.diff" https://api.github.com/repos/pengwynn/dotfiles/commits/aee60a4cd56fb4c6a50e60f17096fc40c0d4d72c
结果:
diff --git a/tmux/tmux.conf.symlink b/tmux/tmux.conf.symlink
index 1f599cb..abaf625 100755
--- a/tmux/tmux.conf.symlink
+++ b/tmux/tmux.conf.symlink
@@ -111,6 +111,7 @@ set-option -g base-index 1
## enable mouse
set-option -g mouse-select-pane on
set-option -g mouse-select-window on
+set-option -g mouse-resize-pane on
set-window-option -g mode-keys vi
set-window-option -g mode-mouse on
# set-window-option -g monitor-activity off
格式遵循经典diff
unified format (also detailed here).
您可以在 cubicdaiya/node-dtl
中看到一个示例(node.js 的 dtl(diff 模板库)绑定)
所以,简而言之,我基本上是在寻找以下方面的一些信息:
- 一种将 Git 的差异格式(它为您提供 git 集线器 api)转换为某种 html 格式的方法,例如实际的 github 网站。如果没有那样的话,
- 我想要一些关于git的diff文件格式的信息,所以我可以自己写。
2017 年更新(2 年后)
Jaybeecave mentions
git diff
format is inspired by the diff -p unix 命令。
(-p 用于 --show-c-function
:显示每个更改在哪个 C 函数中。)
正如我在“
这类似于您在 JSON 答案 when you compare two commits with the GitHub API 的 patch
字段中看到的内容。
该功能是 introduced in December 2012
Simply use the same resource URL and send either
application/vnd.github.diff
orapplication/vnd.github.patch
in theAccept
header:
curl -H "Accept: application/vnd.github.diff" https://api.github.com/repos/pengwynn/dotfiles/commits/aee60a4cd56fb4c6a50e60f17096fc40c0d4d72c
结果:
diff --git a/tmux/tmux.conf.symlink b/tmux/tmux.conf.symlink
index 1f599cb..abaf625 100755
--- a/tmux/tmux.conf.symlink
+++ b/tmux/tmux.conf.symlink
@@ -111,6 +111,7 @@ set-option -g base-index 1
## enable mouse
set-option -g mouse-select-pane on
set-option -g mouse-select-window on
+set-option -g mouse-resize-pane on
set-window-option -g mode-keys vi
set-window-option -g mode-mouse on
# set-window-option -g monitor-activity off
格式遵循经典diff
unified format (also detailed here).
您可以在 cubicdaiya/node-dtl
中看到一个示例(node.js 的 dtl(diff 模板库)绑定)