Render table attributes

This commit is contained in:
zzwx 2019-12-20 19:52:09 -05:00
parent 2aab93edb4
commit 5690da2615

View file

@ -153,9 +153,24 @@ func (r *TableHTMLRenderer) RegisterFuncs(reg renderer.NodeRendererFuncRegistere
reg.Register(ast.KindTableCell, r.renderTableCell)
}
// TableAttributeFilter defines attribute names which table elements can have.
var TableAttributeFilter = html.GlobalAttributeFilter.Extend(
[]byte("bgcolor"),
[]byte("border"),
[]byte("cellpadding"),
[]byte("cellspacing"),
[]byte("frame"),
[]byte("summary"),
[]byte("width"),
)
func (r *TableHTMLRenderer) renderTable(w util.BufWriter, source []byte, n gast.Node, entering bool) (gast.WalkStatus, error) {
if entering {
_, _ = w.WriteString("<table>\n")
_, _ = w.WriteString("<table")
if n.Attributes() != nil {
html.RenderAttributes(w, n, TableAttributeFilter)
}
_, _ = w.WriteString(">\n")
} else {
_, _ = w.WriteString("</table>\n")
}