diff options
Diffstat (limited to 'template/functions.go')
-rw-r--r-- | template/functions.go | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/template/functions.go b/template/functions.go index f68d6fb..4673487 100644 --- a/template/functions.go +++ b/template/functions.go @@ -5,6 +5,7 @@ package template import ( + "bytes" "html/template" "net/mail" "strings" @@ -77,6 +78,18 @@ func (f *funcMap) Map() template.FuncMap { return ts.Format("2006-01-02 15:04:05") }, "dict": dict, + "truncate": func(str string, max int) string { + if len(str) > max { + var buffer bytes.Buffer + + buffer.WriteString(str[:max-1]) + buffer.WriteString("…") + + return buffer.String() + } + + return str + }, // These functions are overrided at runtime after the parsing. "elapsed": func(timezone string, t time.Time) string { |