all2md.parsers.dokuwiki

DokuWiki markup to AST converter.

This module provides conversion from DokuWiki markup to AST representation using custom regex-based parsing. It enables bidirectional transformation by parsing DokuWiki markup into the same AST structure used for other formats.

class all2md.parsers.dokuwiki.DokuWikiParser

Bases: BaseParser

Convert DokuWiki markup to AST representation.

This converter uses custom regex-based parsing to process DokuWiki markup and builds an AST that matches the structure used throughout all2md, enabling bidirectional conversion and transformation pipelines.

Parameters:
  • options (DokuWikiParserOptions or None, default = None) – Parser configuration options

  • progress_callback (ProgressCallback or None, default = None) – Optional callback for progress updates

Examples

Basic parsing:

>>> parser = DokuWikiParser()
>>> doc = parser.parse("====== Heading ======\\n\\nThis is **bold**.")

With options:

>>> options = DokuWikiParserOptions(parse_plugins=True)
>>> parser = DokuWikiParser(options)
>>> doc = parser.parse(dokuwiki_text)

Initialize the DokuWiki parser with options and progress callback.

__init__(options: DokuWikiParserOptions | None = None, progress_callback: Callable[[ProgressEvent], None] | None = None)

Initialize the DokuWiki parser with options and progress callback.

parse(input_data: str | Path | IO[bytes] | bytes) Document

Parse DokuWiki input into AST Document.

Parameters:

input_data (str, Path, IO[bytes], or bytes) – DokuWiki markup input to parse. Can be: - File path (str or Path) - File-like object in binary mode - Raw DokuWiki bytes - DokuWiki string

Returns:

AST document node

Return type:

Document

Raises:

ParsingError – If parsing fails

extract_metadata(content: str | Document) DocumentMetadata

Extract metadata from DokuWiki content.

Parameters:

content (str or Document) – DokuWiki markup content or parsed document

Returns:

Extracted metadata

Return type:

DocumentMetadata