aboutsummaryrefslogtreecommitdiffstats
path: root/templates/repo/diff
diff options
context:
space:
mode:
authorMario Lubenka <mario.lubenka@googlemail.com>2019-09-16 11:03:22 +0200
committerLunny Xiao <xiaolunwen@gmail.com>2019-09-16 17:03:22 +0800
commita37236314c88ea7990d4d7b1beeef74dd0aa112b (patch)
tree185fdc69c8a170a94510982a3310efa50b1857e7 /templates/repo/diff
parenta5f87feefd0622115611873da276d4725b6379bb (diff)
downloadgitea-a37236314c88ea7990d4d7b1beeef74dd0aa112b.tar.gz
gitea-a37236314c88ea7990d4d7b1beeef74dd0aa112b.zip
Adds side-by-side diff for images (#6784)
* Adds side-by-side diff for images Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Explain blank imports Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Use complete word for width and height labels on image compare Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Update index.css from master Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Moves ImageInfo to git commit file Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Assign ImageInfo function for template and sets correct target for BeforeSourcePath Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Adds missing comment Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Return error if ImageInfo failed Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Avoid template panic when ImageInfo failed for some reason Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Show file size on image diff Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Removes unused helper function Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Reverts copyright year change Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Close file reader Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Update commit.go Sets correct data key * Moves reader.Close() up a few lines * Updates index.css * Updates CSS file Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Transfers adjustments for image compare to compare.go file Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Adjusts variable name Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Apply lesshint recommendations Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Do not show old image on image compare if it is not in index of base commit Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Change file size text Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com>
Diffstat (limited to 'templates/repo/diff')
-rw-r--r--templates/repo/diff/box.tmpl22
-rw-r--r--templates/repo/diff/image_diff.tmpl46
2 files changed, 56 insertions, 12 deletions
diff --git a/templates/repo/diff/box.tmpl b/templates/repo/diff/box.tmpl
index 6c1ae2e447..edc04f9068 100644
--- a/templates/repo/diff/box.tmpl
+++ b/templates/repo/diff/box.tmpl
@@ -107,14 +107,12 @@
<div class="ui attached unstackable table segment">
{{if ne $file.Type 4}}
{{$isImage := (call $.IsImageFile $file.Name)}}
- {{if and $isImage}}
- <div class="center">
- <img src="{{$.RawPath}}/{{EscapePound .Name}}">
- </div>
- {{else}}
- <div class="file-body file-code code-view code-diff {{if $.IsSplitStyle}}code-diff-split{{else}}code-diff-unified{{end}}">
- <table>
- <tbody>
+ <div class="file-body file-code code-view code-diff {{if $.IsSplitStyle}}code-diff-split{{else}}code-diff-unified{{end}}">
+ <table>
+ <tbody>
+ {{if $isImage}}
+ {{template "repo/diff/image_diff" dict "file" . "root" $}}
+ {{else}}
{{if $.IsSplitStyle}}
{{$highlightClass := $file.GetHighlightClass}}
{{range $j, $section := $file.Sections}}
@@ -164,10 +162,10 @@
{{else}}
{{template "repo/diff/section_unified" dict "file" . "root" $}}
{{end}}
- </tbody>
- </table>
- </div>
- {{end}}
+ {{end}}
+ </tbody>
+ </table>
+ </div>
{{end}}
</div>
</div>
diff --git a/templates/repo/diff/image_diff.tmpl b/templates/repo/diff/image_diff.tmpl
new file mode 100644
index 0000000000..8fa7f6b872
--- /dev/null
+++ b/templates/repo/diff/image_diff.tmpl
@@ -0,0 +1,46 @@
+{{ $imagePathOld := printf "%s/%s" .root.BeforeRawPath (EscapePound .file.OldName) }}
+{{ $imagePathNew := printf "%s/%s" .root.RawPath (EscapePound .file.Name) }}
+
+<tr>
+ <th class="halfwidth center">
+ {{.root.i18n.Tr "repo.diff.file_before"}}
+ </th>
+ <th class="halfwidth center">
+ {{.root.i18n.Tr "repo.diff.file_after"}}
+ </th>
+</tr>
+<tr>
+ <td class="halfwidth center">
+ {{ $oldImageExists := (call .root.FileExistsInBaseCommit .file.OldName) }}
+ {{if $oldImageExists}}
+ <a href="{{$imagePathOld}}" target="_blank">
+ <img src="{{$imagePathOld}}" class="border red" />
+ </a>
+ {{end}}
+ </td>
+ <td class="halfwidth center">
+ <a href="{{$imagePathNew}}" target="_blank">
+ <img src="{{$imagePathNew}}" class="border green" />
+ </a>
+ </td>
+</tr>
+{{ $imageInfoBase := (call .root.ImageInfoBase .file.OldName) }}
+{{ $imageInfoHead := (call .root.ImageInfo .file.Name) }}
+{{if and $imageInfoBase $imageInfoHead }}
+<tr>
+ <td class="halfwidth center">
+ {{.root.i18n.Tr "repo.diff.file_image_width"}}: <span class="text {{if not (eq $imageInfoBase.Width $imageInfoHead.Width)}}red{{end}}">{{$imageInfoBase.Width}}</span>
+ &nbsp;|&nbsp;
+ {{.root.i18n.Tr "repo.diff.file_image_height"}}: <span class="text {{if not (eq $imageInfoBase.Height $imageInfoHead.Height)}}red{{end}}">{{$imageInfoBase.Height}}</span>
+ &nbsp;|&nbsp;
+ {{.root.i18n.Tr "repo.diff.file_byte_size"}}: <span class="text {{if not (eq $imageInfoBase.ByteSize $imageInfoHead.ByteSize)}}red{{end}}">{{FileSize $imageInfoBase.ByteSize}}</span>
+ </td>
+ <td class="halfwidth center">
+ {{.root.i18n.Tr "repo.diff.file_image_width"}}: <span class="text {{if not (eq $imageInfoBase.Width $imageInfoHead.Width)}}green{{end}}">{{$imageInfoHead.Width}}</span>
+ &nbsp;|&nbsp;
+ {{.root.i18n.Tr "repo.diff.file_image_height"}}: <span class="text {{if not (eq $imageInfoBase.Height $imageInfoHead.Height)}}green{{end}}">{{$imageInfoHead.Height}}</span>
+ &nbsp;|&nbsp;
+ {{.root.i18n.Tr "repo.diff.file_byte_size"}}: <span class="text {{if not (eq $imageInfoBase.ByteSize $imageInfoHead.ByteSize)}}green{{end}}">{{FileSize $imageInfoHead.ByteSize}}</span>
+ </td>
+ </tr>
+{{end}}