func NewHeading(level int) *Heading {
	return &Heading{
		BaseBlock: BaseBlock{},
		Level:     level,
	}
}
NewHeading returns a new Heading node.
package ast
import (
	"fmt"
	"strings"
	textm "github.com/yuin/goldmark/text"
)
type BaseBlock struct {
	BaseNode
	blankPreviousLines bool
	lines              *textm.Segments
}
func (b *BaseBlock) Type() NodeType {
	return TypeBlock
}
func (b *BaseBlock) IsRaw() bool {
	return false
}
func (b *BaseBlock) HasBlankPreviousLines() bool {
	return b.blankPreviousLines
}
func (b *BaseBlock) SetBlankPreviousLines(v bool) {
	b.blankPreviousLines = v
}
func (b *BaseBlock) Lines() *textm.Segments {
	if b.lines == nil {
		b.lines = textm.NewSegments()
	}
	return b.lines
}
func (b *BaseBlock) SetLines(v *textm.Segments) {
	b.lines = v
}
type Document struct {
	BaseBlock
	meta map[string]interface{}
}
var KindDocument = NewNodeKind("Document")
func (n *Document) Dump(source []byte, level int) {
	DumpHelper(n, source, level, nil, nil)
}
func (n *Document) Type() NodeType {
	return TypeDocument
}
func (n *Document) Kind() NodeKind {
	return KindDocument
}
func (n *Document) OwnerDocument() *Document {
	return n
}
func (n *Document) Meta() map[string]interface{} {
	if n.meta == nil {
		n.meta = map[string]interface{}{}
	}
	return n.meta
}
func (n *Document) SetMeta(meta map[string]interface{}) {
	n.meta = meta
}
func NewDocument() *Document {
	return &Document{
		BaseBlock: BaseBlock{},
		meta:      nil,
	}
}
type TextBlock struct {
	BaseBlock
}
func (n *TextBlock) Dump(source []byte, level int) {
	DumpHelper(n, source, level, nil, nil)
}
var KindTextBlock = NewNodeKind("TextBlock")
func (n *TextBlock) Kind() NodeKind {
	return KindTextBlock
}
func NewTextBlock() *TextBlock {
	return &TextBlock{
		BaseBlock: BaseBlock{},
	}
}
type Paragraph struct {
	BaseBlock
}
func (n *Paragraph) Dump(source []byte, level int) {
	DumpHelper(n, source, level, nil, nil)
}
var KindParagraph = NewNodeKind("Paragraph")
func (n *Paragraph) Kind() NodeKind {
	return KindParagraph
}
func NewParagraph() *Paragraph {
	return &Paragraph{
		BaseBlock: BaseBlock{},
	}
}
func IsParagraph(node Node) bool {
	_, ok := node.(*Paragraph)
	return ok
}
type Heading struct {
	BaseBlock
	Level int
}
func (n *Heading) Dump(source []byte, level int) {
	m := map[string]string{
		"Level": fmt.Sprintf("%d", n.Level),
	}
	DumpHelper(n, source, level, m, nil)
}
var KindHeading = NewNodeKind("Heading")
func (n *Heading) Kind() NodeKind {
	return KindHeading
}