Support styled indents for block elements

This commit is contained in:
Christian Muehlhaeuser
2019-11-30 06:43:13 +01:00
parent f70d879a63
commit d37d023d5d
6 changed files with 69 additions and 25 deletions
+17
View File
@@ -3,6 +3,7 @@ package gold
import (
"io"
"github.com/muesli/reflow"
bf "gopkg.in/russross/blackfriday.v2"
)
@@ -22,3 +23,19 @@ func (e *ParagraphElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer)
}
return el.Render(w, node, tr)
}
func (e *ParagraphElement) Finish(w io.Writer, node *bf.Node, tr *TermRenderer) error {
var indent uint
rules := tr.style[Paragraph]
if rules != nil {
indent = rules.Indent
}
iw := &IndentWriter{
Indent: indent,
Forward: w,
}
_, err := iw.Write(reflow.ReflowBytes(tr.paragraph.Bytes(), tr.WordWrap-int(indent)))
tr.paragraph.Reset()
return err
}