diff --git a/.gitignore b/.gitignore index 1adb88f..4c21ceb 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,5 @@ config.dev.yaml blog/ .data/ data/ +main diff --git a/go.mod b/go.mod index f9dd9d4..0f1354b 100644 --- a/go.mod +++ b/go.mod @@ -21,6 +21,7 @@ require ( require ( github.com/andybalholm/brotli v1.1.0 // indirect + github.com/go-echarts/go-echarts/v2 v2.4.1 // indirect github.com/go-jose/go-jose/v4 v4.0.2 // indirect github.com/gofiber/template v1.8.3 // indirect github.com/gofiber/utils v1.1.0 // indirect diff --git a/go.sum b/go.sum index ea043f4..8b17075 100644 --- a/go.sum +++ b/go.sum @@ -23,6 +23,8 @@ github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4 github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/enescakir/emoji v1.0.0 h1:W+HsNql8swfCQFtioDGDHCHri8nudlK1n5p2rHCJoog= github.com/enescakir/emoji v1.0.0/go.mod h1:Bt1EKuLnKDTYpLALApstIkAjdDrS/8IAgTkKp+WKFD0= +github.com/go-echarts/go-echarts/v2 v2.4.1 h1:imBFGngJ9zv/2zJVjK3k0uLL+LzyPDgzeV7MWzxH0rs= +github.com/go-echarts/go-echarts/v2 v2.4.1/go.mod h1:56YlvzhW/a+du15f3S2qUGNDfKnFOeJSThBIrVFHDtI= github.com/go-jose/go-jose/v4 v4.0.2 h1:R3l3kkBds16bO7ZFAEEcofK0MkrAJt3jlJznWZG0nvk= github.com/go-jose/go-jose/v4 v4.0.2/go.mod h1:WVf9LFMHh/QVrmqrOfqun0C45tMe3RoiKJMPvgWwLfY= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= diff --git a/internal/apps/inflation/chart_renderer.go b/internal/apps/inflation/chart_renderer.go new file mode 100644 index 0000000..306099b --- /dev/null +++ b/internal/apps/inflation/chart_renderer.go @@ -0,0 +1,54 @@ +package inflation + +import ( + "bytes" + "fmt" + "io" + "regexp" + + log "git.tijl.dev/tijl/tijl.dev-core/modules/logger" + "github.com/go-echarts/go-echarts/v2/render" + tpls "github.com/go-echarts/go-echarts/v2/templates" +) + +type InternalRenderer struct { + render.BaseRender + c interface{} + before []func() +} + +func NewRenderer(c interface{}, before ...func()) render.Renderer { + return &InternalRenderer{c: c, before: before} +} + +func CustomRender(r *InternalRenderer) (string, error) { + for _, fn := range r.before { + fn() + } + + contents := []string{tpls.BaseTpl, tpls.ChartTpl} + tpl := render.MustTemplate("chart", contents) + + var buf bytes.Buffer + if err := tpl.ExecuteTemplate(&buf, "chart", r.c); err != nil { + return "", err + } + + log.Debug().Interface("bufst", buf.String()).Msg("t") + return buf.String(), nil +} + +func (r *InternalRenderer) Render(w io.Writer) error { + return nil +} + +var scriptRegex = regexp.MustCompile(` + diff --git a/web/views/layouts/base.html b/web/views/layouts/base.html index 30b6d3a..9aae1be 100644 --- a/web/views/layouts/base.html +++ b/web/views/layouts/base.html @@ -1,4 +1,5 @@ +
@@ -20,9 +21,9 @@ {{embed}} diff --git a/web/views/services.html b/web/views/services.html index f0d6ba5..145d3df 100644 --- a/web/views/services.html +++ b/web/views/services.html @@ -1,45 +1,38 @@ -