Add default {{date}} argument

pull/6/head
Mickaël Menu 3 years ago
parent abe0094dda
commit 3d871d2de3
No known key found for this signature in database
GPG Key ID: 53D73664CD359895

@ -78,7 +78,7 @@ func (hr *HandlebarsRenderer) loadTemplate(content string) (*raymond.Template, e
// loadFileTemplate loads the template at given path into the renderer if needed.
// Returns the parsed template.
func (hr *HandlebarsRenderer) loadFileTemplate(path string) (*raymond.Template, error) {
wrap := errors.Wrapperf("load template file failed: %v", path)
wrap := errors.Wrapper("load template file failed")
path, err := filepath.Abs(path)
if err != nil {

@ -64,6 +64,11 @@ func TestSlugHelper(t *testing.T) {
func TestDateHelper(t *testing.T) {
sut := NewRenderer()
// Default
res, err := sut.Render("{{date}}", nil)
assert.Nil(t, err)
assert.Equal(t, res, "2009-11-17")
test := func(format string, expected string) {
res, err := sut.Render(fmt.Sprintf("{{date '%s'}}", format), nil)
assert.Nil(t, err)

@ -16,8 +16,14 @@ import (
// {{date "medium"}} -> Nov 17, 2009
// {{date "%Y-%m"}} -> 2009-11
func RegisterDate(logger util.Logger, date date.Provider) {
raymond.RegisterHelper("date", func(arg string) string {
format := findFormat(arg)
raymond.RegisterHelper("date", func(opt interface{}) string {
format := "%Y-%m-%d"
arg, ok := opt.(string)
if ok {
format = findFormat(arg)
}
res, err := strftime.Format(format, date.Date(), strftime.WithUnixSeconds('s'))
if err != nil {
logger.Printf("the {{date}} template helper failed to format the date: %v", err)

Loading…
Cancel
Save