Drop redundant TableData struct

This commit is contained in:
Christian Muehlhaeuser
2019-11-26 04:37:30 +01:00
parent 8fd35dc929
commit 8f086bc134
2 changed files with 15 additions and 19 deletions
+3 -10
View File
@@ -10,7 +10,6 @@ import (
"os"
"github.com/microcosm-cc/bluemonday"
"github.com/olekukonko/tablewriter"
bf "gopkg.in/russross/blackfriday.v2"
)
@@ -18,16 +17,10 @@ var (
stripper = bluemonday.StrictPolicy()
)
type TableData struct {
table *tablewriter.Table
tableHeader []string
tableCell []string
}
type TermRenderer struct {
BaseURL string
style map[StyleType]*ElementStyle
tableData TableData
BaseURL string
style map[StyleType]*ElementStyle
table TableElement
}
func Render(in string, stylePath string) ([]byte, error) {
+12 -9
View File
@@ -8,6 +8,9 @@ import (
)
type TableElement struct {
writer *tablewriter.Table
header []string
cell []string
}
type TableRowElement struct {
@@ -20,25 +23,25 @@ type TableCellElement struct {
}
func (e *TableElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer) error {
tr.tableData.table = tablewriter.NewWriter(w)
tr.table.writer = tablewriter.NewWriter(w)
return nil
}
func (e *TableElement) Finish(w io.Writer, node *bf.Node, tr *TermRenderer) error {
tr.tableData.table.Render()
tr.tableData = TableData{}
tr.table.writer.Render()
tr.table.writer = nil
return nil
}
func (e *TableRowElement) Finish(w io.Writer, node *bf.Node, tr *TermRenderer) error {
tr.tableData.table.Append(tr.tableData.tableCell)
tr.tableData.tableCell = []string{}
tr.table.writer.Append(tr.table.cell)
tr.table.cell = []string{}
return nil
}
func (e *TableHeadElement) Finish(w io.Writer, node *bf.Node, tr *TermRenderer) error {
tr.tableData.table.SetHeader(tr.tableData.tableHeader)
tr.tableData.tableHeader = []string{}
tr.table.writer.SetHeader(tr.table.header)
tr.table.header = []string{}
return nil
}
@@ -52,9 +55,9 @@ func (e *TableCellElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer)
}
if node.Parent.Parent.Type == bf.TableHead {
tr.tableData.tableHeader = append(tr.tableData.tableHeader, s)
tr.table.header = append(tr.table.header, s)
} else {
tr.tableData.tableCell = append(tr.tableData.tableCell, s)
tr.table.cell = append(tr.table.cell, s)
}
return nil