Module

rendering.parsers.base

Base class for Markdown parsers.

Classes

BaseMarkdownParser abstract
Abstract base class for Markdown parsers. All parser implementations must implement this interface.…
5

Abstract base class for Markdown parsers. All parser implementations must implement this interface.

AST Support (Phase 3): Parsers may optionally support true AST output via:

  • parse_to_ast(): Parse content to AST tokens

  • render_ast(): Render AST tokens to HTML

  • supports_ast: Property indicating AST support

    See: plan/active/rfc-content-ast-architecture.md

Inherits from ABC

Methods 5

supports_ast property
Check if this parser supports true AST output.
bool
def supports_ast(self) -> bool

Check if this parser supports true AST output.

Returns

bool

True if parser can return AST tokens via parse_to_ast()

parse
Parse Markdown content into HTML.
2 str
def parse(self, content: str, metadata: dict[str, Any]) -> str

Parse Markdown content into HTML.

Parameters 2
content str

Raw Markdown content

metadata dict[str, Any]

Page metadata

Returns

str

Parsed HTML content

parse_with_toc
Parse Markdown content and extract table of contents.
2 tuple[str, str]
def parse_with_toc(self, content: str, metadata: dict[str, Any]) -> tuple[str, str]

Parse Markdown content and extract table of contents.

Parameters 2
content str

Raw Markdown content

metadata dict[str, Any]

Page metadata

Returns

tuple[str, str]

Tuple of (parsed HTML, table of contents HTML)

parse_to_ast
Parse Markdown content to AST tokens. Optional method for parsers that support…
2 list[dict[str, Any]]
def parse_to_ast(self, content: str, metadata: dict[str, Any]) -> list[dict[str, Any]]

Parse Markdown content to AST tokens.

Optional method for parsers that support true AST output. Override in subclasses (e.g., MistuneParser).

Parameters 2
content str

Raw Markdown content

metadata dict[str, Any]

Page metadata

Returns

list[dict[str, Any]]

List of AST token dictionaries

render_ast
Render AST tokens to HTML. Optional method for parsers that support true AST o…
1 str
def render_ast(self, ast: list[dict[str, Any]]) -> str

Render AST tokens to HTML.

Optional method for parsers that support true AST output. Override in subclasses (e.g., MistuneParser).

Parameters 1
ast list[dict[str, Any]]

List of AST token dictionaries

Returns

str

Rendered HTML string