2 Commits

Author SHA1 Message Date
Adrian Zürcher
806b70dee6 new function one for creating file and one for only byte slice 2026-01-06 07:34:17 +01:00
Adrian Zürcher
884c349d11 remove .git 2025-12-18 16:22:03 +01:00
3 changed files with 34 additions and 6 deletions

2
go.mod
View File

@@ -1,3 +1,3 @@
module gitea.tecamino.com/paadi/template-builder.git
module gitea.tecamino.com/paadi/template-builder
go 1.25.4

View File

@@ -1,6 +1,7 @@
package templatebuilder
import (
"bytes"
"html/template"
"os"
)
@@ -12,7 +13,7 @@ func NewTemplateBuilder() *TemplateBuilder {
return &TemplateBuilder{}
}
func (tb *TemplateBuilder) Generate(templatePath, outputFile string, data any) error {
func (tb *TemplateBuilder) GenerateFile(templatePath, outputFile string, data any) error {
tmpl, err := template.ParseFiles(templatePath)
if err != nil {
return err
@@ -30,3 +31,19 @@ func (tb *TemplateBuilder) Generate(templatePath, outputFile string, data any) e
}
return nil
}
func (tb *TemplateBuilder) Generate(templatePath string, data any) (b []byte, err error) {
tmpl, err := template.ParseFiles(templatePath)
if err != nil {
return
}
var buf bytes.Buffer
err = tmpl.Execute(&buf, data)
if err != nil {
return
}
b = buf.Bytes()
return
}

View File

@@ -3,7 +3,7 @@ package test
import (
"testing"
templatebuilder "gitea.tecamino.com/paadi/template-builder.git"
templatebuilder "gitea.tecamino.com/paadi/template-builder"
)
type Inventory struct {
@@ -11,13 +11,24 @@ type Inventory struct {
Count uint
}
func TestTemplateBuilder(t *testing.T) {
func TestTemplateBuilderFile(t *testing.T) {
sweaters := Inventory{"wool", 17}
t.Log("start test")
tmplBuilder := templatebuilder.NewTemplateBuilder()
err := tmplBuilder.Generate("test.tmpl", "test.txt", sweaters)
err := tmplBuilder.GenerateFile("test.tmpl", "test.txt", sweaters)
if err != nil {
t.Fatal(err)
}
}
func TestTemplateBuilderData(t *testing.T) {
sweaters := Inventory{"wool", 17}
t.Log("start test")
tmplBuilder := templatebuilder.NewTemplateBuilder()
data, err := tmplBuilder.Generate("test.tmpl", sweaters)
if err != nil {
t.Fatal(err)
}
t.Log(string(data))
}