refactor render
This commit is contained in:
parent
b4b05bfab4
commit
f61dbe8bcd
67
render.go
67
render.go
@ -211,38 +211,6 @@ func (r *renderer) renderUnindented(name string, rg renderGuide, a []Attributes,
|
||||
printf("</%s>", name)
|
||||
}
|
||||
|
||||
func (r *renderer) renderReaderChild(tagName string, rg renderGuide, block, lastBlock bool, rd io.Reader) bool {
|
||||
printf := r.getPrintf(tagName)
|
||||
if rg.verbatim {
|
||||
r.clearWrapper()
|
||||
indent := r.currentIndent
|
||||
if !block {
|
||||
indent += r.indent.Indent
|
||||
}
|
||||
|
||||
r.copyIndented(indent, rd)
|
||||
return false
|
||||
}
|
||||
|
||||
if rg.script {
|
||||
r.clearWrapper()
|
||||
printf("\n")
|
||||
if r.err == nil {
|
||||
_, r.err = io.Copy(r.out, rd)
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
if lastBlock {
|
||||
printf("\n%s", r.currentIndent)
|
||||
}
|
||||
|
||||
newWrapper := r.ensureWrapper()
|
||||
r.copyEscaped(rd)
|
||||
return newWrapper
|
||||
}
|
||||
|
||||
func (r *renderer) renderChildTag(tagName string, block, lastBlock bool, ct Tag) (bool, bool) {
|
||||
printf := r.getPrintf(tagName)
|
||||
|
||||
@ -279,6 +247,38 @@ func (r *renderer) renderChildTag(tagName string, block, lastBlock bool, ct Tag)
|
||||
return true, false
|
||||
}
|
||||
|
||||
func (r *renderer) renderReaderChild(tagName string, rg renderGuide, block, lastBlock bool, rd io.Reader) bool {
|
||||
printf := r.getPrintf(tagName)
|
||||
if rg.verbatim {
|
||||
r.clearWrapper()
|
||||
indent := r.currentIndent
|
||||
if !block {
|
||||
indent += r.indent.Indent
|
||||
}
|
||||
|
||||
r.copyIndented(indent, rd)
|
||||
return false
|
||||
}
|
||||
|
||||
if rg.script {
|
||||
r.clearWrapper()
|
||||
printf("\n")
|
||||
if r.err == nil {
|
||||
_, r.err = io.Copy(r.out, rd)
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
if lastBlock {
|
||||
printf("\n%s", r.currentIndent)
|
||||
}
|
||||
|
||||
newWrapper := r.ensureWrapper()
|
||||
r.copyEscaped(rd)
|
||||
return newWrapper
|
||||
}
|
||||
|
||||
func (r *renderer) renderVerbatimChild(block bool, c any) {
|
||||
s := fmt.Sprint(c)
|
||||
if s == "" {
|
||||
@ -404,9 +404,6 @@ func (r *renderer) renderIndented(name string, rg renderGuide, a []Attributes, c
|
||||
|
||||
if block {
|
||||
r.currentIndent, r.pwidth = originalIndent, originalWidth
|
||||
}
|
||||
|
||||
if block {
|
||||
r.clearWrapper()
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user