zk/adapter/handlebars/helpers/list.go

30 lines
561 B
Go
Raw Normal View History

2021-01-30 18:30:46 +00:00
package helpers
import (
"strings"
"github.com/aymerick/raymond"
)
// RegisterList registers a {{list}} template helper which formats a slice of
// strings into a bulleted list.
func RegisterList() {
itemify := func(text string) string {
lines := strings.SplitAfter(strings.TrimRight(text, "\n"), "\n")
return " ‣ " + strings.Join(lines, " ")
}
raymond.RegisterHelper("list", func(items []string) string {
res := ""
for _, item := range items {
if item == "" {
continue
}
res += itemify(item) + "\n"
}
return res
})
}