summaryrefslogtreecommitdiff
path: root/internal/templatemanager
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
Diffstat (limited to 'internal/templatemanager')
-rw-r--r--internal/templatemanager/templatemanager.go31
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
}