Clean up pre/post ambiguity

This commit is contained in:
Christian Muehlhaeuser
2019-11-26 03:55:43 +01:00
parent c0d32b4fcb
commit 8f083a1043
9 changed files with 48 additions and 48 deletions
+6 -6
View File
@@ -11,18 +11,18 @@ import (
type BaseElement struct {
Token string
Pre string
Post string
Prefix string
Suffix string
Style StyleType
}
func (e *BaseElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer) error {
if e.Pre != "" {
fmt.Fprintf(w, "%s", e.Pre)
if e.Prefix != "" {
fmt.Fprintf(w, "%s", e.Prefix)
}
defer func() {
if e.Post != "" {
fmt.Fprintf(w, "%s", e.Post)
if e.Suffix != "" {
fmt.Fprintf(w, "%s", e.Suffix)
}
}()
+16 -16
View File
@@ -13,8 +13,8 @@ type ElementRenderer interface {
}
type Element struct {
Pre string
Post string
Entering string
Exiting string
Renderer ElementRenderer
}
@@ -28,8 +28,8 @@ func (tr *TermRenderer) NewElement(node *bf.Node) Element {
}
case bf.BlockQuote:
return Element{
Pre: "\n",
Post: "\n",
Entering: "\n",
Exiting: "\n",
Renderer: &BaseElement{
Token: string(node.Literal),
Style: BlockQuote,
@@ -45,18 +45,18 @@ func (tr *TermRenderer) NewElement(node *bf.Node) Element {
}
case bf.Paragraph:
return Element{
Post: "\n",
Exiting: "\n",
Renderer: &ParagraphElement{},
}
case bf.Heading:
return Element{
Post: "\n",
Exiting: "\n",
Renderer: &HeadingElement{},
}
case bf.HorizontalRule:
return Element{
Pre: "\n",
Post: "\n",
Entering: "\n",
Exiting: "\n",
Renderer: &BaseElement{
Token: "---",
Style: HorizontalRule,
@@ -107,8 +107,8 @@ func (tr *TermRenderer) NewElement(node *bf.Node) Element {
}
case bf.CodeBlock:
return Element{
Pre: "\n",
Post: "\n",
Entering: "\n",
Exiting: "\n",
Renderer: &CodeBlockElement{
Code: string(node.Literal),
Language: string(node.CodeBlockData.Info),
@@ -116,7 +116,7 @@ func (tr *TermRenderer) NewElement(node *bf.Node) Element {
}
case bf.Softbreak:
return Element{
Post: "\n",
Exiting: "\n",
Renderer: &BaseElement{
Token: string(node.Literal),
Style: Softbreak,
@@ -124,7 +124,7 @@ func (tr *TermRenderer) NewElement(node *bf.Node) Element {
}
case bf.Hardbreak:
return Element{
Post: "\n",
Exiting: "\n",
Renderer: &BaseElement{
Token: string(node.Literal),
Style: Hardbreak,
@@ -146,8 +146,8 @@ func (tr *TermRenderer) NewElement(node *bf.Node) Element {
}
case bf.Table:
return Element{
Pre: "\n",
Post: "\n",
Entering: "\n",
Exiting: "\n",
}
case bf.TableCell:
return Element{}
@@ -157,8 +157,8 @@ func (tr *TermRenderer) NewElement(node *bf.Node) Element {
return Element{}
case bf.TableRow:
return Element{
Pre: "\n",
Post: "\n",
Entering: "\n",
Exiting: "\n",
}
default:
+4 -4
View File
@@ -82,11 +82,11 @@ func (tr *TermRenderer) RenderBytes(in []byte) []byte {
func (tr *TermRenderer) RenderNode(w io.Writer, node *bf.Node, entering bool) bf.WalkStatus {
// fmt.Fprintf(w, "%s %t", node.Type, entering)
e := tr.NewElement(node)
if entering && e.Pre != "" {
fmt.Fprintf(w, "%s", e.Pre)
if entering && e.Entering != "" {
fmt.Fprintf(w, "%s", e.Entering)
}
if !entering && e.Post != "" {
fmt.Fprintf(w, "%s", e.Post)
if !entering && e.Exiting != "" {
fmt.Fprintf(w, "%s", e.Exiting)
}
if isChild(node) {
return bf.GoToNext
+1 -1
View File
@@ -18,7 +18,7 @@ func (e *HeadingElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer) er
}
el := &BaseElement{
Pre: pre,
Prefix: pre,
Token: fmt.Sprintf("%s %s", strings.Repeat("#", node.HeadingData.Level), node.FirstChild.Literal),
Style: Heading,
}
+2 -2
View File
@@ -20,8 +20,8 @@ func (e *ImageElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer) erro
if len(node.LinkData.Destination) > 0 {
el := &BaseElement{
Token: resolveRelativeURL(tr.BaseURL, string(node.LinkData.Destination)),
Pre: " [Image: ",
Post: "]",
Prefix: " [Image: ",
Suffix: "]",
Style: Link,
}
el.Render(w, node, tr)
+2 -2
View File
@@ -26,8 +26,8 @@ func (e *LinkElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer) error
if len(node.LinkData.Destination) > 0 {
el := &BaseElement{
Token: resolveRelativeURL(tr.BaseURL, string(node.LinkData.Destination)),
Pre: " (",
Post: ")",
Prefix: " (",
Suffix: ")",
Style: Link,
}
el.Render(w, node, tr)
+1 -1
View File
@@ -16,7 +16,7 @@ func (e *ListElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer) error
}
el := &BaseElement{
Pre: pre,
Prefix: pre,
Token: string(node.Literal),
Style: List,
}
+1 -1
View File
@@ -21,7 +21,7 @@ func (e *ItemElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer) error
}
el := &BaseElement{
Pre: strings.Repeat(" ", l-1) + "• ",
Prefix: strings.Repeat(" ", l-1) + "• ",
Token: string(node.Literal),
Style: Item,
}
+1 -1
View File
@@ -16,7 +16,7 @@ func (e *ParagraphElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer)
}
el := &BaseElement{
Pre: pre,
Prefix: pre,
Token: string(node.Literal),
Style: Paragraph,
}