func NewDocument() *Document {
	return &Document{
		BaseBlock: BaseBlock{},
		meta:      nil,
	}
}
NewDocument returns a new Document 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
}