We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 811f8ad commit 90edfc0Copy full SHA for 90edfc0
renderer.go
@@ -0,0 +1,39 @@
1
+package veun
2
+
3
+import (
4
+ "bytes"
5
+ "fmt"
6
+ "html/template"
7
+)
8
9
+type RenderFunc func(r Renderable) (template.HTML, error)
10
11
+type Renderable interface {
12
+ Template() (*template.Template, error)
13
+ TemplateData() (any, error)
14
+}
15
16
+func Render(r Renderable) (template.HTML, error) {
17
+ var empty template.HTML
18
19
+ tpl, err := r.Template()
20
+ if err != nil {
21
+ return empty, err
22
+ }
23
24
+ if tpl == nil {
25
+ return empty, fmt.Errorf("missing template")
26
27
28
+ data, err := r.TemplateData()
29
30
31
32
33
+ var bs bytes.Buffer
34
+ if err := tpl.Execute(&bs, data); err != nil {
35
36
37
38
+ return template.HTML(bs.String()), nil
39
0 commit comments