diff --git a/README.md b/README.md new file mode 100644 index 0000000..1ba60ac --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +# 🛠️ Go Template Builder + +A lightweight, no-nonsense Go library to parse and render templates directly from files. Stop writing boilerplate for `text/template` and `html/template`—just point to a file, pass your data, and you're done. + +--- + +## 📦 Installation + +To use this package in your project, run: + +```bash +go get [gitea.tecamino.com//paadi/template-builder](https://gitea.tecamino.com/paadi/template-builder) \ No newline at end of file diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..33ffdd6 --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module gitea.tecamino.com/paadi/template-builder.git + +go 1.25.4 diff --git a/templateBuilder.go b/templateBuilder.go new file mode 100644 index 0000000..c67c8bf --- /dev/null +++ b/templateBuilder.go @@ -0,0 +1,32 @@ +package templatebuilder + +import ( + "html/template" + "os" +) + +type TemplateBuilder struct { +} + +func NewTemplateBuilder() *TemplateBuilder { + return &TemplateBuilder{} +} + +func (tb *TemplateBuilder) Generate(templatePath, outputFile string, data any) error { + tmpl, err := template.ParseFiles(templatePath) + if err != nil { + return err + } + + f, err := os.Create(outputFile) + if err != nil { + return err + } + defer f.Close() + + err = tmpl.Execute(f, data) + if err != nil { + return err + } + return nil +}