aboutsummaryrefslogtreecommitdiffstats
path: root/modules/template/template.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/template/template.go')
-rw-r--r--modules/template/template.go160
1 files changed, 81 insertions, 79 deletions
diff --git a/modules/template/template.go b/modules/template/template.go
index da7f20c585..79b3f83565 100644
--- a/modules/template/template.go
+++ b/modules/template/template.go
@@ -22,86 +22,88 @@ import (
"github.com/gogits/gogs/modules/setting"
)
-var Funcs template.FuncMap = map[string]interface{}{
- "GoVer": func() string {
- return strings.Title(runtime.Version())
- },
- "UseHTTPS": func() bool {
- return strings.HasPrefix(setting.AppUrl, "https")
- },
- "AppName": func() string {
- return setting.AppName
- },
- "AppSubUrl": func() string {
- return setting.AppSubUrl
- },
- "AppUrl": func() string {
- return setting.AppUrl
- },
- "AppVer": func() string {
- return setting.AppVer
- },
- "AppDomain": func() string {
- return setting.Domain
- },
- "DisableGravatar": func() bool {
- return setting.DisableGravatar
- },
- "LoadTimes": func(startTime time.Time) string {
- return fmt.Sprint(time.Since(startTime).Nanoseconds()/1e6) + "ms"
- },
- "AvatarLink": base.AvatarLink,
- "Safe": Safe,
- "Str2html": Str2html,
- "TimeSince": base.TimeSince,
- "RawTimeSince": base.RawTimeSince,
- "FileSize": base.FileSize,
- "Subtract": base.Subtract,
- "Add": func(a, b int) int {
- return a + b
- },
- "ActionIcon": ActionIcon,
- "DateFmtLong": func(t time.Time) string {
- return t.Format(time.RFC1123Z)
- },
- "DateFmtShort": func(t time.Time) string {
- return t.Format("Jan 02, 2006")
- },
- "List": List,
- "Mail2Domain": func(mail string) string {
- if !strings.Contains(mail, "@") {
- return "try.gogs.io"
- }
+func NewFuncMap() []template.FuncMap {
+ return []template.FuncMap{map[string]interface{}{
+ "GoVer": func() string {
+ return strings.Title(runtime.Version())
+ },
+ "UseHTTPS": func() bool {
+ return strings.HasPrefix(setting.AppUrl, "https")
+ },
+ "AppName": func() string {
+ return setting.AppName
+ },
+ "AppSubUrl": func() string {
+ return setting.AppSubUrl
+ },
+ "AppUrl": func() string {
+ return setting.AppUrl
+ },
+ "AppVer": func() string {
+ return setting.AppVer
+ },
+ "AppDomain": func() string {
+ return setting.Domain
+ },
+ "DisableGravatar": func() bool {
+ return setting.DisableGravatar
+ },
+ "LoadTimes": func(startTime time.Time) string {
+ return fmt.Sprint(time.Since(startTime).Nanoseconds()/1e6) + "ms"
+ },
+ "AvatarLink": base.AvatarLink,
+ "Safe": Safe,
+ "Str2html": Str2html,
+ "TimeSince": base.TimeSince,
+ "RawTimeSince": base.RawTimeSince,
+ "FileSize": base.FileSize,
+ "Subtract": base.Subtract,
+ "Add": func(a, b int) int {
+ return a + b
+ },
+ "ActionIcon": ActionIcon,
+ "DateFmtLong": func(t time.Time) string {
+ return t.Format(time.RFC1123Z)
+ },
+ "DateFmtShort": func(t time.Time) string {
+ return t.Format("Jan 02, 2006")
+ },
+ "List": List,
+ "Mail2Domain": func(mail string) string {
+ if !strings.Contains(mail, "@") {
+ return "try.gogs.io"
+ }
- return strings.SplitN(mail, "@", 2)[1]
- },
- "SubStr": func(str string, start, length int) string {
- if len(str) == 0 {
- return ""
- }
- end := start + length
- if length == -1 {
- end = len(str)
- }
- if len(str) < end {
- return str
- }
- return str[start:end]
- },
- "DiffTypeToStr": DiffTypeToStr,
- "DiffLineTypeToStr": DiffLineTypeToStr,
- "Sha1": Sha1,
- "ShortSha": base.ShortSha,
- "MD5": base.EncodeMD5,
- "ActionContent2Commits": ActionContent2Commits,
- "ToUtf8": ToUtf8,
- "EscapePound": func(str string) string {
- return strings.Replace(strings.Replace(str, "%", "%25", -1), "#", "%23", -1)
- },
- "RenderCommitMessage": RenderCommitMessage,
- "ThemeColorMetaTag": func() string {
- return setting.ThemeColorMetaTag
- },
+ return strings.SplitN(mail, "@", 2)[1]
+ },
+ "SubStr": func(str string, start, length int) string {
+ if len(str) == 0 {
+ return ""
+ }
+ end := start + length
+ if length == -1 {
+ end = len(str)
+ }
+ if len(str) < end {
+ return str
+ }
+ return str[start:end]
+ },
+ "DiffTypeToStr": DiffTypeToStr,
+ "DiffLineTypeToStr": DiffLineTypeToStr,
+ "Sha1": Sha1,
+ "ShortSha": base.ShortSha,
+ "MD5": base.EncodeMD5,
+ "ActionContent2Commits": ActionContent2Commits,
+ "ToUtf8": ToUtf8,
+ "EscapePound": func(str string) string {
+ return strings.Replace(strings.Replace(str, "%", "%25", -1), "#", "%23", -1)
+ },
+ "RenderCommitMessage": RenderCommitMessage,
+ "ThemeColorMetaTag": func() string {
+ return setting.ThemeColorMetaTag
+ },
+ }}
}
func Safe(raw string) template.HTML {