graph LR
Build_Orchestrator["Build Orchestrator"]
Development_Server["Development Server"]
Deployment_Manager["Deployment Manager"]
Configuration_Manager["Configuration Manager"]
Development_Server -- "triggers" --> Build_Orchestrator
Deployment_Manager -- "relies on" --> Build_Orchestrator
Build_Orchestrator -- "relies on" --> Configuration_Manager
Development_Server -- "relies on" --> Configuration_Manager
Deployment_Manager -- "relies on" --> Configuration_Manager
The mkdocs system is orchestrated around three primary functional components: the Build Orchestrator, Development Server, and Deployment Manager. The Build Orchestrator is central to generating the static site content. The Development Server provides a local preview environment, triggering the Build Orchestrator for live updates. The Deployment Manager handles the publication of the generated site. All three core components critically rely on the Configuration Manager, which centralizes the loading and management of project settings, ensuring consistent behavior across the build, serve, and deploy processes. This architecture promotes modularity and clear separation of concerns, with configuration acting as a foundational dependency for operational components.
This component is the primary driver for generating the static site. It coordinates the rendering of all site elements, including templates and content pages, and manages the final output to the file system. It ensures all necessary files are correctly placed in the output directory.
Related Classes/Methods:
Provides a local HTTP server for previewing the generated site during development. It integrates with the build process to offer live reloading capabilities, automatically refreshing the browser when source content changes. This component is crucial for a smooth developer experience.
Related Classes/Methods:
Handles the specific logic and workflow for deploying the generated static site to remote platforms, with a focus on GitHub Pages. This includes pre-deployment checks, Git repository interactions, and pushing the compiled site content to the remote host.
Related Classes/Methods:
This component is responsible for loading, parsing, and validating the project's configuration settings. It ensures that all other components have access to the correct and consistent configuration data required for their operations, such as build parameters, server settings, and deployment options.
Related Classes/Methods: