all2md.parsers.mediawiki
MediaWiki/WikiText to AST converter.
This module provides conversion from MediaWiki markup (WikiText) to AST representation using the mwparserfromhell parser. It enables bidirectional transformation by parsing wiki markup into the same AST structure used for other formats.
- class all2md.parsers.mediawiki.MediaWikiParser
Bases:
BaseParserConvert MediaWiki/WikiText to AST representation.
This converter uses mwparserfromhell to parse WikiText and builds an AST that matches the structure used throughout all2md, enabling bidirectional conversion and transformation pipelines.
- Parameters:
options (MediaWikiParserOptions or None, default = None) – Parser configuration options
Examples
Basic parsing:
>>> parser = MediaWikiParser() >>> doc = parser.parse("== Heading ==\\n\\nThis is '''bold'''.")
With options:
>>> options = MediaWikiParserOptions(parse_templates=True) >>> parser = MediaWikiParser(options) >>> doc = parser.parse(wikitext)
Initialize the MediaWiki parser with options and progress callback.
- __init__(options: MediaWikiParserOptions | None = None, progress_callback: Callable[[ProgressEvent], None] | None = None)
Initialize the MediaWiki parser with options and progress callback.
- parse(input_data: str | Path | IO[bytes] | bytes) Document
Parse MediaWiki input into AST Document.
- Parameters:
input_data (str, Path, IO[bytes], or bytes) – MediaWiki/WikiText input to parse. Can be: - File path (str or Path) - File-like object in binary mode - Raw WikiText bytes - WikiText string
- Returns:
AST document node
- Return type:
- Raises:
DependencyError – If mwparserfromhell is not installed
ParsingError – If parsing fails
- extract_metadata(document: Any) DocumentMetadata
Extract metadata from MediaWiki document.
- Parameters:
document (mwparserfromhell.Wikicode) – Parsed MediaWiki document
- Returns:
Extracted metadata
- Return type:
Notes
MediaWiki documents may have metadata in templates or special syntax. This implementation extracts basic information where available.