memos/plugin/gomark/ast/block.go

79 lines
1.1 KiB
Go
Raw Normal View History

2023-12-12 23:24:02 +08:00
package ast
type BaseBlock struct {
2023-12-13 21:00:13 +08:00
Node
2023-12-12 23:24:02 +08:00
}
2023-12-12 23:38:43 +08:00
type LineBreak struct {
BaseBlock
}
var NodeTypeLineBreak = NewNodeType("LineBreak")
func (*LineBreak) Type() NodeType {
return NodeTypeLineBreak
}
2023-12-12 23:24:02 +08:00
type Paragraph struct {
BaseBlock
Children []Node
}
var NodeTypeParagraph = NewNodeType("Paragraph")
func (*Paragraph) Type() NodeType {
return NodeTypeParagraph
}
type CodeBlock struct {
BaseBlock
Language string
Content string
}
var NodeTypeCodeBlock = NewNodeType("CodeBlock")
func (*CodeBlock) Type() NodeType {
return NodeTypeCodeBlock
}
2023-12-13 09:06:47 +08:00
type Heading struct {
BaseBlock
Level int
Children []Node
}
var NodeTypeHeading = NewNodeType("Heading")
func (*Heading) Type() NodeType {
return NodeTypeHeading
}
2023-12-13 21:00:13 +08:00
type HorizontalRule struct {
BaseBlock
// Symbol is "*" or "-" or "_".
Symbol string
}
var NodeTypeHorizontalRule = NewNodeType("HorizontalRule")
func (*HorizontalRule) Type() NodeType {
return NodeTypeHorizontalRule
}
type Blockquote struct {
BaseBlock
Children []Node
}
var NodeTypeBlockquote = NewNodeType("Blockquote")
func (*Blockquote) Type() NodeType {
return NodeTypeBlockquote
}