aboutsummaryrefslogtreecommitdiffstats
path: root/modules/git/blob.go
diff options
context:
space:
mode:
authorKN4CK3R <KN4CK3R@users.noreply.github.com>2021-06-05 14:32:19 +0200
committerGitHub <noreply@github.com>2021-06-05 15:32:19 +0300
commit8e262104c25d1c2578f683109e1b373aade3a17c (patch)
tree04b8fda8516498b74350bb695f230e0e1089a48d /modules/git/blob.go
parent7979c3654eb91adce4fd9717d9ff891496a56ff3 (diff)
downloadgitea-8e262104c25d1c2578f683109e1b373aade3a17c.tar.gz
gitea-8e262104c25d1c2578f683109e1b373aade3a17c.zip
Add Image Diff for SVG files (#14867)
* Added type sniffer. * Switched content detection from base to typesniffer. * Added GuessContentType to Blob. * Moved image info logic to client. Added support for SVG images in diff. * Restore old blocked svg behaviour. * Added missing image formats. * Execute image diff only when container is visible. * add margin to spinner * improve BIN tag on image diffs * Default to render view. * Show image diff on incomplete diff. Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: Lauris BH <lauris@nix.lv>
Diffstat (limited to 'modules/git/blob.go')
-rw-r--r--modules/git/blob.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/modules/git/blob.go b/modules/git/blob.go
index 674a6a9592..732356e5b2 100644
--- a/modules/git/blob.go
+++ b/modules/git/blob.go
@@ -10,6 +10,8 @@ import (
"encoding/base64"
"io"
"io/ioutil"
+
+ "code.gitea.io/gitea/modules/typesniffer"
)
// This file contains common functions between the gogit and !gogit variants for git Blobs
@@ -82,3 +84,14 @@ func (b *Blob) GetBlobContentBase64() (string, error) {
}
return string(out), nil
}
+
+// GuessContentType guesses the content type of the blob.
+func (b *Blob) GuessContentType() (typesniffer.SniffedType, error) {
+ r, err := b.DataAsync()
+ if err != nil {
+ return typesniffer.SniffedType{}, err
+ }
+ defer r.Close()
+
+ return typesniffer.DetectContentTypeFromReader(r)
+}