Skip to content

Commit 19d4b17

Browse files
authored
upload
0 parents  commit 19d4b17

File tree

4 files changed

+226
-0
lines changed

4 files changed

+226
-0
lines changed

niceDiff.bat

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
@echo OFF
2+
SETLOCAL ENABLEEXTENSIONS
3+
:: name of running script
4+
SET me=%~n0
5+
:: path to script folder
6+
SET parent=%~dp0
7+
8+
SET branchA=%1
9+
SET branchB=%2
10+
SET comparePath=%3
11+
12+
::validate 1st parametr
13+
IF "%branchA%"=="" (
14+
echo %me%: incorrect parameters. Please use: niceDiff ^<branch1-name^> ^<branch2-name^> [optional ^<path-to-comparing-files^>]
15+
GOTO:EOF
16+
)
17+
18+
::validate 2nd parametr
19+
IF "%branchB%"=="" (
20+
echo %me%: incorrect parameters. Please use: niceDiff ^<branch1-name^> ^<branch2-name^> [optional ^<path-to-comparing-files^>]
21+
GOTO:EOF
22+
)
23+
24+
:: get difference and write into file
25+
ECHO preparing raw difference...
26+
git diff --minimal %branchA% %branchB% %3 > %parent%/diff.txt
27+
:: note: --minimal flag get line different, --word-diff is nuclear diff
28+
29+
:: parce file into html
30+
call parceDiff.bat
31+

parceDiff.bat

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
ECHO start parcing...
2+
3+
::add top part of template
4+
TYPE %parent%template_top_report.html> niceDiff-report.html
5+
6+
SET parent=%~dp0
7+
8+
::CONSTANTS
9+
SET sOpenFile=^</div^>^<button class="section"^>
10+
SET sCloseFile=^</button^>^<div class="section-content"^>^<div^>
11+
SET sOpenCodeBlock=^</div^>^<div^>
12+
SET sOpenCodeLine=^<pre^>
13+
SET sCloseCodeLine=^</pre^>
14+
SET sOpenAddCodeLine=^<pre class="add"^>
15+
SET sOpenRemoveCodeLine=^<pre class="remove"^>
16+
17+
::init code block
18+
ECHO ^<div^>>> niceDiff-report.html
19+
::init file section
20+
ECHO ^<div^>>> niceDiff-report.html
21+
22+
SETLOCAL enabledelayedexpansion
23+
FOR /F "usebackq tokens=*" %%A IN ("%parent%/diff.txt") DO (
24+
SET line=%%A
25+
IF "!line:~0,10!"=="diff --git" (
26+
rem close last code block in previous file
27+
ECHO ^</div^>>> niceDiff-report.html
28+
rem new file
29+
ECHO !sOpenFile! >> niceDiff-report.html
30+
) ELSE IF "!line:~0,5!"=="--- a" (
31+
rem get file name
32+
ECHO !line:~5!!sCloseFile! >> niceDiff-report.html
33+
) ELSE IF "!line:~0,5!"=="+++ b" (
34+
rem skip line
35+
) ELSE IF "!line:~0,6!"=="index " (
36+
rem skip line
37+
) ELSE IF "!line:~0,3!"=="@@ " (
38+
rem start diff block
39+
ECHO !sOpenCodeBlock!!sOpenCodeLine!!line!!sCloseCodeLine! >> niceDiff-report.html
40+
) ELSE IF "!line:~0,1!"=="-" (
41+
rem start remove line
42+
ECHO !sOpenRemoveCodeLine!!line:~1!!sCloseCodeLine! >> niceDiff-report.html
43+
) ELSE IF "!line:~0,1!"=="+" (
44+
rem start add line
45+
ECHO !sOpenAddCodeLine!!line:~1!!sCloseCodeLine! >> niceDiff-report.html
46+
) ELSE (
47+
rem default add line
48+
ECHO !sOpenCodeLine!!line!!sCloseCodeLine! >> niceDiff-report.html
49+
)
50+
)
51+
::close last code block
52+
ECHO ^</div^>>> niceDiff-report.html
53+
::close file section
54+
ECHO ^</div^>>> niceDiff-report.html
55+
56+
::add bottom part of template
57+
TYPE %parent%template_bottom_report.html>> niceDiff-report.html
58+
59+
ECHO complited
60+

template_bottom_report.html

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
2+
</main>
3+
<script>
4+
var svgIconFile = '<svg viewBox="64 64 896 896" class="" data-icon="file" width="1em" height="1em" fill="#50e0d9" aria-hidden="true" focusable="false"><path fill="#e6f7ff" d="M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42z"></path><path fill="#50e0d9" d="M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z"></path></svg>'
5+
var acc = document.getElementsByClassName('section')
6+
var i
7+
8+
for (i = 0; i < acc.length; i++) {
9+
acc[i].innerHTML = svgIconFile + acc[i].innerHTML
10+
acc[i].addEventListener('click', function () {
11+
this.classList.toggle('active')
12+
var panel = this.nextElementSibling
13+
if (panel.style.maxHeight) {
14+
panel.style.maxHeight = null
15+
} else {
16+
panel.style.maxHeight = panel.scrollHeight + 'px'
17+
}
18+
})
19+
}
20+
</script>
21+
</body>
22+
23+
</html>

template_top_report.html

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
<!DOCTYPE html>
2+
<html>
3+
4+
<head>
5+
<title>niceDiff Report</title>
6+
<meta charset="utf-8">
7+
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
8+
<meta name="keywords" contect="niceDiff, reporters">
9+
<meta name="author" contect="halyna-dev">
10+
<meta name="viewport"
11+
content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
12+
<link rel="shortcut icon"
13+
href="data:image/png;base64,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">
14+
<style>
15+
* {
16+
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
17+
margin: 0;
18+
}
19+
main {
20+
background-color: rgb(240, 242, 245);
21+
padding: 0 50px;
22+
min-height: 90vh;
23+
}
24+
header{
25+
background-color: #FFFFFF;
26+
height: 10vh;
27+
padding: 0 50px;
28+
color: #1c5b86;
29+
display: -ms-flexbox;
30+
display: -webkit-flex;
31+
display: flex;
32+
-webkit-flex-direction: row;
33+
-ms-flex-direction: row;
34+
flex-direction: row;
35+
-webkit-flex-wrap: nowrap;
36+
-ms-flex-wrap: nowrap;
37+
flex-wrap: nowrap;
38+
-webkit-justify-content: space-between;
39+
-ms-flex-pack: justify;
40+
justify-content: space-between;
41+
-webkit-align-content: stretch;
42+
align-content: stretch;
43+
-webkit-align-items: center;
44+
-ms-flex-align: center;
45+
align-items: center;
46+
}
47+
header h2 {
48+
margin: 0;
49+
}
50+
header a{
51+
color: #50e0d9;
52+
font-size: 26px;
53+
}
54+
button {
55+
height: 30px;
56+
width: 100%;
57+
margin: 10px 0;
58+
border: none;
59+
border-radius: 5px;
60+
background-color: rgba(255, 255, 255, .5);
61+
color: #1c5b86;
62+
outline: none;
63+
font-size: 14px;
64+
text-align: left;
65+
}
66+
button:hover {
67+
cursor: pointer;
68+
background-color: rgba(255, 255, 255, .8);
69+
transition: background 0.2s ease-out;
70+
}
71+
.section-content {
72+
max-height: 0;
73+
overflow: hidden;
74+
transition: max-height 0.2s ease-out;
75+
border-radius: 5px;
76+
}
77+
.section-content div {
78+
padding: 18px;
79+
margin: 10px 0;
80+
background-color: white;
81+
border-radius: 5px;
82+
}
83+
.section-content div:first-child {
84+
display: none;
85+
}
86+
pre {
87+
color: rgba(0, 0, 0, .65);
88+
}
89+
.add {
90+
color: green;
91+
}
92+
.remove {
93+
color: red;
94+
}
95+
</style>
96+
</head>
97+
98+
<body>
99+
100+
<header>
101+
<h2>Report </h2>
102+
<a target="_blank" class="icon" href="https://github.com/">
103+
<i aria-label="icon: github" class="anticon anticon-github">
104+
<svg viewBox="64 64 896 896" class="" data-icon="github" width="1em" height="1em" fill="currentColor"
105+
aria-hidden="true" focusable="false">
106+
<path d="M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58.1-5.2 118.5 41.6 123.2 45.3 33-8.9 70.7-13.6 112.9-13.6 42.4 0 80.2 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.3-43.9 2.9 7.7 24.7 58.3 5.5 118 32.4 36.8 48.9 82.7 48.9 132.3 0 102.2-59 188.1-200 212.9a127.5 127.5 0 0 1 38.1 91v112.5c.8 9 0 17.9 15 17.9 177.1-59.7 304.6-227 304.6-424.1 0-247.2-200.4-447.3-447.5-447.3z"></path>
107+
</svg>
108+
</i>
109+
</a>
110+
</header>
111+
112+
<main>

0 commit comments

Comments
 (0)