Skip to content

Commit

Permalink
update: expose content (#360)
Browse files Browse the repository at this point in the history
  • Loading branch information
Koooooo-7 committed Jan 22, 2024
1 parent eda5793 commit 8a6d35e
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 9 deletions.
14 changes: 9 additions & 5 deletions render/chart.go
Expand Up @@ -19,6 +19,13 @@ func NewChartRender(c interface{}, before ...func()) Renderer {

// Render renders the chart into the given io.Writer.
func (r *chartRender) Render(w io.Writer) error {

content := r.RenderContent()
_, err := w.Write(content)
return err
}

func (r *chartRender) RenderContent() []byte {
for _, fn := range r.before {
fn()
}
Expand All @@ -28,11 +35,8 @@ func (r *chartRender) Render(w io.Writer) error {

var buf bytes.Buffer
if err := tpl.ExecuteTemplate(&buf, ModChart, r.c); err != nil {
return err
panic(err)
}

content := pat.ReplaceAll(buf.Bytes(), []byte(""))

_, err := w.Write(content)
return err
return pat.ReplaceAll(buf.Bytes(), []byte(""))
}
1 change: 1 addition & 0 deletions render/engine.go
Expand Up @@ -27,6 +27,7 @@ var pat = regexp.MustCompile(`(__f__")|("__f__)|(__f__)`)
// you can define your own render logic easily.
type Renderer interface {
Render(w io.Writer) error
RenderContent() []byte
}

// isSet check if the field exist in the chart instance
Expand Down
11 changes: 7 additions & 4 deletions render/page.go
Expand Up @@ -19,6 +19,12 @@ func NewPageRender(c interface{}, before ...func()) Renderer {

// Render renders the page into the given io.Writer.
func (r *pageRender) Render(w io.Writer) error {
content := r.RenderContent()
_, err := w.Write(content)
return err
}

func (r *pageRender) RenderContent() []byte {
for _, fn := range r.before {
fn()
}
Expand All @@ -31,8 +37,5 @@ func (r *pageRender) Render(w io.Writer) error {
panic(err)
}

content := pat.ReplaceAll(buf.Bytes(), []byte(""))

_, err := w.Write(content)
return err
return pat.ReplaceAll(buf.Bytes(), []byte(""))
}

0 comments on commit 8a6d35e

Please sign in to comment.