Refactor template directory handling

Introduce a `customDir` variable to store the custom template directory path, improving code readability and reducing redundancy in both `web.go` and `email.go`. This change ensures that the custom directory is consistently referenced throughout the configuration.
pull/7905/head
宋子桓🌈 2025-02-01 01:26:43 +08:00
parent 96d5d622b8
commit d695c02223
No known key found for this signature in database
GPG Key ID: BEF31CC2410A2E8A
2 changed files with 6 additions and 4 deletions

View File

@ -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))

View File

@ -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()