parent
d741e0aa8e
commit
5b2eab10f0
@ -0,0 +1,51 @@ |
||||
package templates |
||||
|
||||
import ( |
||||
"bytes" |
||||
"embed" |
||||
"html/template" |
||||
"io/fs" |
||||
|
||||
"github.com/sirupsen/logrus" |
||||
) |
||||
|
||||
// Static go-templates source
|
||||
var content embed.FS |
||||
|
||||
// List of compiled go-templates
|
||||
var Templates *template.Template |
||||
|
||||
// Load embeded templates
|
||||
func init() { |
||||
|
||||
Templates = template.New("") |
||||
|
||||
tmplNames, err := fs.Glob(content, "*.go.tmpl") |
||||
if err != nil { |
||||
panic(err) |
||||
} |
||||
|
||||
buf := bytes.NewBuffer(nil) |
||||
|
||||
for _, name := range tmplNames { |
||||
|
||||
buf.Reset() |
||||
|
||||
tmplContent, err := content.Open(name) |
||||
if err != nil { |
||||
panic(err) |
||||
} |
||||
size, err := buf.ReadFrom(tmplContent) |
||||
if err != nil { |
||||
panic(err) |
||||
} |
||||
tmpl, err := Templates.New(name).Parse(buf.String()) |
||||
if err != nil { |
||||
panic(err) |
||||
} |
||||
|
||||
logrus.Debugf("Found template: %s, size:%d", tmpl.Name(), size) |
||||
} |
||||
|
||||
logrus.Debugf("Templates loading complete%s", Templates.DefinedTemplates()) |
||||
} |
Loading…
Reference in new issue