mirror of https://github.com/usememos/memos
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			3134 lines
		
	
	
		
			93 KiB
		
	
	
	
		
			Go
		
	
			
		
		
	
	
			3134 lines
		
	
	
		
			93 KiB
		
	
	
	
		
			Go
		
	
// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
						|
// versions:
 | 
						|
// 	protoc-gen-go v1.36.10
 | 
						|
// 	protoc        (unknown)
 | 
						|
// source: api/v1/markdown_service.proto
 | 
						|
 | 
						|
package apiv1
 | 
						|
 | 
						|
import (
 | 
						|
	_ "google.golang.org/genproto/googleapis/api/annotations"
 | 
						|
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 | 
						|
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 | 
						|
	reflect "reflect"
 | 
						|
	sync "sync"
 | 
						|
	unsafe "unsafe"
 | 
						|
)
 | 
						|
 | 
						|
const (
 | 
						|
	// Verify that this generated code is sufficiently up-to-date.
 | 
						|
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
 | 
						|
	// Verify that runtime/protoimpl is sufficiently up-to-date.
 | 
						|
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
 | 
						|
)
 | 
						|
 | 
						|
type NodeType int32
 | 
						|
 | 
						|
const (
 | 
						|
	NodeType_NODE_UNSPECIFIED NodeType = 0
 | 
						|
	// Block nodes.
 | 
						|
	NodeType_LINE_BREAK          NodeType = 1
 | 
						|
	NodeType_PARAGRAPH           NodeType = 2
 | 
						|
	NodeType_CODE_BLOCK          NodeType = 3
 | 
						|
	NodeType_HEADING             NodeType = 4
 | 
						|
	NodeType_HORIZONTAL_RULE     NodeType = 5
 | 
						|
	NodeType_BLOCKQUOTE          NodeType = 6
 | 
						|
	NodeType_LIST                NodeType = 7
 | 
						|
	NodeType_ORDERED_LIST_ITEM   NodeType = 8
 | 
						|
	NodeType_UNORDERED_LIST_ITEM NodeType = 9
 | 
						|
	NodeType_TASK_LIST_ITEM      NodeType = 10
 | 
						|
	NodeType_MATH_BLOCK          NodeType = 11
 | 
						|
	NodeType_TABLE               NodeType = 12
 | 
						|
	NodeType_EMBEDDED_CONTENT    NodeType = 13
 | 
						|
	// Inline nodes.
 | 
						|
	NodeType_TEXT               NodeType = 51
 | 
						|
	NodeType_BOLD               NodeType = 52
 | 
						|
	NodeType_ITALIC             NodeType = 53
 | 
						|
	NodeType_BOLD_ITALIC        NodeType = 54
 | 
						|
	NodeType_CODE               NodeType = 55
 | 
						|
	NodeType_IMAGE              NodeType = 56
 | 
						|
	NodeType_LINK               NodeType = 57
 | 
						|
	NodeType_AUTO_LINK          NodeType = 58
 | 
						|
	NodeType_TAG                NodeType = 59
 | 
						|
	NodeType_STRIKETHROUGH      NodeType = 60
 | 
						|
	NodeType_ESCAPING_CHARACTER NodeType = 61
 | 
						|
	NodeType_MATH               NodeType = 62
 | 
						|
	NodeType_HIGHLIGHT          NodeType = 63
 | 
						|
	NodeType_SUBSCRIPT          NodeType = 64
 | 
						|
	NodeType_SUPERSCRIPT        NodeType = 65
 | 
						|
	NodeType_REFERENCED_CONTENT NodeType = 66
 | 
						|
	NodeType_SPOILER            NodeType = 67
 | 
						|
	NodeType_HTML_ELEMENT       NodeType = 68
 | 
						|
)
 | 
						|
 | 
						|
// Enum value maps for NodeType.
 | 
						|
var (
 | 
						|
	NodeType_name = map[int32]string{
 | 
						|
		0:  "NODE_UNSPECIFIED",
 | 
						|
		1:  "LINE_BREAK",
 | 
						|
		2:  "PARAGRAPH",
 | 
						|
		3:  "CODE_BLOCK",
 | 
						|
		4:  "HEADING",
 | 
						|
		5:  "HORIZONTAL_RULE",
 | 
						|
		6:  "BLOCKQUOTE",
 | 
						|
		7:  "LIST",
 | 
						|
		8:  "ORDERED_LIST_ITEM",
 | 
						|
		9:  "UNORDERED_LIST_ITEM",
 | 
						|
		10: "TASK_LIST_ITEM",
 | 
						|
		11: "MATH_BLOCK",
 | 
						|
		12: "TABLE",
 | 
						|
		13: "EMBEDDED_CONTENT",
 | 
						|
		51: "TEXT",
 | 
						|
		52: "BOLD",
 | 
						|
		53: "ITALIC",
 | 
						|
		54: "BOLD_ITALIC",
 | 
						|
		55: "CODE",
 | 
						|
		56: "IMAGE",
 | 
						|
		57: "LINK",
 | 
						|
		58: "AUTO_LINK",
 | 
						|
		59: "TAG",
 | 
						|
		60: "STRIKETHROUGH",
 | 
						|
		61: "ESCAPING_CHARACTER",
 | 
						|
		62: "MATH",
 | 
						|
		63: "HIGHLIGHT",
 | 
						|
		64: "SUBSCRIPT",
 | 
						|
		65: "SUPERSCRIPT",
 | 
						|
		66: "REFERENCED_CONTENT",
 | 
						|
		67: "SPOILER",
 | 
						|
		68: "HTML_ELEMENT",
 | 
						|
	}
 | 
						|
	NodeType_value = map[string]int32{
 | 
						|
		"NODE_UNSPECIFIED":    0,
 | 
						|
		"LINE_BREAK":          1,
 | 
						|
		"PARAGRAPH":           2,
 | 
						|
		"CODE_BLOCK":          3,
 | 
						|
		"HEADING":             4,
 | 
						|
		"HORIZONTAL_RULE":     5,
 | 
						|
		"BLOCKQUOTE":          6,
 | 
						|
		"LIST":                7,
 | 
						|
		"ORDERED_LIST_ITEM":   8,
 | 
						|
		"UNORDERED_LIST_ITEM": 9,
 | 
						|
		"TASK_LIST_ITEM":      10,
 | 
						|
		"MATH_BLOCK":          11,
 | 
						|
		"TABLE":               12,
 | 
						|
		"EMBEDDED_CONTENT":    13,
 | 
						|
		"TEXT":                51,
 | 
						|
		"BOLD":                52,
 | 
						|
		"ITALIC":              53,
 | 
						|
		"BOLD_ITALIC":         54,
 | 
						|
		"CODE":                55,
 | 
						|
		"IMAGE":               56,
 | 
						|
		"LINK":                57,
 | 
						|
		"AUTO_LINK":           58,
 | 
						|
		"TAG":                 59,
 | 
						|
		"STRIKETHROUGH":       60,
 | 
						|
		"ESCAPING_CHARACTER":  61,
 | 
						|
		"MATH":                62,
 | 
						|
		"HIGHLIGHT":           63,
 | 
						|
		"SUBSCRIPT":           64,
 | 
						|
		"SUPERSCRIPT":         65,
 | 
						|
		"REFERENCED_CONTENT":  66,
 | 
						|
		"SPOILER":             67,
 | 
						|
		"HTML_ELEMENT":        68,
 | 
						|
	}
 | 
						|
)
 | 
						|
 | 
						|
func (x NodeType) Enum() *NodeType {
 | 
						|
	p := new(NodeType)
 | 
						|
	*p = x
 | 
						|
	return p
 | 
						|
}
 | 
						|
 | 
						|
func (x NodeType) String() string {
 | 
						|
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 | 
						|
}
 | 
						|
 | 
						|
func (NodeType) Descriptor() protoreflect.EnumDescriptor {
 | 
						|
	return file_api_v1_markdown_service_proto_enumTypes[0].Descriptor()
 | 
						|
}
 | 
						|
 | 
						|
func (NodeType) Type() protoreflect.EnumType {
 | 
						|
	return &file_api_v1_markdown_service_proto_enumTypes[0]
 | 
						|
}
 | 
						|
 | 
						|
func (x NodeType) Number() protoreflect.EnumNumber {
 | 
						|
	return protoreflect.EnumNumber(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use NodeType.Descriptor instead.
 | 
						|
func (NodeType) EnumDescriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{0}
 | 
						|
}
 | 
						|
 | 
						|
type ListNode_Kind int32
 | 
						|
 | 
						|
const (
 | 
						|
	ListNode_KIND_UNSPECIFIED ListNode_Kind = 0
 | 
						|
	ListNode_ORDERED          ListNode_Kind = 1
 | 
						|
	ListNode_UNORDERED        ListNode_Kind = 2
 | 
						|
	ListNode_DESCRIPTION      ListNode_Kind = 3
 | 
						|
)
 | 
						|
 | 
						|
// Enum value maps for ListNode_Kind.
 | 
						|
var (
 | 
						|
	ListNode_Kind_name = map[int32]string{
 | 
						|
		0: "KIND_UNSPECIFIED",
 | 
						|
		1: "ORDERED",
 | 
						|
		2: "UNORDERED",
 | 
						|
		3: "DESCRIPTION",
 | 
						|
	}
 | 
						|
	ListNode_Kind_value = map[string]int32{
 | 
						|
		"KIND_UNSPECIFIED": 0,
 | 
						|
		"ORDERED":          1,
 | 
						|
		"UNORDERED":        2,
 | 
						|
		"DESCRIPTION":      3,
 | 
						|
	}
 | 
						|
)
 | 
						|
 | 
						|
func (x ListNode_Kind) Enum() *ListNode_Kind {
 | 
						|
	p := new(ListNode_Kind)
 | 
						|
	*p = x
 | 
						|
	return p
 | 
						|
}
 | 
						|
 | 
						|
func (x ListNode_Kind) String() string {
 | 
						|
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 | 
						|
}
 | 
						|
 | 
						|
func (ListNode_Kind) Descriptor() protoreflect.EnumDescriptor {
 | 
						|
	return file_api_v1_markdown_service_proto_enumTypes[1].Descriptor()
 | 
						|
}
 | 
						|
 | 
						|
func (ListNode_Kind) Type() protoreflect.EnumType {
 | 
						|
	return &file_api_v1_markdown_service_proto_enumTypes[1]
 | 
						|
}
 | 
						|
 | 
						|
func (x ListNode_Kind) Number() protoreflect.EnumNumber {
 | 
						|
	return protoreflect.EnumNumber(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ListNode_Kind.Descriptor instead.
 | 
						|
func (ListNode_Kind) EnumDescriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{15, 0}
 | 
						|
}
 | 
						|
 | 
						|
type ParseMarkdownRequest struct {
 | 
						|
	state protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	// The markdown content to parse.
 | 
						|
	Markdown      string `protobuf:"bytes,1,opt,name=markdown,proto3" json:"markdown,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *ParseMarkdownRequest) Reset() {
 | 
						|
	*x = ParseMarkdownRequest{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[0]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *ParseMarkdownRequest) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ParseMarkdownRequest) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ParseMarkdownRequest) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[0]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ParseMarkdownRequest.ProtoReflect.Descriptor instead.
 | 
						|
func (*ParseMarkdownRequest) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{0}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ParseMarkdownRequest) GetMarkdown() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Markdown
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type ParseMarkdownResponse struct {
 | 
						|
	state protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	// The parsed markdown nodes.
 | 
						|
	Nodes         []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *ParseMarkdownResponse) Reset() {
 | 
						|
	*x = ParseMarkdownResponse{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[1]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *ParseMarkdownResponse) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ParseMarkdownResponse) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ParseMarkdownResponse) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[1]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ParseMarkdownResponse.ProtoReflect.Descriptor instead.
 | 
						|
func (*ParseMarkdownResponse) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{1}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ParseMarkdownResponse) GetNodes() []*Node {
 | 
						|
	if x != nil {
 | 
						|
		return x.Nodes
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type RestoreMarkdownNodesRequest struct {
 | 
						|
	state protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	// The nodes to restore to markdown content.
 | 
						|
	Nodes         []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *RestoreMarkdownNodesRequest) Reset() {
 | 
						|
	*x = RestoreMarkdownNodesRequest{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[2]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *RestoreMarkdownNodesRequest) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*RestoreMarkdownNodesRequest) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *RestoreMarkdownNodesRequest) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[2]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use RestoreMarkdownNodesRequest.ProtoReflect.Descriptor instead.
 | 
						|
func (*RestoreMarkdownNodesRequest) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{2}
 | 
						|
}
 | 
						|
 | 
						|
func (x *RestoreMarkdownNodesRequest) GetNodes() []*Node {
 | 
						|
	if x != nil {
 | 
						|
		return x.Nodes
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type RestoreMarkdownNodesResponse struct {
 | 
						|
	state protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	// The restored markdown content.
 | 
						|
	Markdown      string `protobuf:"bytes,1,opt,name=markdown,proto3" json:"markdown,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *RestoreMarkdownNodesResponse) Reset() {
 | 
						|
	*x = RestoreMarkdownNodesResponse{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[3]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *RestoreMarkdownNodesResponse) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*RestoreMarkdownNodesResponse) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *RestoreMarkdownNodesResponse) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[3]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use RestoreMarkdownNodesResponse.ProtoReflect.Descriptor instead.
 | 
						|
func (*RestoreMarkdownNodesResponse) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{3}
 | 
						|
}
 | 
						|
 | 
						|
func (x *RestoreMarkdownNodesResponse) GetMarkdown() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Markdown
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type StringifyMarkdownNodesRequest struct {
 | 
						|
	state protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	// The nodes to stringify to plain text.
 | 
						|
	Nodes         []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *StringifyMarkdownNodesRequest) Reset() {
 | 
						|
	*x = StringifyMarkdownNodesRequest{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[4]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *StringifyMarkdownNodesRequest) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*StringifyMarkdownNodesRequest) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *StringifyMarkdownNodesRequest) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[4]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use StringifyMarkdownNodesRequest.ProtoReflect.Descriptor instead.
 | 
						|
func (*StringifyMarkdownNodesRequest) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{4}
 | 
						|
}
 | 
						|
 | 
						|
func (x *StringifyMarkdownNodesRequest) GetNodes() []*Node {
 | 
						|
	if x != nil {
 | 
						|
		return x.Nodes
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type StringifyMarkdownNodesResponse struct {
 | 
						|
	state protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	// The plain text content.
 | 
						|
	PlainText     string `protobuf:"bytes,1,opt,name=plain_text,json=plainText,proto3" json:"plain_text,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *StringifyMarkdownNodesResponse) Reset() {
 | 
						|
	*x = StringifyMarkdownNodesResponse{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[5]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *StringifyMarkdownNodesResponse) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*StringifyMarkdownNodesResponse) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *StringifyMarkdownNodesResponse) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[5]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use StringifyMarkdownNodesResponse.ProtoReflect.Descriptor instead.
 | 
						|
func (*StringifyMarkdownNodesResponse) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{5}
 | 
						|
}
 | 
						|
 | 
						|
func (x *StringifyMarkdownNodesResponse) GetPlainText() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.PlainText
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type GetLinkMetadataRequest struct {
 | 
						|
	state protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	// The link URL to get metadata for.
 | 
						|
	Link          string `protobuf:"bytes,1,opt,name=link,proto3" json:"link,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetLinkMetadataRequest) Reset() {
 | 
						|
	*x = GetLinkMetadataRequest{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[6]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetLinkMetadataRequest) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*GetLinkMetadataRequest) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *GetLinkMetadataRequest) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[6]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use GetLinkMetadataRequest.ProtoReflect.Descriptor instead.
 | 
						|
func (*GetLinkMetadataRequest) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{6}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetLinkMetadataRequest) GetLink() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Link
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type LinkMetadata struct {
 | 
						|
	state protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	// The title of the linked page.
 | 
						|
	Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
 | 
						|
	// The description of the linked page.
 | 
						|
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
 | 
						|
	// The URL of the preview image for the linked page.
 | 
						|
	Image         string `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *LinkMetadata) Reset() {
 | 
						|
	*x = LinkMetadata{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[7]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *LinkMetadata) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*LinkMetadata) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *LinkMetadata) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[7]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use LinkMetadata.ProtoReflect.Descriptor instead.
 | 
						|
func (*LinkMetadata) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{7}
 | 
						|
}
 | 
						|
 | 
						|
func (x *LinkMetadata) GetTitle() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Title
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *LinkMetadata) GetDescription() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Description
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *LinkMetadata) GetImage() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Image
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type Node struct {
 | 
						|
	state protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Type  NodeType               `protobuf:"varint,1,opt,name=type,proto3,enum=memos.api.v1.NodeType" json:"type,omitempty"`
 | 
						|
	// Types that are valid to be assigned to Node:
 | 
						|
	//
 | 
						|
	//	*Node_LineBreakNode
 | 
						|
	//	*Node_ParagraphNode
 | 
						|
	//	*Node_CodeBlockNode
 | 
						|
	//	*Node_HeadingNode
 | 
						|
	//	*Node_HorizontalRuleNode
 | 
						|
	//	*Node_BlockquoteNode
 | 
						|
	//	*Node_ListNode
 | 
						|
	//	*Node_OrderedListItemNode
 | 
						|
	//	*Node_UnorderedListItemNode
 | 
						|
	//	*Node_TaskListItemNode
 | 
						|
	//	*Node_MathBlockNode
 | 
						|
	//	*Node_TableNode
 | 
						|
	//	*Node_EmbeddedContentNode
 | 
						|
	//	*Node_TextNode
 | 
						|
	//	*Node_BoldNode
 | 
						|
	//	*Node_ItalicNode
 | 
						|
	//	*Node_BoldItalicNode
 | 
						|
	//	*Node_CodeNode
 | 
						|
	//	*Node_ImageNode
 | 
						|
	//	*Node_LinkNode
 | 
						|
	//	*Node_AutoLinkNode
 | 
						|
	//	*Node_TagNode
 | 
						|
	//	*Node_StrikethroughNode
 | 
						|
	//	*Node_EscapingCharacterNode
 | 
						|
	//	*Node_MathNode
 | 
						|
	//	*Node_HighlightNode
 | 
						|
	//	*Node_SubscriptNode
 | 
						|
	//	*Node_SuperscriptNode
 | 
						|
	//	*Node_ReferencedContentNode
 | 
						|
	//	*Node_SpoilerNode
 | 
						|
	//	*Node_HtmlElementNode
 | 
						|
	Node          isNode_Node `protobuf_oneof:"node"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) Reset() {
 | 
						|
	*x = Node{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[8]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*Node) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *Node) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[8]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use Node.ProtoReflect.Descriptor instead.
 | 
						|
func (*Node) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{8}
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetType() NodeType {
 | 
						|
	if x != nil {
 | 
						|
		return x.Type
 | 
						|
	}
 | 
						|
	return NodeType_NODE_UNSPECIFIED
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetNode() isNode_Node {
 | 
						|
	if x != nil {
 | 
						|
		return x.Node
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetLineBreakNode() *LineBreakNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_LineBreakNode); ok {
 | 
						|
			return x.LineBreakNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetParagraphNode() *ParagraphNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_ParagraphNode); ok {
 | 
						|
			return x.ParagraphNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetCodeBlockNode() *CodeBlockNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_CodeBlockNode); ok {
 | 
						|
			return x.CodeBlockNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetHeadingNode() *HeadingNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_HeadingNode); ok {
 | 
						|
			return x.HeadingNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetHorizontalRuleNode() *HorizontalRuleNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_HorizontalRuleNode); ok {
 | 
						|
			return x.HorizontalRuleNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetBlockquoteNode() *BlockquoteNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_BlockquoteNode); ok {
 | 
						|
			return x.BlockquoteNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetListNode() *ListNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_ListNode); ok {
 | 
						|
			return x.ListNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetOrderedListItemNode() *OrderedListItemNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_OrderedListItemNode); ok {
 | 
						|
			return x.OrderedListItemNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetUnorderedListItemNode() *UnorderedListItemNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_UnorderedListItemNode); ok {
 | 
						|
			return x.UnorderedListItemNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetTaskListItemNode() *TaskListItemNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_TaskListItemNode); ok {
 | 
						|
			return x.TaskListItemNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetMathBlockNode() *MathBlockNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_MathBlockNode); ok {
 | 
						|
			return x.MathBlockNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetTableNode() *TableNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_TableNode); ok {
 | 
						|
			return x.TableNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetEmbeddedContentNode() *EmbeddedContentNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_EmbeddedContentNode); ok {
 | 
						|
			return x.EmbeddedContentNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetTextNode() *TextNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_TextNode); ok {
 | 
						|
			return x.TextNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetBoldNode() *BoldNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_BoldNode); ok {
 | 
						|
			return x.BoldNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetItalicNode() *ItalicNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_ItalicNode); ok {
 | 
						|
			return x.ItalicNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetBoldItalicNode() *BoldItalicNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_BoldItalicNode); ok {
 | 
						|
			return x.BoldItalicNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetCodeNode() *CodeNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_CodeNode); ok {
 | 
						|
			return x.CodeNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetImageNode() *ImageNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_ImageNode); ok {
 | 
						|
			return x.ImageNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetLinkNode() *LinkNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_LinkNode); ok {
 | 
						|
			return x.LinkNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetAutoLinkNode() *AutoLinkNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_AutoLinkNode); ok {
 | 
						|
			return x.AutoLinkNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetTagNode() *TagNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_TagNode); ok {
 | 
						|
			return x.TagNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetStrikethroughNode() *StrikethroughNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_StrikethroughNode); ok {
 | 
						|
			return x.StrikethroughNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetEscapingCharacterNode() *EscapingCharacterNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_EscapingCharacterNode); ok {
 | 
						|
			return x.EscapingCharacterNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetMathNode() *MathNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_MathNode); ok {
 | 
						|
			return x.MathNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetHighlightNode() *HighlightNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_HighlightNode); ok {
 | 
						|
			return x.HighlightNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetSubscriptNode() *SubscriptNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_SubscriptNode); ok {
 | 
						|
			return x.SubscriptNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetSuperscriptNode() *SuperscriptNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_SuperscriptNode); ok {
 | 
						|
			return x.SuperscriptNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetReferencedContentNode() *ReferencedContentNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_ReferencedContentNode); ok {
 | 
						|
			return x.ReferencedContentNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetSpoilerNode() *SpoilerNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_SpoilerNode); ok {
 | 
						|
			return x.SpoilerNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *Node) GetHtmlElementNode() *HTMLElementNode {
 | 
						|
	if x != nil {
 | 
						|
		if x, ok := x.Node.(*Node_HtmlElementNode); ok {
 | 
						|
			return x.HtmlElementNode
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type isNode_Node interface {
 | 
						|
	isNode_Node()
 | 
						|
}
 | 
						|
 | 
						|
type Node_LineBreakNode struct {
 | 
						|
	// Block nodes.
 | 
						|
	LineBreakNode *LineBreakNode `protobuf:"bytes,11,opt,name=line_break_node,json=lineBreakNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_ParagraphNode struct {
 | 
						|
	ParagraphNode *ParagraphNode `protobuf:"bytes,12,opt,name=paragraph_node,json=paragraphNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_CodeBlockNode struct {
 | 
						|
	CodeBlockNode *CodeBlockNode `protobuf:"bytes,13,opt,name=code_block_node,json=codeBlockNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_HeadingNode struct {
 | 
						|
	HeadingNode *HeadingNode `protobuf:"bytes,14,opt,name=heading_node,json=headingNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_HorizontalRuleNode struct {
 | 
						|
	HorizontalRuleNode *HorizontalRuleNode `protobuf:"bytes,15,opt,name=horizontal_rule_node,json=horizontalRuleNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_BlockquoteNode struct {
 | 
						|
	BlockquoteNode *BlockquoteNode `protobuf:"bytes,16,opt,name=blockquote_node,json=blockquoteNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_ListNode struct {
 | 
						|
	ListNode *ListNode `protobuf:"bytes,17,opt,name=list_node,json=listNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_OrderedListItemNode struct {
 | 
						|
	OrderedListItemNode *OrderedListItemNode `protobuf:"bytes,18,opt,name=ordered_list_item_node,json=orderedListItemNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_UnorderedListItemNode struct {
 | 
						|
	UnorderedListItemNode *UnorderedListItemNode `protobuf:"bytes,19,opt,name=unordered_list_item_node,json=unorderedListItemNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_TaskListItemNode struct {
 | 
						|
	TaskListItemNode *TaskListItemNode `protobuf:"bytes,20,opt,name=task_list_item_node,json=taskListItemNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_MathBlockNode struct {
 | 
						|
	MathBlockNode *MathBlockNode `protobuf:"bytes,21,opt,name=math_block_node,json=mathBlockNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_TableNode struct {
 | 
						|
	TableNode *TableNode `protobuf:"bytes,22,opt,name=table_node,json=tableNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_EmbeddedContentNode struct {
 | 
						|
	EmbeddedContentNode *EmbeddedContentNode `protobuf:"bytes,23,opt,name=embedded_content_node,json=embeddedContentNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_TextNode struct {
 | 
						|
	// Inline nodes.
 | 
						|
	TextNode *TextNode `protobuf:"bytes,51,opt,name=text_node,json=textNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_BoldNode struct {
 | 
						|
	BoldNode *BoldNode `protobuf:"bytes,52,opt,name=bold_node,json=boldNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_ItalicNode struct {
 | 
						|
	ItalicNode *ItalicNode `protobuf:"bytes,53,opt,name=italic_node,json=italicNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_BoldItalicNode struct {
 | 
						|
	BoldItalicNode *BoldItalicNode `protobuf:"bytes,54,opt,name=bold_italic_node,json=boldItalicNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_CodeNode struct {
 | 
						|
	CodeNode *CodeNode `protobuf:"bytes,55,opt,name=code_node,json=codeNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_ImageNode struct {
 | 
						|
	ImageNode *ImageNode `protobuf:"bytes,56,opt,name=image_node,json=imageNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_LinkNode struct {
 | 
						|
	LinkNode *LinkNode `protobuf:"bytes,57,opt,name=link_node,json=linkNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_AutoLinkNode struct {
 | 
						|
	AutoLinkNode *AutoLinkNode `protobuf:"bytes,58,opt,name=auto_link_node,json=autoLinkNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_TagNode struct {
 | 
						|
	TagNode *TagNode `protobuf:"bytes,59,opt,name=tag_node,json=tagNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_StrikethroughNode struct {
 | 
						|
	StrikethroughNode *StrikethroughNode `protobuf:"bytes,60,opt,name=strikethrough_node,json=strikethroughNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_EscapingCharacterNode struct {
 | 
						|
	EscapingCharacterNode *EscapingCharacterNode `protobuf:"bytes,61,opt,name=escaping_character_node,json=escapingCharacterNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_MathNode struct {
 | 
						|
	MathNode *MathNode `protobuf:"bytes,62,opt,name=math_node,json=mathNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_HighlightNode struct {
 | 
						|
	HighlightNode *HighlightNode `protobuf:"bytes,63,opt,name=highlight_node,json=highlightNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_SubscriptNode struct {
 | 
						|
	SubscriptNode *SubscriptNode `protobuf:"bytes,64,opt,name=subscript_node,json=subscriptNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_SuperscriptNode struct {
 | 
						|
	SuperscriptNode *SuperscriptNode `protobuf:"bytes,65,opt,name=superscript_node,json=superscriptNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_ReferencedContentNode struct {
 | 
						|
	ReferencedContentNode *ReferencedContentNode `protobuf:"bytes,66,opt,name=referenced_content_node,json=referencedContentNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_SpoilerNode struct {
 | 
						|
	SpoilerNode *SpoilerNode `protobuf:"bytes,67,opt,name=spoiler_node,json=spoilerNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type Node_HtmlElementNode struct {
 | 
						|
	HtmlElementNode *HTMLElementNode `protobuf:"bytes,68,opt,name=html_element_node,json=htmlElementNode,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
func (*Node_LineBreakNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_ParagraphNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_CodeBlockNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_HeadingNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_HorizontalRuleNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_BlockquoteNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_ListNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_OrderedListItemNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_UnorderedListItemNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_TaskListItemNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_MathBlockNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_TableNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_EmbeddedContentNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_TextNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_BoldNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_ItalicNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_BoldItalicNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_CodeNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_ImageNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_LinkNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_AutoLinkNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_TagNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_StrikethroughNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_EscapingCharacterNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_MathNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_HighlightNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_SubscriptNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_SuperscriptNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_ReferencedContentNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_SpoilerNode) isNode_Node() {}
 | 
						|
 | 
						|
func (*Node_HtmlElementNode) isNode_Node() {}
 | 
						|
 | 
						|
type LineBreakNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *LineBreakNode) Reset() {
 | 
						|
	*x = LineBreakNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[9]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *LineBreakNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*LineBreakNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *LineBreakNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[9]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use LineBreakNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*LineBreakNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{9}
 | 
						|
}
 | 
						|
 | 
						|
type ParagraphNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Children      []*Node                `protobuf:"bytes,1,rep,name=children,proto3" json:"children,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *ParagraphNode) Reset() {
 | 
						|
	*x = ParagraphNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[10]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *ParagraphNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ParagraphNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ParagraphNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[10]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ParagraphNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*ParagraphNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{10}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ParagraphNode) GetChildren() []*Node {
 | 
						|
	if x != nil {
 | 
						|
		return x.Children
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type CodeBlockNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Language      string                 `protobuf:"bytes,1,opt,name=language,proto3" json:"language,omitempty"`
 | 
						|
	Content       string                 `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *CodeBlockNode) Reset() {
 | 
						|
	*x = CodeBlockNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[11]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *CodeBlockNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*CodeBlockNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *CodeBlockNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[11]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use CodeBlockNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*CodeBlockNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{11}
 | 
						|
}
 | 
						|
 | 
						|
func (x *CodeBlockNode) GetLanguage() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Language
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *CodeBlockNode) GetContent() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Content
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type HeadingNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Level         int32                  `protobuf:"varint,1,opt,name=level,proto3" json:"level,omitempty"`
 | 
						|
	Children      []*Node                `protobuf:"bytes,2,rep,name=children,proto3" json:"children,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *HeadingNode) Reset() {
 | 
						|
	*x = HeadingNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[12]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *HeadingNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*HeadingNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *HeadingNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[12]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use HeadingNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*HeadingNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{12}
 | 
						|
}
 | 
						|
 | 
						|
func (x *HeadingNode) GetLevel() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Level
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *HeadingNode) GetChildren() []*Node {
 | 
						|
	if x != nil {
 | 
						|
		return x.Children
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type HorizontalRuleNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Symbol        string                 `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *HorizontalRuleNode) Reset() {
 | 
						|
	*x = HorizontalRuleNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[13]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *HorizontalRuleNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*HorizontalRuleNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *HorizontalRuleNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[13]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use HorizontalRuleNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*HorizontalRuleNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{13}
 | 
						|
}
 | 
						|
 | 
						|
func (x *HorizontalRuleNode) GetSymbol() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Symbol
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type BlockquoteNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Children      []*Node                `protobuf:"bytes,1,rep,name=children,proto3" json:"children,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *BlockquoteNode) Reset() {
 | 
						|
	*x = BlockquoteNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[14]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *BlockquoteNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*BlockquoteNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *BlockquoteNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[14]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use BlockquoteNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*BlockquoteNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{14}
 | 
						|
}
 | 
						|
 | 
						|
func (x *BlockquoteNode) GetChildren() []*Node {
 | 
						|
	if x != nil {
 | 
						|
		return x.Children
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type ListNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Kind          ListNode_Kind          `protobuf:"varint,1,opt,name=kind,proto3,enum=memos.api.v1.ListNode_Kind" json:"kind,omitempty"`
 | 
						|
	Indent        int32                  `protobuf:"varint,2,opt,name=indent,proto3" json:"indent,omitempty"`
 | 
						|
	Children      []*Node                `protobuf:"bytes,3,rep,name=children,proto3" json:"children,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *ListNode) Reset() {
 | 
						|
	*x = ListNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[15]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *ListNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ListNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ListNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[15]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ListNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*ListNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{15}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ListNode) GetKind() ListNode_Kind {
 | 
						|
	if x != nil {
 | 
						|
		return x.Kind
 | 
						|
	}
 | 
						|
	return ListNode_KIND_UNSPECIFIED
 | 
						|
}
 | 
						|
 | 
						|
func (x *ListNode) GetIndent() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Indent
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *ListNode) GetChildren() []*Node {
 | 
						|
	if x != nil {
 | 
						|
		return x.Children
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type OrderedListItemNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Number        string                 `protobuf:"bytes,1,opt,name=number,proto3" json:"number,omitempty"`
 | 
						|
	Indent        int32                  `protobuf:"varint,2,opt,name=indent,proto3" json:"indent,omitempty"`
 | 
						|
	Children      []*Node                `protobuf:"bytes,3,rep,name=children,proto3" json:"children,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *OrderedListItemNode) Reset() {
 | 
						|
	*x = OrderedListItemNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[16]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *OrderedListItemNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*OrderedListItemNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *OrderedListItemNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[16]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use OrderedListItemNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*OrderedListItemNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{16}
 | 
						|
}
 | 
						|
 | 
						|
func (x *OrderedListItemNode) GetNumber() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Number
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *OrderedListItemNode) GetIndent() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Indent
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *OrderedListItemNode) GetChildren() []*Node {
 | 
						|
	if x != nil {
 | 
						|
		return x.Children
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type UnorderedListItemNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Symbol        string                 `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"`
 | 
						|
	Indent        int32                  `protobuf:"varint,2,opt,name=indent,proto3" json:"indent,omitempty"`
 | 
						|
	Children      []*Node                `protobuf:"bytes,3,rep,name=children,proto3" json:"children,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *UnorderedListItemNode) Reset() {
 | 
						|
	*x = UnorderedListItemNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[17]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *UnorderedListItemNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*UnorderedListItemNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *UnorderedListItemNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[17]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use UnorderedListItemNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*UnorderedListItemNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{17}
 | 
						|
}
 | 
						|
 | 
						|
func (x *UnorderedListItemNode) GetSymbol() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Symbol
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *UnorderedListItemNode) GetIndent() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Indent
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *UnorderedListItemNode) GetChildren() []*Node {
 | 
						|
	if x != nil {
 | 
						|
		return x.Children
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type TaskListItemNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Symbol        string                 `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"`
 | 
						|
	Indent        int32                  `protobuf:"varint,2,opt,name=indent,proto3" json:"indent,omitempty"`
 | 
						|
	Complete      bool                   `protobuf:"varint,3,opt,name=complete,proto3" json:"complete,omitempty"`
 | 
						|
	Children      []*Node                `protobuf:"bytes,4,rep,name=children,proto3" json:"children,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *TaskListItemNode) Reset() {
 | 
						|
	*x = TaskListItemNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[18]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *TaskListItemNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*TaskListItemNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *TaskListItemNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[18]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use TaskListItemNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*TaskListItemNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{18}
 | 
						|
}
 | 
						|
 | 
						|
func (x *TaskListItemNode) GetSymbol() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Symbol
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *TaskListItemNode) GetIndent() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Indent
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *TaskListItemNode) GetComplete() bool {
 | 
						|
	if x != nil {
 | 
						|
		return x.Complete
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
func (x *TaskListItemNode) GetChildren() []*Node {
 | 
						|
	if x != nil {
 | 
						|
		return x.Children
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type MathBlockNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Content       string                 `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *MathBlockNode) Reset() {
 | 
						|
	*x = MathBlockNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[19]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *MathBlockNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*MathBlockNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *MathBlockNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[19]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use MathBlockNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*MathBlockNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{19}
 | 
						|
}
 | 
						|
 | 
						|
func (x *MathBlockNode) GetContent() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Content
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type TableNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Header        []*Node                `protobuf:"bytes,1,rep,name=header,proto3" json:"header,omitempty"`
 | 
						|
	Delimiter     []string               `protobuf:"bytes,2,rep,name=delimiter,proto3" json:"delimiter,omitempty"`
 | 
						|
	Rows          []*TableNode_Row       `protobuf:"bytes,3,rep,name=rows,proto3" json:"rows,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *TableNode) Reset() {
 | 
						|
	*x = TableNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[20]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *TableNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*TableNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *TableNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[20]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use TableNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*TableNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{20}
 | 
						|
}
 | 
						|
 | 
						|
func (x *TableNode) GetHeader() []*Node {
 | 
						|
	if x != nil {
 | 
						|
		return x.Header
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *TableNode) GetDelimiter() []string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Delimiter
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *TableNode) GetRows() []*TableNode_Row {
 | 
						|
	if x != nil {
 | 
						|
		return x.Rows
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type EmbeddedContentNode struct {
 | 
						|
	state protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	// The resource name of the embedded content.
 | 
						|
	ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
 | 
						|
	// Additional parameters for the embedded content.
 | 
						|
	Params        string `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *EmbeddedContentNode) Reset() {
 | 
						|
	*x = EmbeddedContentNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[21]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *EmbeddedContentNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*EmbeddedContentNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *EmbeddedContentNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[21]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use EmbeddedContentNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*EmbeddedContentNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{21}
 | 
						|
}
 | 
						|
 | 
						|
func (x *EmbeddedContentNode) GetResourceName() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.ResourceName
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *EmbeddedContentNode) GetParams() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Params
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type TextNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Content       string                 `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *TextNode) Reset() {
 | 
						|
	*x = TextNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[22]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *TextNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*TextNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *TextNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[22]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use TextNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*TextNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{22}
 | 
						|
}
 | 
						|
 | 
						|
func (x *TextNode) GetContent() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Content
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type BoldNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Symbol        string                 `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"`
 | 
						|
	Children      []*Node                `protobuf:"bytes,2,rep,name=children,proto3" json:"children,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *BoldNode) Reset() {
 | 
						|
	*x = BoldNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[23]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *BoldNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*BoldNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *BoldNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[23]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use BoldNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*BoldNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{23}
 | 
						|
}
 | 
						|
 | 
						|
func (x *BoldNode) GetSymbol() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Symbol
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *BoldNode) GetChildren() []*Node {
 | 
						|
	if x != nil {
 | 
						|
		return x.Children
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type ItalicNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Symbol        string                 `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"`
 | 
						|
	Children      []*Node                `protobuf:"bytes,2,rep,name=children,proto3" json:"children,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *ItalicNode) Reset() {
 | 
						|
	*x = ItalicNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[24]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *ItalicNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ItalicNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ItalicNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[24]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ItalicNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*ItalicNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{24}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ItalicNode) GetSymbol() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Symbol
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ItalicNode) GetChildren() []*Node {
 | 
						|
	if x != nil {
 | 
						|
		return x.Children
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type BoldItalicNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Symbol        string                 `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"`
 | 
						|
	Content       string                 `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *BoldItalicNode) Reset() {
 | 
						|
	*x = BoldItalicNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[25]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *BoldItalicNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*BoldItalicNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *BoldItalicNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[25]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use BoldItalicNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*BoldItalicNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{25}
 | 
						|
}
 | 
						|
 | 
						|
func (x *BoldItalicNode) GetSymbol() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Symbol
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *BoldItalicNode) GetContent() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Content
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type CodeNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Content       string                 `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *CodeNode) Reset() {
 | 
						|
	*x = CodeNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[26]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *CodeNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*CodeNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *CodeNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[26]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use CodeNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*CodeNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{26}
 | 
						|
}
 | 
						|
 | 
						|
func (x *CodeNode) GetContent() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Content
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type ImageNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	AltText       string                 `protobuf:"bytes,1,opt,name=alt_text,json=altText,proto3" json:"alt_text,omitempty"`
 | 
						|
	Url           string                 `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *ImageNode) Reset() {
 | 
						|
	*x = ImageNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[27]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *ImageNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ImageNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ImageNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[27]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ImageNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*ImageNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{27}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ImageNode) GetAltText() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.AltText
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ImageNode) GetUrl() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Url
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type LinkNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Content       []*Node                `protobuf:"bytes,1,rep,name=content,proto3" json:"content,omitempty"`
 | 
						|
	Url           string                 `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *LinkNode) Reset() {
 | 
						|
	*x = LinkNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[28]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *LinkNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*LinkNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *LinkNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[28]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use LinkNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*LinkNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{28}
 | 
						|
}
 | 
						|
 | 
						|
func (x *LinkNode) GetContent() []*Node {
 | 
						|
	if x != nil {
 | 
						|
		return x.Content
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *LinkNode) GetUrl() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Url
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type AutoLinkNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Url           string                 `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
 | 
						|
	IsRawText     bool                   `protobuf:"varint,2,opt,name=is_raw_text,json=isRawText,proto3" json:"is_raw_text,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *AutoLinkNode) Reset() {
 | 
						|
	*x = AutoLinkNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[29]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *AutoLinkNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*AutoLinkNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *AutoLinkNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[29]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use AutoLinkNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*AutoLinkNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{29}
 | 
						|
}
 | 
						|
 | 
						|
func (x *AutoLinkNode) GetUrl() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Url
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *AutoLinkNode) GetIsRawText() bool {
 | 
						|
	if x != nil {
 | 
						|
		return x.IsRawText
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
type TagNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Content       string                 `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *TagNode) Reset() {
 | 
						|
	*x = TagNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[30]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *TagNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*TagNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *TagNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[30]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use TagNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*TagNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{30}
 | 
						|
}
 | 
						|
 | 
						|
func (x *TagNode) GetContent() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Content
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type StrikethroughNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Content       string                 `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *StrikethroughNode) Reset() {
 | 
						|
	*x = StrikethroughNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[31]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *StrikethroughNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*StrikethroughNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *StrikethroughNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[31]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use StrikethroughNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*StrikethroughNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{31}
 | 
						|
}
 | 
						|
 | 
						|
func (x *StrikethroughNode) GetContent() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Content
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type EscapingCharacterNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Symbol        string                 `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *EscapingCharacterNode) Reset() {
 | 
						|
	*x = EscapingCharacterNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[32]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *EscapingCharacterNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*EscapingCharacterNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *EscapingCharacterNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[32]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use EscapingCharacterNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*EscapingCharacterNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{32}
 | 
						|
}
 | 
						|
 | 
						|
func (x *EscapingCharacterNode) GetSymbol() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Symbol
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type MathNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Content       string                 `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *MathNode) Reset() {
 | 
						|
	*x = MathNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[33]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *MathNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*MathNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *MathNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[33]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use MathNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*MathNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{33}
 | 
						|
}
 | 
						|
 | 
						|
func (x *MathNode) GetContent() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Content
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type HighlightNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Content       string                 `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *HighlightNode) Reset() {
 | 
						|
	*x = HighlightNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[34]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *HighlightNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*HighlightNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *HighlightNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[34]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use HighlightNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*HighlightNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{34}
 | 
						|
}
 | 
						|
 | 
						|
func (x *HighlightNode) GetContent() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Content
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type SubscriptNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Content       string                 `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *SubscriptNode) Reset() {
 | 
						|
	*x = SubscriptNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[35]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *SubscriptNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*SubscriptNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *SubscriptNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[35]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use SubscriptNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*SubscriptNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{35}
 | 
						|
}
 | 
						|
 | 
						|
func (x *SubscriptNode) GetContent() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Content
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type SuperscriptNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Content       string                 `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *SuperscriptNode) Reset() {
 | 
						|
	*x = SuperscriptNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[36]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *SuperscriptNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*SuperscriptNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *SuperscriptNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[36]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use SuperscriptNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*SuperscriptNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{36}
 | 
						|
}
 | 
						|
 | 
						|
func (x *SuperscriptNode) GetContent() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Content
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type ReferencedContentNode struct {
 | 
						|
	state protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	// The resource name of the referenced content.
 | 
						|
	ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
 | 
						|
	// Additional parameters for the referenced content.
 | 
						|
	Params        string `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *ReferencedContentNode) Reset() {
 | 
						|
	*x = ReferencedContentNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[37]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *ReferencedContentNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ReferencedContentNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ReferencedContentNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[37]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ReferencedContentNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*ReferencedContentNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{37}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ReferencedContentNode) GetResourceName() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.ResourceName
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ReferencedContentNode) GetParams() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Params
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type SpoilerNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Content       string                 `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *SpoilerNode) Reset() {
 | 
						|
	*x = SpoilerNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[38]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *SpoilerNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*SpoilerNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *SpoilerNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[38]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use SpoilerNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*SpoilerNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{38}
 | 
						|
}
 | 
						|
 | 
						|
func (x *SpoilerNode) GetContent() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Content
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type HTMLElementNode struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	TagName       string                 `protobuf:"bytes,1,opt,name=tag_name,json=tagName,proto3" json:"tag_name,omitempty"`
 | 
						|
	Attributes    map[string]string      `protobuf:"bytes,2,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
 | 
						|
	Children      []*Node                `protobuf:"bytes,3,rep,name=children,proto3" json:"children,omitempty"`
 | 
						|
	IsSelfClosing bool                   `protobuf:"varint,4,opt,name=is_self_closing,json=isSelfClosing,proto3" json:"is_self_closing,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *HTMLElementNode) Reset() {
 | 
						|
	*x = HTMLElementNode{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[39]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *HTMLElementNode) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*HTMLElementNode) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *HTMLElementNode) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[39]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use HTMLElementNode.ProtoReflect.Descriptor instead.
 | 
						|
func (*HTMLElementNode) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{39}
 | 
						|
}
 | 
						|
 | 
						|
func (x *HTMLElementNode) GetTagName() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.TagName
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *HTMLElementNode) GetAttributes() map[string]string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Attributes
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *HTMLElementNode) GetChildren() []*Node {
 | 
						|
	if x != nil {
 | 
						|
		return x.Children
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *HTMLElementNode) GetIsSelfClosing() bool {
 | 
						|
	if x != nil {
 | 
						|
		return x.IsSelfClosing
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
type TableNode_Row struct {
 | 
						|
	state         protoimpl.MessageState `protogen:"open.v1"`
 | 
						|
	Cells         []*Node                `protobuf:"bytes,1,rep,name=cells,proto3" json:"cells,omitempty"`
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
}
 | 
						|
 | 
						|
func (x *TableNode_Row) Reset() {
 | 
						|
	*x = TableNode_Row{}
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[40]
 | 
						|
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
	ms.StoreMessageInfo(mi)
 | 
						|
}
 | 
						|
 | 
						|
func (x *TableNode_Row) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*TableNode_Row) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *TableNode_Row) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_api_v1_markdown_service_proto_msgTypes[40]
 | 
						|
	if x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use TableNode_Row.ProtoReflect.Descriptor instead.
 | 
						|
func (*TableNode_Row) Descriptor() ([]byte, []int) {
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescGZIP(), []int{20, 0}
 | 
						|
}
 | 
						|
 | 
						|
func (x *TableNode_Row) GetCells() []*Node {
 | 
						|
	if x != nil {
 | 
						|
		return x.Cells
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
var File_api_v1_markdown_service_proto protoreflect.FileDescriptor
 | 
						|
 | 
						|
const file_api_v1_markdown_service_proto_rawDesc = "" +
 | 
						|
	"\n" +
 | 
						|
	"\x1dapi/v1/markdown_service.proto\x12\fmemos.api.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\"7\n" +
 | 
						|
	"\x14ParseMarkdownRequest\x12\x1f\n" +
 | 
						|
	"\bmarkdown\x18\x01 \x01(\tB\x03\xe0A\x02R\bmarkdown\"A\n" +
 | 
						|
	"\x15ParseMarkdownResponse\x12(\n" +
 | 
						|
	"\x05nodes\x18\x01 \x03(\v2\x12.memos.api.v1.NodeR\x05nodes\"L\n" +
 | 
						|
	"\x1bRestoreMarkdownNodesRequest\x12-\n" +
 | 
						|
	"\x05nodes\x18\x01 \x03(\v2\x12.memos.api.v1.NodeB\x03\xe0A\x02R\x05nodes\":\n" +
 | 
						|
	"\x1cRestoreMarkdownNodesResponse\x12\x1a\n" +
 | 
						|
	"\bmarkdown\x18\x01 \x01(\tR\bmarkdown\"N\n" +
 | 
						|
	"\x1dStringifyMarkdownNodesRequest\x12-\n" +
 | 
						|
	"\x05nodes\x18\x01 \x03(\v2\x12.memos.api.v1.NodeB\x03\xe0A\x02R\x05nodes\"?\n" +
 | 
						|
	"\x1eStringifyMarkdownNodesResponse\x12\x1d\n" +
 | 
						|
	"\n" +
 | 
						|
	"plain_text\x18\x01 \x01(\tR\tplainText\"1\n" +
 | 
						|
	"\x16GetLinkMetadataRequest\x12\x17\n" +
 | 
						|
	"\x04link\x18\x01 \x01(\tB\x03\xe0A\x02R\x04link\"\\\n" +
 | 
						|
	"\fLinkMetadata\x12\x14\n" +
 | 
						|
	"\x05title\x18\x01 \x01(\tR\x05title\x12 \n" +
 | 
						|
	"\vdescription\x18\x02 \x01(\tR\vdescription\x12\x14\n" +
 | 
						|
	"\x05image\x18\x03 \x01(\tR\x05image\"\xca\x11\n" +
 | 
						|
	"\x04Node\x12*\n" +
 | 
						|
	"\x04type\x18\x01 \x01(\x0e2\x16.memos.api.v1.NodeTypeR\x04type\x12E\n" +
 | 
						|
	"\x0fline_break_node\x18\v \x01(\v2\x1b.memos.api.v1.LineBreakNodeH\x00R\rlineBreakNode\x12D\n" +
 | 
						|
	"\x0eparagraph_node\x18\f \x01(\v2\x1b.memos.api.v1.ParagraphNodeH\x00R\rparagraphNode\x12E\n" +
 | 
						|
	"\x0fcode_block_node\x18\r \x01(\v2\x1b.memos.api.v1.CodeBlockNodeH\x00R\rcodeBlockNode\x12>\n" +
 | 
						|
	"\fheading_node\x18\x0e \x01(\v2\x19.memos.api.v1.HeadingNodeH\x00R\vheadingNode\x12T\n" +
 | 
						|
	"\x14horizontal_rule_node\x18\x0f \x01(\v2 .memos.api.v1.HorizontalRuleNodeH\x00R\x12horizontalRuleNode\x12G\n" +
 | 
						|
	"\x0fblockquote_node\x18\x10 \x01(\v2\x1c.memos.api.v1.BlockquoteNodeH\x00R\x0eblockquoteNode\x125\n" +
 | 
						|
	"\tlist_node\x18\x11 \x01(\v2\x16.memos.api.v1.ListNodeH\x00R\blistNode\x12X\n" +
 | 
						|
	"\x16ordered_list_item_node\x18\x12 \x01(\v2!.memos.api.v1.OrderedListItemNodeH\x00R\x13orderedListItemNode\x12^\n" +
 | 
						|
	"\x18unordered_list_item_node\x18\x13 \x01(\v2#.memos.api.v1.UnorderedListItemNodeH\x00R\x15unorderedListItemNode\x12O\n" +
 | 
						|
	"\x13task_list_item_node\x18\x14 \x01(\v2\x1e.memos.api.v1.TaskListItemNodeH\x00R\x10taskListItemNode\x12E\n" +
 | 
						|
	"\x0fmath_block_node\x18\x15 \x01(\v2\x1b.memos.api.v1.MathBlockNodeH\x00R\rmathBlockNode\x128\n" +
 | 
						|
	"\n" +
 | 
						|
	"table_node\x18\x16 \x01(\v2\x17.memos.api.v1.TableNodeH\x00R\ttableNode\x12W\n" +
 | 
						|
	"\x15embedded_content_node\x18\x17 \x01(\v2!.memos.api.v1.EmbeddedContentNodeH\x00R\x13embeddedContentNode\x125\n" +
 | 
						|
	"\ttext_node\x183 \x01(\v2\x16.memos.api.v1.TextNodeH\x00R\btextNode\x125\n" +
 | 
						|
	"\tbold_node\x184 \x01(\v2\x16.memos.api.v1.BoldNodeH\x00R\bboldNode\x12;\n" +
 | 
						|
	"\vitalic_node\x185 \x01(\v2\x18.memos.api.v1.ItalicNodeH\x00R\n" +
 | 
						|
	"italicNode\x12H\n" +
 | 
						|
	"\x10bold_italic_node\x186 \x01(\v2\x1c.memos.api.v1.BoldItalicNodeH\x00R\x0eboldItalicNode\x125\n" +
 | 
						|
	"\tcode_node\x187 \x01(\v2\x16.memos.api.v1.CodeNodeH\x00R\bcodeNode\x128\n" +
 | 
						|
	"\n" +
 | 
						|
	"image_node\x188 \x01(\v2\x17.memos.api.v1.ImageNodeH\x00R\timageNode\x125\n" +
 | 
						|
	"\tlink_node\x189 \x01(\v2\x16.memos.api.v1.LinkNodeH\x00R\blinkNode\x12B\n" +
 | 
						|
	"\x0eauto_link_node\x18: \x01(\v2\x1a.memos.api.v1.AutoLinkNodeH\x00R\fautoLinkNode\x122\n" +
 | 
						|
	"\btag_node\x18; \x01(\v2\x15.memos.api.v1.TagNodeH\x00R\atagNode\x12P\n" +
 | 
						|
	"\x12strikethrough_node\x18< \x01(\v2\x1f.memos.api.v1.StrikethroughNodeH\x00R\x11strikethroughNode\x12]\n" +
 | 
						|
	"\x17escaping_character_node\x18= \x01(\v2#.memos.api.v1.EscapingCharacterNodeH\x00R\x15escapingCharacterNode\x125\n" +
 | 
						|
	"\tmath_node\x18> \x01(\v2\x16.memos.api.v1.MathNodeH\x00R\bmathNode\x12D\n" +
 | 
						|
	"\x0ehighlight_node\x18? \x01(\v2\x1b.memos.api.v1.HighlightNodeH\x00R\rhighlightNode\x12D\n" +
 | 
						|
	"\x0esubscript_node\x18@ \x01(\v2\x1b.memos.api.v1.SubscriptNodeH\x00R\rsubscriptNode\x12J\n" +
 | 
						|
	"\x10superscript_node\x18A \x01(\v2\x1d.memos.api.v1.SuperscriptNodeH\x00R\x0fsuperscriptNode\x12]\n" +
 | 
						|
	"\x17referenced_content_node\x18B \x01(\v2#.memos.api.v1.ReferencedContentNodeH\x00R\x15referencedContentNode\x12>\n" +
 | 
						|
	"\fspoiler_node\x18C \x01(\v2\x19.memos.api.v1.SpoilerNodeH\x00R\vspoilerNode\x12K\n" +
 | 
						|
	"\x11html_element_node\x18D \x01(\v2\x1d.memos.api.v1.HTMLElementNodeH\x00R\x0fhtmlElementNodeB\x06\n" +
 | 
						|
	"\x04node\"\x0f\n" +
 | 
						|
	"\rLineBreakNode\"?\n" +
 | 
						|
	"\rParagraphNode\x12.\n" +
 | 
						|
	"\bchildren\x18\x01 \x03(\v2\x12.memos.api.v1.NodeR\bchildren\"E\n" +
 | 
						|
	"\rCodeBlockNode\x12\x1a\n" +
 | 
						|
	"\blanguage\x18\x01 \x01(\tR\blanguage\x12\x18\n" +
 | 
						|
	"\acontent\x18\x02 \x01(\tR\acontent\"S\n" +
 | 
						|
	"\vHeadingNode\x12\x14\n" +
 | 
						|
	"\x05level\x18\x01 \x01(\x05R\x05level\x12.\n" +
 | 
						|
	"\bchildren\x18\x02 \x03(\v2\x12.memos.api.v1.NodeR\bchildren\",\n" +
 | 
						|
	"\x12HorizontalRuleNode\x12\x16\n" +
 | 
						|
	"\x06symbol\x18\x01 \x01(\tR\x06symbol\"@\n" +
 | 
						|
	"\x0eBlockquoteNode\x12.\n" +
 | 
						|
	"\bchildren\x18\x01 \x03(\v2\x12.memos.api.v1.NodeR\bchildren\"\xce\x01\n" +
 | 
						|
	"\bListNode\x12/\n" +
 | 
						|
	"\x04kind\x18\x01 \x01(\x0e2\x1b.memos.api.v1.ListNode.KindR\x04kind\x12\x16\n" +
 | 
						|
	"\x06indent\x18\x02 \x01(\x05R\x06indent\x12.\n" +
 | 
						|
	"\bchildren\x18\x03 \x03(\v2\x12.memos.api.v1.NodeR\bchildren\"I\n" +
 | 
						|
	"\x04Kind\x12\x14\n" +
 | 
						|
	"\x10KIND_UNSPECIFIED\x10\x00\x12\v\n" +
 | 
						|
	"\aORDERED\x10\x01\x12\r\n" +
 | 
						|
	"\tUNORDERED\x10\x02\x12\x0f\n" +
 | 
						|
	"\vDESCRIPTION\x10\x03\"u\n" +
 | 
						|
	"\x13OrderedListItemNode\x12\x16\n" +
 | 
						|
	"\x06number\x18\x01 \x01(\tR\x06number\x12\x16\n" +
 | 
						|
	"\x06indent\x18\x02 \x01(\x05R\x06indent\x12.\n" +
 | 
						|
	"\bchildren\x18\x03 \x03(\v2\x12.memos.api.v1.NodeR\bchildren\"w\n" +
 | 
						|
	"\x15UnorderedListItemNode\x12\x16\n" +
 | 
						|
	"\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x16\n" +
 | 
						|
	"\x06indent\x18\x02 \x01(\x05R\x06indent\x12.\n" +
 | 
						|
	"\bchildren\x18\x03 \x03(\v2\x12.memos.api.v1.NodeR\bchildren\"\x8e\x01\n" +
 | 
						|
	"\x10TaskListItemNode\x12\x16\n" +
 | 
						|
	"\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x16\n" +
 | 
						|
	"\x06indent\x18\x02 \x01(\x05R\x06indent\x12\x1a\n" +
 | 
						|
	"\bcomplete\x18\x03 \x01(\bR\bcomplete\x12.\n" +
 | 
						|
	"\bchildren\x18\x04 \x03(\v2\x12.memos.api.v1.NodeR\bchildren\")\n" +
 | 
						|
	"\rMathBlockNode\x12\x18\n" +
 | 
						|
	"\acontent\x18\x01 \x01(\tR\acontent\"\xb7\x01\n" +
 | 
						|
	"\tTableNode\x12*\n" +
 | 
						|
	"\x06header\x18\x01 \x03(\v2\x12.memos.api.v1.NodeR\x06header\x12\x1c\n" +
 | 
						|
	"\tdelimiter\x18\x02 \x03(\tR\tdelimiter\x12/\n" +
 | 
						|
	"\x04rows\x18\x03 \x03(\v2\x1b.memos.api.v1.TableNode.RowR\x04rows\x1a/\n" +
 | 
						|
	"\x03Row\x12(\n" +
 | 
						|
	"\x05cells\x18\x01 \x03(\v2\x12.memos.api.v1.NodeR\x05cells\"R\n" +
 | 
						|
	"\x13EmbeddedContentNode\x12#\n" +
 | 
						|
	"\rresource_name\x18\x01 \x01(\tR\fresourceName\x12\x16\n" +
 | 
						|
	"\x06params\x18\x02 \x01(\tR\x06params\"$\n" +
 | 
						|
	"\bTextNode\x12\x18\n" +
 | 
						|
	"\acontent\x18\x01 \x01(\tR\acontent\"R\n" +
 | 
						|
	"\bBoldNode\x12\x16\n" +
 | 
						|
	"\x06symbol\x18\x01 \x01(\tR\x06symbol\x12.\n" +
 | 
						|
	"\bchildren\x18\x02 \x03(\v2\x12.memos.api.v1.NodeR\bchildren\"T\n" +
 | 
						|
	"\n" +
 | 
						|
	"ItalicNode\x12\x16\n" +
 | 
						|
	"\x06symbol\x18\x01 \x01(\tR\x06symbol\x12.\n" +
 | 
						|
	"\bchildren\x18\x02 \x03(\v2\x12.memos.api.v1.NodeR\bchildren\"B\n" +
 | 
						|
	"\x0eBoldItalicNode\x12\x16\n" +
 | 
						|
	"\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x18\n" +
 | 
						|
	"\acontent\x18\x02 \x01(\tR\acontent\"$\n" +
 | 
						|
	"\bCodeNode\x12\x18\n" +
 | 
						|
	"\acontent\x18\x01 \x01(\tR\acontent\"8\n" +
 | 
						|
	"\tImageNode\x12\x19\n" +
 | 
						|
	"\balt_text\x18\x01 \x01(\tR\aaltText\x12\x10\n" +
 | 
						|
	"\x03url\x18\x02 \x01(\tR\x03url\"J\n" +
 | 
						|
	"\bLinkNode\x12,\n" +
 | 
						|
	"\acontent\x18\x01 \x03(\v2\x12.memos.api.v1.NodeR\acontent\x12\x10\n" +
 | 
						|
	"\x03url\x18\x02 \x01(\tR\x03url\"@\n" +
 | 
						|
	"\fAutoLinkNode\x12\x10\n" +
 | 
						|
	"\x03url\x18\x01 \x01(\tR\x03url\x12\x1e\n" +
 | 
						|
	"\vis_raw_text\x18\x02 \x01(\bR\tisRawText\"#\n" +
 | 
						|
	"\aTagNode\x12\x18\n" +
 | 
						|
	"\acontent\x18\x01 \x01(\tR\acontent\"-\n" +
 | 
						|
	"\x11StrikethroughNode\x12\x18\n" +
 | 
						|
	"\acontent\x18\x01 \x01(\tR\acontent\"/\n" +
 | 
						|
	"\x15EscapingCharacterNode\x12\x16\n" +
 | 
						|
	"\x06symbol\x18\x01 \x01(\tR\x06symbol\"$\n" +
 | 
						|
	"\bMathNode\x12\x18\n" +
 | 
						|
	"\acontent\x18\x01 \x01(\tR\acontent\")\n" +
 | 
						|
	"\rHighlightNode\x12\x18\n" +
 | 
						|
	"\acontent\x18\x01 \x01(\tR\acontent\")\n" +
 | 
						|
	"\rSubscriptNode\x12\x18\n" +
 | 
						|
	"\acontent\x18\x01 \x01(\tR\acontent\"+\n" +
 | 
						|
	"\x0fSuperscriptNode\x12\x18\n" +
 | 
						|
	"\acontent\x18\x01 \x01(\tR\acontent\"T\n" +
 | 
						|
	"\x15ReferencedContentNode\x12#\n" +
 | 
						|
	"\rresource_name\x18\x01 \x01(\tR\fresourceName\x12\x16\n" +
 | 
						|
	"\x06params\x18\x02 \x01(\tR\x06params\"'\n" +
 | 
						|
	"\vSpoilerNode\x12\x18\n" +
 | 
						|
	"\acontent\x18\x01 \x01(\tR\acontent\"\x92\x02\n" +
 | 
						|
	"\x0fHTMLElementNode\x12\x19\n" +
 | 
						|
	"\btag_name\x18\x01 \x01(\tR\atagName\x12M\n" +
 | 
						|
	"\n" +
 | 
						|
	"attributes\x18\x02 \x03(\v2-.memos.api.v1.HTMLElementNode.AttributesEntryR\n" +
 | 
						|
	"attributes\x12.\n" +
 | 
						|
	"\bchildren\x18\x03 \x03(\v2\x12.memos.api.v1.NodeR\bchildren\x12&\n" +
 | 
						|
	"\x0fis_self_closing\x18\x04 \x01(\bR\risSelfClosing\x1a=\n" +
 | 
						|
	"\x0fAttributesEntry\x12\x10\n" +
 | 
						|
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
 | 
						|
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01*\x83\x04\n" +
 | 
						|
	"\bNodeType\x12\x14\n" +
 | 
						|
	"\x10NODE_UNSPECIFIED\x10\x00\x12\x0e\n" +
 | 
						|
	"\n" +
 | 
						|
	"LINE_BREAK\x10\x01\x12\r\n" +
 | 
						|
	"\tPARAGRAPH\x10\x02\x12\x0e\n" +
 | 
						|
	"\n" +
 | 
						|
	"CODE_BLOCK\x10\x03\x12\v\n" +
 | 
						|
	"\aHEADING\x10\x04\x12\x13\n" +
 | 
						|
	"\x0fHORIZONTAL_RULE\x10\x05\x12\x0e\n" +
 | 
						|
	"\n" +
 | 
						|
	"BLOCKQUOTE\x10\x06\x12\b\n" +
 | 
						|
	"\x04LIST\x10\a\x12\x15\n" +
 | 
						|
	"\x11ORDERED_LIST_ITEM\x10\b\x12\x17\n" +
 | 
						|
	"\x13UNORDERED_LIST_ITEM\x10\t\x12\x12\n" +
 | 
						|
	"\x0eTASK_LIST_ITEM\x10\n" +
 | 
						|
	"\x12\x0e\n" +
 | 
						|
	"\n" +
 | 
						|
	"MATH_BLOCK\x10\v\x12\t\n" +
 | 
						|
	"\x05TABLE\x10\f\x12\x14\n" +
 | 
						|
	"\x10EMBEDDED_CONTENT\x10\r\x12\b\n" +
 | 
						|
	"\x04TEXT\x103\x12\b\n" +
 | 
						|
	"\x04BOLD\x104\x12\n" +
 | 
						|
	"\n" +
 | 
						|
	"\x06ITALIC\x105\x12\x0f\n" +
 | 
						|
	"\vBOLD_ITALIC\x106\x12\b\n" +
 | 
						|
	"\x04CODE\x107\x12\t\n" +
 | 
						|
	"\x05IMAGE\x108\x12\b\n" +
 | 
						|
	"\x04LINK\x109\x12\r\n" +
 | 
						|
	"\tAUTO_LINK\x10:\x12\a\n" +
 | 
						|
	"\x03TAG\x10;\x12\x11\n" +
 | 
						|
	"\rSTRIKETHROUGH\x10<\x12\x16\n" +
 | 
						|
	"\x12ESCAPING_CHARACTER\x10=\x12\b\n" +
 | 
						|
	"\x04MATH\x10>\x12\r\n" +
 | 
						|
	"\tHIGHLIGHT\x10?\x12\r\n" +
 | 
						|
	"\tSUBSCRIPT\x10@\x12\x0f\n" +
 | 
						|
	"\vSUPERSCRIPT\x10A\x12\x16\n" +
 | 
						|
	"\x12REFERENCED_CONTENT\x10B\x12\v\n" +
 | 
						|
	"\aSPOILER\x10C\x12\x10\n" +
 | 
						|
	"\fHTML_ELEMENT\x10D2\xc1\x04\n" +
 | 
						|
	"\x0fMarkdownService\x12{\n" +
 | 
						|
	"\rParseMarkdown\x12\".memos.api.v1.ParseMarkdownRequest\x1a#.memos.api.v1.ParseMarkdownResponse\"!\x82\xd3\xe4\x93\x02\x1b:\x01*\"\x16/api/v1/markdown:parse\x12\x92\x01\n" +
 | 
						|
	"\x14RestoreMarkdownNodes\x12).memos.api.v1.RestoreMarkdownNodesRequest\x1a*.memos.api.v1.RestoreMarkdownNodesResponse\"#\x82\xd3\xe4\x93\x02\x1d:\x01*\"\x18/api/v1/markdown:restore\x12\x9a\x01\n" +
 | 
						|
	"\x16StringifyMarkdownNodes\x12+.memos.api.v1.StringifyMarkdownNodesRequest\x1a,.memos.api.v1.StringifyMarkdownNodesResponse\"%\x82\xd3\xe4\x93\x02\x1f:\x01*\"\x1a/api/v1/markdown:stringify\x12\x7f\n" +
 | 
						|
	"\x0fGetLinkMetadata\x12$.memos.api.v1.GetLinkMetadataRequest\x1a\x1a.memos.api.v1.LinkMetadata\"*\x82\xd3\xe4\x93\x02$\x12\"/api/v1/markdown/links:getMetadataB\xac\x01\n" +
 | 
						|
	"\x10com.memos.api.v1B\x14MarkdownServiceProtoP\x01Z0github.com/usememos/memos/proto/gen/api/v1;apiv1\xa2\x02\x03MAX\xaa\x02\fMemos.Api.V1\xca\x02\fMemos\\Api\\V1\xe2\x02\x18Memos\\Api\\V1\\GPBMetadata\xea\x02\x0eMemos::Api::V1b\x06proto3"
 | 
						|
 | 
						|
var (
 | 
						|
	file_api_v1_markdown_service_proto_rawDescOnce sync.Once
 | 
						|
	file_api_v1_markdown_service_proto_rawDescData []byte
 | 
						|
)
 | 
						|
 | 
						|
func file_api_v1_markdown_service_proto_rawDescGZIP() []byte {
 | 
						|
	file_api_v1_markdown_service_proto_rawDescOnce.Do(func() {
 | 
						|
		file_api_v1_markdown_service_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_api_v1_markdown_service_proto_rawDesc), len(file_api_v1_markdown_service_proto_rawDesc)))
 | 
						|
	})
 | 
						|
	return file_api_v1_markdown_service_proto_rawDescData
 | 
						|
}
 | 
						|
 | 
						|
var file_api_v1_markdown_service_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
 | 
						|
var file_api_v1_markdown_service_proto_msgTypes = make([]protoimpl.MessageInfo, 42)
 | 
						|
var file_api_v1_markdown_service_proto_goTypes = []any{
 | 
						|
	(NodeType)(0),                          // 0: memos.api.v1.NodeType
 | 
						|
	(ListNode_Kind)(0),                     // 1: memos.api.v1.ListNode.Kind
 | 
						|
	(*ParseMarkdownRequest)(nil),           // 2: memos.api.v1.ParseMarkdownRequest
 | 
						|
	(*ParseMarkdownResponse)(nil),          // 3: memos.api.v1.ParseMarkdownResponse
 | 
						|
	(*RestoreMarkdownNodesRequest)(nil),    // 4: memos.api.v1.RestoreMarkdownNodesRequest
 | 
						|
	(*RestoreMarkdownNodesResponse)(nil),   // 5: memos.api.v1.RestoreMarkdownNodesResponse
 | 
						|
	(*StringifyMarkdownNodesRequest)(nil),  // 6: memos.api.v1.StringifyMarkdownNodesRequest
 | 
						|
	(*StringifyMarkdownNodesResponse)(nil), // 7: memos.api.v1.StringifyMarkdownNodesResponse
 | 
						|
	(*GetLinkMetadataRequest)(nil),         // 8: memos.api.v1.GetLinkMetadataRequest
 | 
						|
	(*LinkMetadata)(nil),                   // 9: memos.api.v1.LinkMetadata
 | 
						|
	(*Node)(nil),                           // 10: memos.api.v1.Node
 | 
						|
	(*LineBreakNode)(nil),                  // 11: memos.api.v1.LineBreakNode
 | 
						|
	(*ParagraphNode)(nil),                  // 12: memos.api.v1.ParagraphNode
 | 
						|
	(*CodeBlockNode)(nil),                  // 13: memos.api.v1.CodeBlockNode
 | 
						|
	(*HeadingNode)(nil),                    // 14: memos.api.v1.HeadingNode
 | 
						|
	(*HorizontalRuleNode)(nil),             // 15: memos.api.v1.HorizontalRuleNode
 | 
						|
	(*BlockquoteNode)(nil),                 // 16: memos.api.v1.BlockquoteNode
 | 
						|
	(*ListNode)(nil),                       // 17: memos.api.v1.ListNode
 | 
						|
	(*OrderedListItemNode)(nil),            // 18: memos.api.v1.OrderedListItemNode
 | 
						|
	(*UnorderedListItemNode)(nil),          // 19: memos.api.v1.UnorderedListItemNode
 | 
						|
	(*TaskListItemNode)(nil),               // 20: memos.api.v1.TaskListItemNode
 | 
						|
	(*MathBlockNode)(nil),                  // 21: memos.api.v1.MathBlockNode
 | 
						|
	(*TableNode)(nil),                      // 22: memos.api.v1.TableNode
 | 
						|
	(*EmbeddedContentNode)(nil),            // 23: memos.api.v1.EmbeddedContentNode
 | 
						|
	(*TextNode)(nil),                       // 24: memos.api.v1.TextNode
 | 
						|
	(*BoldNode)(nil),                       // 25: memos.api.v1.BoldNode
 | 
						|
	(*ItalicNode)(nil),                     // 26: memos.api.v1.ItalicNode
 | 
						|
	(*BoldItalicNode)(nil),                 // 27: memos.api.v1.BoldItalicNode
 | 
						|
	(*CodeNode)(nil),                       // 28: memos.api.v1.CodeNode
 | 
						|
	(*ImageNode)(nil),                      // 29: memos.api.v1.ImageNode
 | 
						|
	(*LinkNode)(nil),                       // 30: memos.api.v1.LinkNode
 | 
						|
	(*AutoLinkNode)(nil),                   // 31: memos.api.v1.AutoLinkNode
 | 
						|
	(*TagNode)(nil),                        // 32: memos.api.v1.TagNode
 | 
						|
	(*StrikethroughNode)(nil),              // 33: memos.api.v1.StrikethroughNode
 | 
						|
	(*EscapingCharacterNode)(nil),          // 34: memos.api.v1.EscapingCharacterNode
 | 
						|
	(*MathNode)(nil),                       // 35: memos.api.v1.MathNode
 | 
						|
	(*HighlightNode)(nil),                  // 36: memos.api.v1.HighlightNode
 | 
						|
	(*SubscriptNode)(nil),                  // 37: memos.api.v1.SubscriptNode
 | 
						|
	(*SuperscriptNode)(nil),                // 38: memos.api.v1.SuperscriptNode
 | 
						|
	(*ReferencedContentNode)(nil),          // 39: memos.api.v1.ReferencedContentNode
 | 
						|
	(*SpoilerNode)(nil),                    // 40: memos.api.v1.SpoilerNode
 | 
						|
	(*HTMLElementNode)(nil),                // 41: memos.api.v1.HTMLElementNode
 | 
						|
	(*TableNode_Row)(nil),                  // 42: memos.api.v1.TableNode.Row
 | 
						|
	nil,                                    // 43: memos.api.v1.HTMLElementNode.AttributesEntry
 | 
						|
}
 | 
						|
var file_api_v1_markdown_service_proto_depIdxs = []int32{
 | 
						|
	10, // 0: memos.api.v1.ParseMarkdownResponse.nodes:type_name -> memos.api.v1.Node
 | 
						|
	10, // 1: memos.api.v1.RestoreMarkdownNodesRequest.nodes:type_name -> memos.api.v1.Node
 | 
						|
	10, // 2: memos.api.v1.StringifyMarkdownNodesRequest.nodes:type_name -> memos.api.v1.Node
 | 
						|
	0,  // 3: memos.api.v1.Node.type:type_name -> memos.api.v1.NodeType
 | 
						|
	11, // 4: memos.api.v1.Node.line_break_node:type_name -> memos.api.v1.LineBreakNode
 | 
						|
	12, // 5: memos.api.v1.Node.paragraph_node:type_name -> memos.api.v1.ParagraphNode
 | 
						|
	13, // 6: memos.api.v1.Node.code_block_node:type_name -> memos.api.v1.CodeBlockNode
 | 
						|
	14, // 7: memos.api.v1.Node.heading_node:type_name -> memos.api.v1.HeadingNode
 | 
						|
	15, // 8: memos.api.v1.Node.horizontal_rule_node:type_name -> memos.api.v1.HorizontalRuleNode
 | 
						|
	16, // 9: memos.api.v1.Node.blockquote_node:type_name -> memos.api.v1.BlockquoteNode
 | 
						|
	17, // 10: memos.api.v1.Node.list_node:type_name -> memos.api.v1.ListNode
 | 
						|
	18, // 11: memos.api.v1.Node.ordered_list_item_node:type_name -> memos.api.v1.OrderedListItemNode
 | 
						|
	19, // 12: memos.api.v1.Node.unordered_list_item_node:type_name -> memos.api.v1.UnorderedListItemNode
 | 
						|
	20, // 13: memos.api.v1.Node.task_list_item_node:type_name -> memos.api.v1.TaskListItemNode
 | 
						|
	21, // 14: memos.api.v1.Node.math_block_node:type_name -> memos.api.v1.MathBlockNode
 | 
						|
	22, // 15: memos.api.v1.Node.table_node:type_name -> memos.api.v1.TableNode
 | 
						|
	23, // 16: memos.api.v1.Node.embedded_content_node:type_name -> memos.api.v1.EmbeddedContentNode
 | 
						|
	24, // 17: memos.api.v1.Node.text_node:type_name -> memos.api.v1.TextNode
 | 
						|
	25, // 18: memos.api.v1.Node.bold_node:type_name -> memos.api.v1.BoldNode
 | 
						|
	26, // 19: memos.api.v1.Node.italic_node:type_name -> memos.api.v1.ItalicNode
 | 
						|
	27, // 20: memos.api.v1.Node.bold_italic_node:type_name -> memos.api.v1.BoldItalicNode
 | 
						|
	28, // 21: memos.api.v1.Node.code_node:type_name -> memos.api.v1.CodeNode
 | 
						|
	29, // 22: memos.api.v1.Node.image_node:type_name -> memos.api.v1.ImageNode
 | 
						|
	30, // 23: memos.api.v1.Node.link_node:type_name -> memos.api.v1.LinkNode
 | 
						|
	31, // 24: memos.api.v1.Node.auto_link_node:type_name -> memos.api.v1.AutoLinkNode
 | 
						|
	32, // 25: memos.api.v1.Node.tag_node:type_name -> memos.api.v1.TagNode
 | 
						|
	33, // 26: memos.api.v1.Node.strikethrough_node:type_name -> memos.api.v1.StrikethroughNode
 | 
						|
	34, // 27: memos.api.v1.Node.escaping_character_node:type_name -> memos.api.v1.EscapingCharacterNode
 | 
						|
	35, // 28: memos.api.v1.Node.math_node:type_name -> memos.api.v1.MathNode
 | 
						|
	36, // 29: memos.api.v1.Node.highlight_node:type_name -> memos.api.v1.HighlightNode
 | 
						|
	37, // 30: memos.api.v1.Node.subscript_node:type_name -> memos.api.v1.SubscriptNode
 | 
						|
	38, // 31: memos.api.v1.Node.superscript_node:type_name -> memos.api.v1.SuperscriptNode
 | 
						|
	39, // 32: memos.api.v1.Node.referenced_content_node:type_name -> memos.api.v1.ReferencedContentNode
 | 
						|
	40, // 33: memos.api.v1.Node.spoiler_node:type_name -> memos.api.v1.SpoilerNode
 | 
						|
	41, // 34: memos.api.v1.Node.html_element_node:type_name -> memos.api.v1.HTMLElementNode
 | 
						|
	10, // 35: memos.api.v1.ParagraphNode.children:type_name -> memos.api.v1.Node
 | 
						|
	10, // 36: memos.api.v1.HeadingNode.children:type_name -> memos.api.v1.Node
 | 
						|
	10, // 37: memos.api.v1.BlockquoteNode.children:type_name -> memos.api.v1.Node
 | 
						|
	1,  // 38: memos.api.v1.ListNode.kind:type_name -> memos.api.v1.ListNode.Kind
 | 
						|
	10, // 39: memos.api.v1.ListNode.children:type_name -> memos.api.v1.Node
 | 
						|
	10, // 40: memos.api.v1.OrderedListItemNode.children:type_name -> memos.api.v1.Node
 | 
						|
	10, // 41: memos.api.v1.UnorderedListItemNode.children:type_name -> memos.api.v1.Node
 | 
						|
	10, // 42: memos.api.v1.TaskListItemNode.children:type_name -> memos.api.v1.Node
 | 
						|
	10, // 43: memos.api.v1.TableNode.header:type_name -> memos.api.v1.Node
 | 
						|
	42, // 44: memos.api.v1.TableNode.rows:type_name -> memos.api.v1.TableNode.Row
 | 
						|
	10, // 45: memos.api.v1.BoldNode.children:type_name -> memos.api.v1.Node
 | 
						|
	10, // 46: memos.api.v1.ItalicNode.children:type_name -> memos.api.v1.Node
 | 
						|
	10, // 47: memos.api.v1.LinkNode.content:type_name -> memos.api.v1.Node
 | 
						|
	43, // 48: memos.api.v1.HTMLElementNode.attributes:type_name -> memos.api.v1.HTMLElementNode.AttributesEntry
 | 
						|
	10, // 49: memos.api.v1.HTMLElementNode.children:type_name -> memos.api.v1.Node
 | 
						|
	10, // 50: memos.api.v1.TableNode.Row.cells:type_name -> memos.api.v1.Node
 | 
						|
	2,  // 51: memos.api.v1.MarkdownService.ParseMarkdown:input_type -> memos.api.v1.ParseMarkdownRequest
 | 
						|
	4,  // 52: memos.api.v1.MarkdownService.RestoreMarkdownNodes:input_type -> memos.api.v1.RestoreMarkdownNodesRequest
 | 
						|
	6,  // 53: memos.api.v1.MarkdownService.StringifyMarkdownNodes:input_type -> memos.api.v1.StringifyMarkdownNodesRequest
 | 
						|
	8,  // 54: memos.api.v1.MarkdownService.GetLinkMetadata:input_type -> memos.api.v1.GetLinkMetadataRequest
 | 
						|
	3,  // 55: memos.api.v1.MarkdownService.ParseMarkdown:output_type -> memos.api.v1.ParseMarkdownResponse
 | 
						|
	5,  // 56: memos.api.v1.MarkdownService.RestoreMarkdownNodes:output_type -> memos.api.v1.RestoreMarkdownNodesResponse
 | 
						|
	7,  // 57: memos.api.v1.MarkdownService.StringifyMarkdownNodes:output_type -> memos.api.v1.StringifyMarkdownNodesResponse
 | 
						|
	9,  // 58: memos.api.v1.MarkdownService.GetLinkMetadata:output_type -> memos.api.v1.LinkMetadata
 | 
						|
	55, // [55:59] is the sub-list for method output_type
 | 
						|
	51, // [51:55] is the sub-list for method input_type
 | 
						|
	51, // [51:51] is the sub-list for extension type_name
 | 
						|
	51, // [51:51] is the sub-list for extension extendee
 | 
						|
	0,  // [0:51] is the sub-list for field type_name
 | 
						|
}
 | 
						|
 | 
						|
func init() { file_api_v1_markdown_service_proto_init() }
 | 
						|
func file_api_v1_markdown_service_proto_init() {
 | 
						|
	if File_api_v1_markdown_service_proto != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	file_api_v1_markdown_service_proto_msgTypes[8].OneofWrappers = []any{
 | 
						|
		(*Node_LineBreakNode)(nil),
 | 
						|
		(*Node_ParagraphNode)(nil),
 | 
						|
		(*Node_CodeBlockNode)(nil),
 | 
						|
		(*Node_HeadingNode)(nil),
 | 
						|
		(*Node_HorizontalRuleNode)(nil),
 | 
						|
		(*Node_BlockquoteNode)(nil),
 | 
						|
		(*Node_ListNode)(nil),
 | 
						|
		(*Node_OrderedListItemNode)(nil),
 | 
						|
		(*Node_UnorderedListItemNode)(nil),
 | 
						|
		(*Node_TaskListItemNode)(nil),
 | 
						|
		(*Node_MathBlockNode)(nil),
 | 
						|
		(*Node_TableNode)(nil),
 | 
						|
		(*Node_EmbeddedContentNode)(nil),
 | 
						|
		(*Node_TextNode)(nil),
 | 
						|
		(*Node_BoldNode)(nil),
 | 
						|
		(*Node_ItalicNode)(nil),
 | 
						|
		(*Node_BoldItalicNode)(nil),
 | 
						|
		(*Node_CodeNode)(nil),
 | 
						|
		(*Node_ImageNode)(nil),
 | 
						|
		(*Node_LinkNode)(nil),
 | 
						|
		(*Node_AutoLinkNode)(nil),
 | 
						|
		(*Node_TagNode)(nil),
 | 
						|
		(*Node_StrikethroughNode)(nil),
 | 
						|
		(*Node_EscapingCharacterNode)(nil),
 | 
						|
		(*Node_MathNode)(nil),
 | 
						|
		(*Node_HighlightNode)(nil),
 | 
						|
		(*Node_SubscriptNode)(nil),
 | 
						|
		(*Node_SuperscriptNode)(nil),
 | 
						|
		(*Node_ReferencedContentNode)(nil),
 | 
						|
		(*Node_SpoilerNode)(nil),
 | 
						|
		(*Node_HtmlElementNode)(nil),
 | 
						|
	}
 | 
						|
	type x struct{}
 | 
						|
	out := protoimpl.TypeBuilder{
 | 
						|
		File: protoimpl.DescBuilder{
 | 
						|
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
						|
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_api_v1_markdown_service_proto_rawDesc), len(file_api_v1_markdown_service_proto_rawDesc)),
 | 
						|
			NumEnums:      2,
 | 
						|
			NumMessages:   42,
 | 
						|
			NumExtensions: 0,
 | 
						|
			NumServices:   1,
 | 
						|
		},
 | 
						|
		GoTypes:           file_api_v1_markdown_service_proto_goTypes,
 | 
						|
		DependencyIndexes: file_api_v1_markdown_service_proto_depIdxs,
 | 
						|
		EnumInfos:         file_api_v1_markdown_service_proto_enumTypes,
 | 
						|
		MessageInfos:      file_api_v1_markdown_service_proto_msgTypes,
 | 
						|
	}.Build()
 | 
						|
	File_api_v1_markdown_service_proto = out.File
 | 
						|
	file_api_v1_markdown_service_proto_goTypes = nil
 | 
						|
	file_api_v1_markdown_service_proto_depIdxs = nil
 | 
						|
}
 |