mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-25 08:59:31 -05:00
serve video files using the HTML5 video tag (#418)
* serve video files using the HTML5 video tag * lint fix: add comment to IsVideoFile
This commit is contained in:
parent
8559d6f267
commit
6ade13e86e
4 changed files with 12 additions and 0 deletions
|
@ -431,6 +431,7 @@ file_history = History
|
||||||
file_view_raw = View Raw
|
file_view_raw = View Raw
|
||||||
file_permalink = Permalink
|
file_permalink = Permalink
|
||||||
file_too_large = This file is too large to be shown
|
file_too_large = This file is too large to be shown
|
||||||
|
video_not_supported_in_browser = Your browser doesn't support HTML5 video tag.
|
||||||
|
|
||||||
editor.new_file = New file
|
editor.new_file = New file
|
||||||
editor.upload_file = Upload file
|
editor.upload_file = Upload file
|
||||||
|
|
|
@ -494,3 +494,8 @@ func IsImageFile(data []byte) bool {
|
||||||
func IsPDFFile(data []byte) bool {
|
func IsPDFFile(data []byte) bool {
|
||||||
return strings.Index(http.DetectContentType(data), "application/pdf") != -1
|
return strings.Index(http.DetectContentType(data), "application/pdf") != -1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IsVideoFile detectes if data is an video format
|
||||||
|
func IsVideoFile(data []byte) bool {
|
||||||
|
return strings.Index(http.DetectContentType(data), "video/") != -1
|
||||||
|
}
|
||||||
|
|
|
@ -198,6 +198,8 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st
|
||||||
|
|
||||||
case base.IsPDFFile(buf):
|
case base.IsPDFFile(buf):
|
||||||
ctx.Data["IsPDFFile"] = true
|
ctx.Data["IsPDFFile"] = true
|
||||||
|
case base.IsVideoFile(buf):
|
||||||
|
ctx.Data["IsVideoFile"] = true
|
||||||
case base.IsImageFile(buf):
|
case base.IsImageFile(buf):
|
||||||
ctx.Data["IsImageFile"] = true
|
ctx.Data["IsImageFile"] = true
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,6 +43,10 @@
|
||||||
<div class="view-raw ui center">
|
<div class="view-raw ui center">
|
||||||
{{if .IsImageFile}}
|
{{if .IsImageFile}}
|
||||||
<img src="{{EscapePound $.RawFileLink}}">
|
<img src="{{EscapePound $.RawFileLink}}">
|
||||||
|
{{else if .IsVideoFile}}
|
||||||
|
<video controls src="{{EscapePound $.RawFileLink}}">
|
||||||
|
<strong>{{.i18n.Tr "repo.video_not_supported_in_browser"}}</strong>
|
||||||
|
</video>
|
||||||
{{else if .IsPDFFile}}
|
{{else if .IsPDFFile}}
|
||||||
<iframe width="100%" height="600px" src="{{AppSubUrl}}/plugins/pdfjs-1.4.20/web/viewer.html?file={{EscapePound $.RawFileLink}}"></iframe>
|
<iframe width="100%" height="600px" src="{{AppSubUrl}}/plugins/pdfjs-1.4.20/web/viewer.html?file={{EscapePound $.RawFileLink}}"></iframe>
|
||||||
{{else}}
|
{{else}}
|
||||||
|
|
Loading…
Reference in a new issue