name: base
version: 0.1
dependencies:
extra: "*"
nodes:
- type_id: HEADING
has_children: false
attributes:
- name: level
optional: false
data_type: !Int
- name: inner
optional: false
data_type: !Node
children:
- type_id: inner
optional: false
- type_id: PARAGRAPH
has_children: true
children:
- kind: ANY
repeat: "*"
- type_id: SOFT_BREAK
has_children: false
collections:
- name: inline
type: !OneOf[TEXT, STYLED, SOFT_BREAK, HARD_BREAK, CODE, MATH_INLINE, COMMAND]
- name: block
type: !OneOf[PARAGRAPH, HEADING, CODE_BLOCK, LIST]
nodest:
- type_id: HEADING
has_children: false
attributes:
- name: level
optional: false
data_type: !Int
- name: inner
optional: false
data_type: !Node
children:
- type_id: inner
optional: false
- type_id: LIST
attributes:
- name: type
type: enum
values: [unordered, numeric, alphabetic, roman]
- name: start
type: int
optional: yes
children:
- type: !Is[LIST_ITEM]
count: one
- type_id: CODE_BLOCK
attributes:
- name: label
type: string
optional: true
- name: language
type: string
optional: true
- name: is_cell
type: flag
has_value: true
- type_id: MATH
attributes:
- name: label
type: string
optional: true
- name: display_block
type: flag
optional: true
has_value: true
- type_id: STYLED
attributes:
- name: style
type: Enum[emphasis, strong, strikethrough, underline]
children:
- type: !Collection inline
count: one_or_many
- type_id: PARAGRAPH
children:
- kind: !Collection[block]
count: one_or_many
- type_id: SOFT_BREAK
- type_id: HARD_BREAK
- type_id: HORIZONTAL_RULE
- type_id: TASK
attributes:
- name: level
type: Enum[easy, medium, hard]
children:
- type: !Is task:parameter_caption
count: zero_or_one
- type: !Any
count: zero_or_many
- type_id: task:parameter_caption
children:
- type: !Collection inline
count: one_or_many