66 lines
1.4 KiB
Go
66 lines
1.4 KiB
Go
package funcs
|
|
|
|
import (
|
|
"html/template"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
func Methods() map[string]any {
|
|
res := make(map[string]any, 1)
|
|
|
|
res["dateFormat"] = func(dt time.Time) template.HTML {
|
|
return template.HTML(dt.Format(time.DateTime))
|
|
}
|
|
|
|
res["today"] = func() template.HTML {
|
|
return template.HTML(time.Now().Format("2006-01-02"))
|
|
}
|
|
|
|
res["threeMonth"] = func() template.HTML {
|
|
return template.HTML(time.Now().AddDate(0, 3, 0).Format("2006-01-02"))
|
|
}
|
|
|
|
res["yearBegin"] = func() template.HTML {
|
|
dt := time.Now()
|
|
t := dt.AddDate(0, -int(dt.Month())+1, -dt.Day()+1)
|
|
return template.HTML(t.Format("2006-01-02") + " 00:00:00")
|
|
}
|
|
|
|
res["monthBegin"] = func() template.HTML {
|
|
dt := time.Now()
|
|
t := dt.AddDate(0, 0, -dt.Day()+1)
|
|
return template.HTML(t.Format("2006-01-02") + " 00:00:00")
|
|
}
|
|
|
|
res["monthEnd"] = func() template.HTML {
|
|
dt := time.Now()
|
|
t := dt.AddDate(0, 0, -dt.Day()+1).AddDate(0, 1, -1)
|
|
return template.HTML(t.Format("2006-01-02") + " 23:59:59")
|
|
}
|
|
|
|
res["trimSpace"] = func(s string) template.HTML {
|
|
return template.HTML(strings.TrimSpace(s))
|
|
}
|
|
|
|
res["expandTags"] = func(s []string) template.HTML {
|
|
if len(s) == 0 {
|
|
return ""
|
|
}
|
|
if len(s) == 1 && s[0] == "all" {
|
|
return ""
|
|
}
|
|
return template.HTML(strings.Join(s, ","))
|
|
}
|
|
|
|
res["toString"] = func(b []byte) string {
|
|
return string(b)
|
|
}
|
|
|
|
res["add"] = func(n1, n2 int64) int64 {
|
|
return n1 + n2
|
|
}
|
|
|
|
return res
|
|
}
|