|
|
@@ -18,7 +18,6 @@ import ( |
|
|
|
"path/filepath" |
|
|
|
"reflect" |
|
|
|
"regexp" |
|
|
|
"runtime" |
|
|
|
"strings" |
|
|
|
texttmpl "text/template" |
|
|
|
"time" |
|
|
@@ -56,12 +55,6 @@ var mailSubjectSplit = regexp.MustCompile(`(?m)^-{3,}[\s]*$`) |
|
|
|
// NewFuncMap returns functions for injecting to templates |
|
|
|
func NewFuncMap() []template.FuncMap { |
|
|
|
return []template.FuncMap{map[string]interface{}{ |
|
|
|
"GoVer": func() string { |
|
|
|
return util.ToTitleCase(runtime.Version()) |
|
|
|
}, |
|
|
|
"UseHTTPS": func() bool { |
|
|
|
return strings.HasPrefix(setting.AppURL, "https") |
|
|
|
}, |
|
|
|
"AppName": func() string { |
|
|
|
return setting.AppName |
|
|
|
}, |
|
|
@@ -81,10 +74,7 @@ func NewFuncMap() []template.FuncMap { |
|
|
|
"AppVer": func() string { |
|
|
|
return setting.AppVer |
|
|
|
}, |
|
|
|
"AppBuiltWith": func() string { |
|
|
|
return setting.AppBuiltWith |
|
|
|
}, |
|
|
|
"AppDomain": func() string { |
|
|
|
"AppDomain": func() string { // documented in mail-templates.md |
|
|
|
return setting.Domain |
|
|
|
}, |
|
|
|
"AssetVersion": func() string { |
|
|
@@ -108,11 +98,7 @@ func NewFuncMap() []template.FuncMap { |
|
|
|
"CustomEmojis": func() map[string]string { |
|
|
|
return setting.UI.CustomEmojisMap |
|
|
|
}, |
|
|
|
"IsShowFullName": func() bool { |
|
|
|
return setting.UI.DefaultShowFullName |
|
|
|
}, |
|
|
|
"Safe": Safe, |
|
|
|
"SafeJS": SafeJS, |
|
|
|
"JSEscape": JSEscape, |
|
|
|
"Str2html": Str2html, |
|
|
|
"TimeSince": timeutil.TimeSince, |
|
|
@@ -140,25 +126,8 @@ func NewFuncMap() []template.FuncMap { |
|
|
|
"DateFmtLong": func(t time.Time) string { |
|
|
|
return t.Format(time.RFC1123Z) |
|
|
|
}, |
|
|
|
"DateFmtShort": func(t time.Time) string { |
|
|
|
return t.Format("Jan 02, 2006") |
|
|
|
}, |
|
|
|
"CountFmt": base.FormatNumberSI, |
|
|
|
"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] |
|
|
|
}, |
|
|
|
"CountFmt": base.FormatNumberSI, |
|
|
|
"EllipsisString": base.EllipsisString, |
|
|
|
"DiffTypeToStr": DiffTypeToStr, |
|
|
|
"DiffLineTypeToStr": DiffLineTypeToStr, |
|
|
|
"ShortSha": base.ShortSha, |
|
|
|
"ActionContent2Commits": ActionContent2Commits, |
|
|
@@ -166,7 +135,6 @@ func NewFuncMap() []template.FuncMap { |
|
|
|
"PathEscapeSegments": util.PathEscapeSegments, |
|
|
|
"URLJoin": util.URLJoin, |
|
|
|
"RenderCommitMessage": RenderCommitMessage, |
|
|
|
"RenderCommitMessageLink": RenderCommitMessageLink, |
|
|
|
"RenderCommitMessageLinkSubject": RenderCommitMessageLinkSubject, |
|
|
|
"RenderCommitBody": RenderCommitBody, |
|
|
|
"RenderCodeBlock": RenderCodeBlock, |
|
|
@@ -429,9 +397,6 @@ func NewFuncMap() []template.FuncMap { |
|
|
|
curBranch, |
|
|
|
) |
|
|
|
}, |
|
|
|
"RefShortName": func(ref string) string { |
|
|
|
return git.RefName(ref).ShortName() |
|
|
|
}, |
|
|
|
}} |
|
|
|
} |
|
|
|
|
|
|
@@ -439,9 +404,6 @@ func NewFuncMap() []template.FuncMap { |
|
|
|
// It's a subset of those used for HTML and other templates |
|
|
|
func NewTextFuncMap() []texttmpl.FuncMap { |
|
|
|
return []texttmpl.FuncMap{map[string]interface{}{ |
|
|
|
"GoVer": func() string { |
|
|
|
return util.ToTitleCase(runtime.Version()) |
|
|
|
}, |
|
|
|
"AppName": func() string { |
|
|
|
return setting.AppName |
|
|
|
}, |
|
|
@@ -454,10 +416,7 @@ func NewTextFuncMap() []texttmpl.FuncMap { |
|
|
|
"AppVer": func() string { |
|
|
|
return setting.AppVer |
|
|
|
}, |
|
|
|
"AppBuiltWith": func() string { |
|
|
|
return setting.AppBuiltWith |
|
|
|
}, |
|
|
|
"AppDomain": func() string { |
|
|
|
"AppDomain": func() string { // documented in mail-templates.md |
|
|
|
return setting.Domain |
|
|
|
}, |
|
|
|
"TimeSince": timeutil.TimeSince, |
|
|
@@ -465,22 +424,6 @@ func NewTextFuncMap() []texttmpl.FuncMap { |
|
|
|
"DateFmtLong": func(t time.Time) string { |
|
|
|
return t.Format(time.RFC1123Z) |
|
|
|
}, |
|
|
|
"DateFmtShort": func(t time.Time) string { |
|
|
|
return t.Format("Jan 02, 2006") |
|
|
|
}, |
|
|
|
"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] |
|
|
|
}, |
|
|
|
"EllipsisString": base.EllipsisString, |
|
|
|
"URLJoin": util.URLJoin, |
|
|
|
"Dict": func(values ...interface{}) (map[string]interface{}, error) { |
|
|
@@ -624,11 +567,6 @@ func Safe(raw string) template.HTML { |
|
|
|
return template.HTML(raw) |
|
|
|
} |
|
|
|
|
|
|
|
// SafeJS renders raw as JS |
|
|
|
func SafeJS(raw string) template.JS { |
|
|
|
return template.JS(raw) |
|
|
|
} |
|
|
|
|
|
|
|
// Str2html render Markdown text to HTML |
|
|
|
func Str2html(raw string) template.HTML { |
|
|
|
return template.HTML(markup.Sanitize(raw)) |
|
|
@@ -925,14 +863,6 @@ func ActionContent2Commits(act Actioner) *repository.PushCommits { |
|
|
|
return push |
|
|
|
} |
|
|
|
|
|
|
|
// DiffTypeToStr returns diff type name |
|
|
|
func DiffTypeToStr(diffType int) string { |
|
|
|
diffTypes := map[int]string{ |
|
|
|
1: "add", 2: "modify", 3: "del", 4: "rename", 5: "copy", |
|
|
|
} |
|
|
|
return diffTypes[diffType] |
|
|
|
} |
|
|
|
|
|
|
|
// DiffLineTypeToStr returns diff line type name |
|
|
|
func DiffLineTypeToStr(diffType int) string { |
|
|
|
switch diffType { |