graph LR
Core_Documentation_Engine["Core Documentation Engine"]
Handler["Handler"]
PythonHandler["PythonHandler"]
Plugin_Handler_Manager["Plugin Handler Manager"]
Internal_Handler_Registry["Internal Handler Registry"]
Internal_Markdown_Processor["Internal Markdown Processor"]
Rendering_Processor["Rendering Processor"]
Core_Documentation_Engine -- "interacts with" --> Plugin_Handler_Manager
Core_Documentation_Engine -- "interacts with" --> Handler
Plugin_Handler_Manager -- "accesses" --> Internal_Handler_Registry
PythonHandler -- "inherits from" --> Handler
Handler -- "utilizes" --> Internal_Markdown_Processor
Handler -- "interacts with" --> Rendering_Processor
The mkdocstrings documentation generation subsystem is orchestrated by the Core Documentation Engine. This engine initiates the process by interacting with the Plugin Handler Manager to resolve and retrieve the appropriate language-specific Handler. The Plugin Handler Manager, in turn, utilizes the Internal Handler Registry to efficiently locate and provide the correct handler instance. Once a Handler (such as the PythonHandler for Python code) is obtained, it is responsible for parsing source code and extracting documentation. During this process, the Handler utilizes the Internal Markdown Processor to format extracted content and interacts with the Rendering Processor to prepare the content for final display, ensuring proper linking and transformations. This modular design allows for extensible language support while maintaining a consistent core documentation workflow.
The central orchestrator of the documentation generation process. It initiates the handler resolution, retrieves documentation content, and coordinates the overall flow from source parsing to final rendering.
Related Classes/Methods: None
The foundational abstract class that defines the contract and implements common functionalities for all language-specific documentation handlers. It serves as the core interface for extending mkdocstrings to support new programming languages, ensuring a consistent API for the core engine.
Related Classes/Methods:
A concrete implementation of the Handler abstract base class, specifically designed for parsing Python source code. It extracts documentation (e.g., docstrings, signatures) and converts it into the standardized intermediate representation defined by the Handler interface, acting as a specialized handler within the mkdocstrings ecosystem.
Related Classes/Methods:
Responsible for resolving and retrieving the appropriate language handlers based on configuration or detected language. It acts as the primary interface for the Core Documentation Engine to obtain handler instances, abstracting the handler discovery process.
Related Classes/Methods:
An internal mechanism or data structure that stores and provides access to registered language handlers. It serves as a lookup table for the Plugin Handler Manager, enabling efficient retrieval of handler instances by language identifier.
Related Classes/Methods:
A utility component providing Markdown conversion capabilities. It is primarily utilized by Handler implementations to process and format extracted documentation content, ensuring consistency in Markdown rendering before further processing.
Related Classes/Methods:
A component responsible for preparing the documentation content extracted by handlers for final rendering. This includes applying transformations such as ID prefixing to ensure proper linking and display within the generated documentation.
Related Classes/Methods: