Symlink icons (#1416) (#3826)

* Updated vendor code for code.gitea.io/git

* Display symlinks correctly for files and directories

* Added symlink tests

* Applied silverwinds stylesheet patch

Signed-off-by: Tris Forster <tris.git@shoddynet.org>
This commit is contained in:
Tris Forster 2018-05-01 17:04:36 +10:00 committed by Lauris BH
parent 1928920a08
commit 85d14cc229
51 changed files with 837 additions and 33 deletions

View file

@ -23,6 +23,7 @@ import (
"unicode"
"unicode/utf8"
"code.gitea.io/git"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/util"
@ -559,3 +560,25 @@ func IsPDFFile(data []byte) bool {
func IsVideoFile(data []byte) bool {
return strings.Index(http.DetectContentType(data), "video/") != -1
}
// EntryIcon returns the octicon class for displaying files/directories
func EntryIcon(entry *git.TreeEntry) string {
switch {
case entry.IsLink():
te, err := entry.FollowLink()
if err != nil {
log.Debug(err.Error())
return "file-symlink-file"
}
if te.IsDir() {
return "file-symlink-directory"
}
return "file-symlink-file"
case entry.IsDir():
return "file-directory"
case entry.IsSubModule():
return "file-submodule"
}
return "file-text"
}

View file

@ -75,6 +75,7 @@ func NewFuncMap() []template.FuncMap {
"RawTimeSince": base.RawTimeSince,
"FileSize": base.FileSize,
"Subtract": base.Subtract,
"EntryIcon": base.EntryIcon,
"Add": func(a, b int) int {
return a + b
},