mirror of
https://github.com/rwinkhart/glamour-temp-MUTN.git
synced 2026-09-04 07:57:19 -04:00
Fix child element rendering
This commit is contained in:
@@ -79,7 +79,7 @@ func NewElement(node *bf.Node) Element {
|
|||||||
}
|
}
|
||||||
case bf.Heading:
|
case bf.Heading:
|
||||||
return Element{
|
return Element{
|
||||||
Token: fmt.Sprintf("%s ", strings.Repeat("#", node.HeadingData.Level)),
|
Token: fmt.Sprintf("%s %s", strings.Repeat("#", node.HeadingData.Level), node.FirstChild.Literal),
|
||||||
Pre: "",
|
Pre: "",
|
||||||
Post: "\n",
|
Post: "\n",
|
||||||
}
|
}
|
||||||
@@ -91,13 +91,13 @@ func NewElement(node *bf.Node) Element {
|
|||||||
}
|
}
|
||||||
case bf.Emph:
|
case bf.Emph:
|
||||||
return Element{
|
return Element{
|
||||||
Token: string(node.Literal),
|
Token: string(node.FirstChild.Literal),
|
||||||
Pre: "",
|
Pre: "",
|
||||||
Post: "",
|
Post: "",
|
||||||
}
|
}
|
||||||
case bf.Strong:
|
case bf.Strong:
|
||||||
return Element{
|
return Element{
|
||||||
Token: string(node.Literal),
|
Token: string(node.FirstChild.Literal),
|
||||||
Pre: "",
|
Pre: "",
|
||||||
Post: "",
|
Post: "",
|
||||||
}
|
}
|
||||||
@@ -251,6 +251,9 @@ func (tr *TermRenderer) RenderNode(w io.Writer, node *bf.Node, entering bool) bf
|
|||||||
if !entering && el.Post != "" {
|
if !entering && el.Post != "" {
|
||||||
fmt.Fprintf(w, "%s", el.Post)
|
fmt.Fprintf(w, "%s", el.Post)
|
||||||
}
|
}
|
||||||
|
if isChild(node) {
|
||||||
|
return bf.GoToNext
|
||||||
|
}
|
||||||
if !entering {
|
if !entering {
|
||||||
return bf.GoToNext
|
return bf.GoToNext
|
||||||
}
|
}
|
||||||
@@ -306,6 +309,18 @@ func (tr *TermRenderer) RenderHeader(w io.Writer, ast *bf.Node) {
|
|||||||
func (tr *TermRenderer) RenderFooter(w io.Writer, ast *bf.Node) {
|
func (tr *TermRenderer) RenderFooter(w io.Writer, ast *bf.Node) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func isChild(node *bf.Node) bool {
|
||||||
|
if node.Parent == nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
switch node.Parent.Type {
|
||||||
|
case bf.Heading, bf.Link, bf.Emph, bf.Strong:
|
||||||
|
return true
|
||||||
|
default:
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func keyToType(key string) (bf.NodeType, error) {
|
func keyToType(key string) (bf.NodeType, error) {
|
||||||
switch key {
|
switch key {
|
||||||
case "document":
|
case "document":
|
||||||
|
|||||||
Reference in New Issue
Block a user