all2md.parsers.markdown
Markdown to AST converter.
This module provides conversion from Markdown documents to AST representation using the mistune parser. It enables bidirectional transformation by parsing markdown into the same AST structure used for other formats.
- class all2md.parsers.markdown.MarkdownToAstConverter
Bases:
BaseParserConvert Markdown to AST representation.
This converter uses mistune to parse Markdown and builds an AST that matches the structure used throughout all2md, enabling bidirectional conversion and transformation pipelines.
- Parameters:
options (MarkdownParserOptions or None, default = None) – Parser configuration options
Examples
Basic parsing:
>>> converter = MarkdownToAstConverter() >>> doc = converter.parse("# Hello\\n\\nThis is **bold**.")
With options:
>>> options = MarkdownParserOptions(flavor="gfm", parse_tables=True) >>> converter = MarkdownToAstConverter(options) >>> doc = converter.parse(markdown_text)
Initialize the Markdown parser with options and progress callback.
- __init__(options: MarkdownParserOptions | None = None, progress_callback: Callable[[ProgressEvent], None] | None = None)
Initialize the Markdown parser with options and progress callback.
- parse(input_data: str | Path | IO[bytes] | bytes) Document
Parse Markdown input into AST Document.
- Parameters:
input_data (str, Path, IO[bytes], or bytes) – Markdown input to parse. Can be: - File path (str or Path) - File-like object in binary mode - Raw markdown bytes - Markdown string
- Returns:
AST document node
- Return type:
- extract_metadata(document: Any) DocumentMetadata
Extract metadata from Markdown document.
- Parameters:
document (Any) – Parsed Markdown document (AST or raw text)
- Returns:
Empty metadata (Markdown doesn’t have standard metadata)
- Return type:
Notes
Markdown files do not have a standardized metadata format in the core specification. Some flavors support YAML frontmatter, but that is handled separately in the parsing pipeline, not here.
- all2md.parsers.markdown.markdown_to_ast(markdown_content: str, options: MarkdownParserOptions | None = None) Document
Convert Markdown string to AST.
This is a convenience function that creates a converter and parses the markdown in one step.
- Parameters:
markdown_content (str) – Markdown text to parse
options (MarkdownParserOptions or None, default = None) – Parser configuration
- Returns:
AST document node
- Return type:
Examples
>>> from all2md.parsers.markdown import markdown_to_ast >>> doc = markdown_to_ast("# Hello\\n\\nWorld") >>> len(doc.children) 2