Nodes

class wenmode.nodes.Node(type, data=None)

Bases: object

Base class for all Wenmode AST nodes.

Parameters:
  • type (str) – mdast-compatible node type name.

  • data (dict[str, Any] | None) – Optional extension data used by transforms or renderers.

to_ast()

Convert this node and its children to plain Python data.

Returns:

A dictionary made from strings, numbers, lists, and nested dictionaries.

Return type:

dict[str, Any]

class wenmode.nodes.Parent(type, data=None, children=<factory>)

Bases: Node

Base class for nodes that contain child nodes.

class wenmode.nodes.Literal(type, data=None, value='')

Bases: Node

Base class for nodes that store literal text.

class wenmode.nodes.Root(type='root', data=None, children=<factory>, _footnote_definitions=None)

Bases: Parent

Document root node.

property footnote_definitions: dict[str, FootnoteDefinition] | None

Collected footnote definitions, if the footnote transform ran.

class wenmode.nodes.Paragraph(type='paragraph', data=None, children=<factory>)

Bases: Parent

Paragraph node.

class wenmode.nodes.Heading(type='heading', data=None, children=<factory>, depth=1)

Bases: Parent

Heading node.

Parameters:

depth (int) – Heading depth from 1 through 6.

class wenmode.nodes.Blockquote(type='blockquote', data=None, children=<factory>)

Bases: Parent

Block quote container node.

class wenmode.nodes.BlockSpoiler(type='blockSpoiler', data=None, children=<factory>)

Bases: Parent

Block spoiler container node.

class wenmode.nodes.List(type='list', data=None, children=<factory>, ordered=False, start=None, spread=False)

Bases: Parent

Ordered or unordered list node.

class wenmode.nodes.ListItem(type='listItem', data=None, children=<factory>, checked=None, spread=False)

Bases: Parent

List item node.

class wenmode.nodes.DefinitionList(type='definitionList', data=None, children=<factory>)

Bases: Parent

Definition list node.

class wenmode.nodes.DefinitionTerm(type='definitionTerm', data=None, children=<factory>)

Bases: Parent

Definition term node.

class wenmode.nodes.DefinitionDescription(type='definitionDescription', data=None, children=<factory>, spread=False)

Bases: Parent

Definition description node.

class wenmode.nodes.Code(type='code', data=None, value='', lang=None, meta=None)

Bases: Literal

Fenced or indented code block node.

class wenmode.nodes.Math(type='math', data=None, value='')

Bases: Literal

Display math block node.

class wenmode.nodes.ThematicBreak(type='thematicBreak', data=None)

Bases: Node

Thematic break node.

class wenmode.nodes.Html(type='html', data=None, value='')

Bases: Literal

Raw HTML node.

class wenmode.nodes.Text(type='text', data=None, value='', _parse_emphasis=True)

Bases: Literal

Plain text node.

class wenmode.nodes.InlineCode(type='inlineCode', data=None, value='')

Bases: Literal

Inline code span node.

class wenmode.nodes.InlineMath(type='inlineMath', data=None, value='')

Bases: Literal

Inline math node.

class wenmode.nodes.Strong(type='strong', data=None, children=<factory>)

Bases: Parent

Strong emphasis node.

class wenmode.nodes.Emphasis(type='emphasis', data=None, children=<factory>)

Bases: Parent

Emphasis node.

class wenmode.nodes.Delete(type='delete', data=None, children=<factory>)

Bases: Parent

Deleted text node.

class wenmode.nodes.Mark(type='mark', data=None, children=<factory>)

Bases: Parent

Highlighted text node.

class wenmode.nodes.Insert(type='insert', data=None, children=<factory>)

Bases: Parent

Inserted text node.

class wenmode.nodes.Superscript(type='superscript', data=None, children=<factory>)

Bases: Parent

Superscript node.

class wenmode.nodes.Subscript(type='subscript', data=None, children=<factory>)

Bases: Parent

Subscript node.

class wenmode.nodes.Ruby(type='ruby', data=None, segments=<factory>)

Bases: Node

Ruby annotation node.

class wenmode.nodes.InlineSpoiler(type='inlineSpoiler', data=None, children=<factory>)

Bases: Parent

Inline spoiler node.

class wenmode.nodes.Abbreviation(type='abbreviation', data=None, children=<factory>, title='')

Bases: Parent

Abbreviation node.

class wenmode.nodes.Table(type='table', data=None, children=<factory>, align=<factory>)

Bases: Parent

Table node.

class wenmode.nodes.TableRow(type='tableRow', data=None, children=<factory>)

Bases: Parent

Table row node.

class wenmode.nodes.TableCell(type='tableCell', data=None, children=<factory>)

Bases: Parent

Table cell node.

Bases: Parent

Link node.

class wenmode.nodes.Image(type='image', data=None, url='', alt='', title=None)

Bases: Node

Image node.

class wenmode.nodes.Break(type='break', data=None)

Bases: Node

Hard line break node.

class wenmode.nodes.FootnoteReference(type='footnoteReference', data=None, identifier='', label='')

Bases: Node

Footnote reference node.

class wenmode.nodes.FootnoteDefinition(type='footnoteDefinition', data=None, children=<factory>, identifier='', label='')

Bases: Parent

Footnote definition node.

class wenmode.nodes.TextDirective(type='textDirective', data=None, children=<factory>, name='', attributes=None)

Bases: Parent

Inline directive node.

class wenmode.nodes.LeafDirective(type='leafDirective', data=None, children=<factory>, name='', attributes=None)

Bases: Parent

Leaf block directive node.

class wenmode.nodes.ContainerDirective(type='containerDirective', data=None, children=<factory>, name='', attributes=None)

Bases: Parent

Container block directive node.