Nodes#
- class wenmode.nodes.Point(line, column, offset)#
Bases:
objectA 1-based source point in the parsed Markdown document.
- class wenmode.nodes.Position(start, end)#
Bases:
object0-based source offset range for a node.
Root.to_ast()converts these offsets tolineandcolumnfields when the root was produced by a position-aware parser. CallingNode.to_ast()on a standalone node emits offset-only positions.
- class wenmode.nodes.Node(type, data=None, position=None)#
Bases:
objectBase 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.
position (Position | None) – Optional 0-based source offset range.
- to_ast()#
Convert this node and its children to plain Python data.
Standalone nodes do not have root-level line-start context, so source positions are serialized with offsets only. Use
Root.to_ast()on a parsed document root when you need unist-stylelineandcolumnfields.- Returns:
A dictionary made from strings, numbers, lists, and nested dictionaries.
- Return type:
dict[str, Any]
- class wenmode.nodes.Parent(type, data=None, position=None, children=<factory>)#
Bases:
NodeBase class for nodes that contain child nodes.
- class wenmode.nodes.Literal(type, data=None, position=None, value='')#
Bases:
NodeBase class for nodes that store literal text.
- class wenmode.nodes.Root(type='root', data=None, position=None, children=<factory>, _footnote_definitions=None, _line_starts=None)#
Bases:
ParentDocument root node.
- to_ast()#
Convert this root and its children to plain Python data.
When the root was parsed with
positions=True, position offsets are converted to unist-stylelineandcolumnfields.
- property footnote_definitions: dict[str, FootnoteDefinition] | None#
Collected footnote definitions, if the footnote transform ran.
- class wenmode.nodes.Paragraph(type='paragraph', data=None, position=None, children=<factory>)#
Bases:
ParentParagraph node.
- class wenmode.nodes.Heading(type='heading', data=None, position=None, children=<factory>, depth=1)#
Bases:
ParentHeading node.
- Parameters:
depth (int) – Heading depth from 1 through 6.
- class wenmode.nodes.Blockquote(type='blockquote', data=None, position=None, children=<factory>)#
Bases:
ParentBlock quote container node.
- class wenmode.nodes.List(type='list', data=None, position=None, children=<factory>, ordered=False, start=None, spread=False)#
Bases:
ParentOrdered or unordered list node.
- class wenmode.nodes.ListItem(type='listItem', data=None, position=None, children=<factory>, checked=None, spread=False)#
Bases:
ParentList item node.
- class wenmode.nodes.Code(type='code', data=None, position=None, value='', lang=None, meta=None)#
Bases:
LiteralFenced or indented code block node.
- class wenmode.nodes.ThematicBreak(type='thematicBreak', data=None, position=None)#
Bases:
NodeThematic break node.
- class wenmode.nodes.Html(type='html', data=None, position=None, value='')#
Bases:
LiteralRaw HTML node.
- class wenmode.nodes.Text(type='text', data=None, position=None, value='', _parse_emphasis=True)#
Bases:
LiteralPlain text node.
- class wenmode.nodes.InlineCode(type='inlineCode', data=None, position=None, value='')#
Bases:
LiteralInline code span node.
- class wenmode.nodes.Strong(type='strong', data=None, position=None, children=<factory>)#
Bases:
ParentStrong emphasis node.
- class wenmode.nodes.Emphasis(type='emphasis', data=None, position=None, children=<factory>)#
Bases:
ParentEmphasis node.
- class wenmode.nodes.Delete(type='delete', data=None, position=None, children=<factory>)#
Bases:
ParentDeleted text node.
- class wenmode.nodes.Table(type='table', data=None, position=None, children=<factory>, align=<factory>)#
Bases:
ParentTable node.
- class wenmode.nodes.TableRow(type='tableRow', data=None, position=None, children=<factory>)#
Bases:
ParentTable row node.
- class wenmode.nodes.TableCell(type='tableCell', data=None, position=None, children=<factory>)#
Bases:
ParentTable cell node.
- class wenmode.nodes.Link(type='link', data=None, position=None, children=<factory>, url='', title=None)#
Bases:
ParentLink node.
- class wenmode.nodes.Image(type='image', data=None, position=None, url='', alt='', title=None)#
Bases:
NodeImage node.
- class wenmode.nodes.Break(type='break', data=None, position=None)#
Bases:
NodeHard line break node.
- class wenmode.nodes.FootnoteReference(type='footnoteReference', data=None, position=None, identifier='', label='')#
Bases:
NodeFootnote reference node.
- class wenmode.nodes.FootnoteDefinition(type='footnoteDefinition', data=None, position=None, children=<factory>, identifier='', label='')#
Bases:
ParentFootnote definition node.
- class wenmode.nodes.TextDirective(type='textDirective', data=None, position=None, children=<factory>, name='', attributes=None)#
Bases:
ParentInline directive node.
- class wenmode.nodes.LeafDirective(type='leafDirective', data=None, position=None, children=<factory>, name='', attributes=None)#
Bases:
ParentLeaf block directive node.