diff options
author | Jonas Bröms <9416498+cez81@users.noreply.github.com> | 2018-10-30 03:17:26 +0100 |
---|---|---|
committer | Lunny Xiao <xiaolunwen@gmail.com> | 2018-10-30 10:17:26 +0800 |
commit | db30d6d7911b2fe458b5ccb5c6f6ad73381c9a70 (patch) | |
tree | ff374ccef3f61a5f17c3367472d068c6fca96185 | |
parent | 735b12eaf03613ed6986b3828a2e5715ed24484b (diff) | |
download | gitea-db30d6d7911b2fe458b5ccb5c6f6ad73381c9a70.tar.gz gitea-db30d6d7911b2fe458b5ccb5c6f6ad73381c9a70.zip |
Serve audio files using HTML5 audio tag (#5221)
* Serve audio files using HTML5 audio tag
* Correct copy paste error
-rw-r--r-- | modules/base/tool.go | 5 | ||||
-rw-r--r-- | options/locale/locale_en-US.ini | 1 | ||||
-rw-r--r-- | routers/repo/view.go | 2 | ||||
-rw-r--r-- | templates/repo/view_file.tmpl | 4 |
4 files changed, 12 insertions, 0 deletions
diff --git a/modules/base/tool.go b/modules/base/tool.go index 5b79a844ab..b069e5faee 100644 --- a/modules/base/tool.go +++ b/modules/base/tool.go @@ -576,6 +576,11 @@ func IsVideoFile(data []byte) bool { return strings.Index(http.DetectContentType(data), "video/") != -1 } +// IsAudioFile detects if data is an video format +func IsAudioFile(data []byte) bool { + return strings.Index(http.DetectContentType(data), "audio/") != -1 +} + // EntryIcon returns the octicon class for displaying files/directories func EntryIcon(entry *git.TreeEntry) string { switch { diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index a0babf7a19..6f32341575 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -592,6 +592,7 @@ file_view_raw = View Raw file_permalink = Permalink file_too_large = The file is too large to be shown. video_not_supported_in_browser = Your browser does not support the HTML5 'video' tag. +audio_not_supported_in_browser = Your browser does not support the HTML5 'audio' tag. stored_lfs = Stored with Git LFS commit_graph = Commit Graph diff --git a/routers/repo/view.go b/routers/repo/view.go index 210eb9fe5f..657fe315a2 100644 --- a/routers/repo/view.go +++ b/routers/repo/view.go @@ -264,6 +264,8 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st ctx.Data["IsPDFFile"] = true case base.IsVideoFile(buf): ctx.Data["IsVideoFile"] = true + case base.IsAudioFile(buf): + ctx.Data["IsAudioFile"] = true case base.IsImageFile(buf): ctx.Data["IsImageFile"] = true } diff --git a/templates/repo/view_file.tmpl b/templates/repo/view_file.tmpl index 6c37aab58a..07d1075b13 100644 --- a/templates/repo/view_file.tmpl +++ b/templates/repo/view_file.tmpl @@ -55,6 +55,10 @@ <video controls src="{{EscapePound $.RawFileLink}}"> <strong>{{.i18n.Tr "repo.video_not_supported_in_browser"}}</strong> </video> + {{else if .IsAudioFile}} + <audio controls src="{{EscapePound $.RawFileLink}}"> + <strong>{{.i18n.Tr "repo.audio_not_supported_in_browser"}}</strong> + </audio> {{else if .IsPDFFile}} <iframe width="100%" height="600px" src="{{AppSubUrl}}/vendor/plugins/pdfjs/web/viewer.html?file={{EscapePound $.RawFileLink}}"></iframe> {{else}} |