Diffstat (limited to 'internal/templatemanager')
| -rw-r--r-- | internal/templatemanager/templatemanager.go | 31 |
1 files changed, 5 insertions, 26 deletions
diff --git a/internal/templatemanager/templatemanager.go b/internal/templatemanager/templatemanager.go index 75309e4..eebc297 100644 --- a/internal/templatemanager/templatemanager.go +++ b/internal/templatemanager/templatemanager.go @@ -31,7 +31,6 @@ var templateFuncMap = template.FuncMap{ } return items }, - "replace": strings.ReplaceAll, } func NewTemplateManager(templates ...TemplateManagerTemplates) (*TemplateManager, error) { @@ -39,18 +38,10 @@ func NewTemplateManager(templates ...TemplateManagerTemplates) (*TemplateManager for _, tmplStruct := range templates { tmpl := template.New(tmplStruct.Name).Funcs(templateFuncMap) - if len(tmplStruct.Files) == 0 { - templateMap[tmplStruct.Name] = templateManagerRender{ - Main: "", - Tmpl: tmpl, - } - continue - } tmpl, err := tmpl.ParseFiles(tmplStruct.Files...) if err != nil { return nil, err } - templateMap[tmplStruct.Name] = templateManagerRender{ Main: filepath.Base(tmplStruct.Files[0]), Tmpl: tmpl, @@ -65,16 +56,12 @@ func NewTemplateManager(templates ...TemplateManagerTemplates) (*TemplateManager func (tm *TemplateManager) Render(name string, data any, files ...string) ([]byte, error) { tmpl, exists := tm.templates[name] if !exists { - return nil, fmt.Errorf("template %s not found", name) + return nil, fmt.Errorf("template %s is not found", name) } var err error var tempTmpl *template.Template - var mainTmpl string = tmpl.Main if len(files) == 0 { - if mainTmpl == "" { - return []byte{}, nil - } tempTmpl = tmpl.Tmpl } else { tempTmpl, err = tmpl.Tmpl.Clone() @@ -85,27 +72,20 @@ func (tm *TemplateManager) Render(name string, data any, files ...string) ([]byt if err != nil { return nil, fmt.Errorf("couldn't include additional files in template rendering: %w", err) } - if mainTmpl == "" { - mainTmpl = filepath.Base(files[0]) - } } var buf bytes.Buffer - err = tempTmpl.ExecuteTemplate(&buf, mainTmpl, data) + err = tempTmpl.ExecuteTemplate(&buf, tmpl.Main, data) return buf.Bytes(), err } func (tm *TemplateManager) Add(name string, files ...string) error { - tmpl := template.New(name).Funcs(templateFuncMap) - if len(files) == 0 { - tm.templates[name] = templateManagerRender{ - Main: "", - Tmpl: tmpl, - } - return nil + return fmt.Errorf("you can't add template without any files") } + tmpl := template.New(name).Funcs(templateFuncMap) + tmpl, err := tmpl.ParseFiles(files...) if err != nil { return fmt.Errorf("failed to add template into manager: %w", err) @@ -115,6 +95,5 @@ func (tm *TemplateManager) Add(name string, files ...string) error { Main: filepath.Base(files[0]), Tmpl: tmpl, } - return nil } |