diff --git a/internal/cmd/web.go b/internal/cmd/web.go index 70cbeb45f..2437ed9a9 100644 --- a/internal/cmd/web.go +++ b/internal/cmd/web.go @@ -112,14 +112,15 @@ func newMacaron() *macaron.Macaron { }, )) + customDir := filepath.Join(conf.CustomDir(), "templates") renderOpt := macaron.RenderOptions{ Directory: filepath.Join(conf.WorkDir(), "templates"), - AppendDirectories: []string{filepath.Join(conf.CustomDir(), "templates")}, + AppendDirectories: []string{customDir}, Funcs: template.FuncMap(), IndentJSON: macaron.Env != macaron.PROD, } if !conf.Server.LoadAssetsFromDisk { - renderOpt.TemplateFileSystem = templates.NewTemplateFileSystem("", renderOpt.AppendDirectories[0]) + renderOpt.TemplateFileSystem = templates.NewTemplateFileSystem("", customDir) } m.Use(macaron.Renderer(renderOpt)) diff --git a/internal/email/email.go b/internal/email/email.go index 939ca411e..aad5ab598 100644 --- a/internal/email/email.go +++ b/internal/email/email.go @@ -40,9 +40,10 @@ var ( // render renders a mail template with given data. func render(tpl string, data map[string]any) (string, error) { tplRenderOnce.Do(func() { + customDir := filepath.Join(conf.CustomDir(), "templates") opt := &macaron.RenderOptions{ Directory: filepath.Join(conf.WorkDir(), "templates", "mail"), - AppendDirectories: []string{filepath.Join(conf.CustomDir(), "templates", "mail")}, + AppendDirectories: []string{filepath.Join(customDir, "mail")}, Extensions: []string{".tmpl", ".html"}, Funcs: []template.FuncMap{map[string]any{ "AppName": func() string { @@ -60,7 +61,7 @@ func render(tpl string, data map[string]any) (string, error) { }}, } if !conf.Server.LoadAssetsFromDisk { - opt.TemplateFileSystem = templates.NewTemplateFileSystem("mail", opt.AppendDirectories[0]) + opt.TemplateFileSystem = templates.NewTemplateFileSystem("mail", customDir) } ts := macaron.NewTemplateSet()