graph LR
Pelican_Plugin_Core_PPC_["Pelican Plugin Core (PPC)"]
PelicanInitHooks["PelicanInitHooks"]
PelicanInitializedHook["PelicanInitializedHook"]
InitDefaultConfigHook["InitDefaultConfigHook"]
PluginSettingsProcessor["PluginSettingsProcessor"]
ContentExtensionRegistrar["ContentExtensionRegistrar"]
DefaultSettingsApplier["DefaultSettingsApplier"]
Pelican_Plugin_Core_PPC_ -- "invokes" --> PelicanInitHooks
Pelican_Plugin_Core_PPC_ -- "invokes" --> PelicanInitializedHook
Pelican_Plugin_Core_PPC_ -- "invokes" --> InitDefaultConfigHook
PelicanInitHooks -- "delegates to" --> PluginSettingsProcessor
PelicanInitHooks -- "delegates to" --> ContentExtensionRegistrar
PelicanInitializedHook -- "relies on" --> DefaultSettingsApplier
InitDefaultConfigHook -- "relies on" --> DefaultSettingsApplier
click Pelican_Plugin_Core_PPC_ href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/pelican-plugins/Pelican_Plugin_Core_PPC_.md" "Details"
The Pelican Plugin Core (PPC) acts as the central hub for managing plugins, orchestrating their lifecycle from initialization to post-processing. During startup, the PPC invokes PelicanInitHooks to allow plugins to process their settings via the PluginSettingsProcessor and register content extensions through the ContentExtensionRegistrar. After core initialization, the PelicanInitializedHook is triggered, enabling plugins to finalize configurations, often relying on the DefaultSettingsApplier to ensure all necessary default values are in place. Similarly, the InitDefaultConfigHook also utilizes the DefaultSettingsApplier to establish baseline configurations. This structured interaction ensures that plugins are properly configured and integrated into Pelican's content processing pipeline.
Pelican Plugin Core (PPC) [Expand]
The central orchestrator responsible for initializing, registering, and managing the lifecycle of all plugins within the Pelican framework. It handles global settings and hooks into Pelican's build process events, acting as the primary integration point for extensions.
Related Classes/Methods:
md_inline_extension.inline:pelican_initrender_math.math:pelican_initplantuml.plantuml_rst:pelican_initpelican_comment_system.pelican_comment_system:pelican_initializedtag_cloud.tag_cloud:init_default_config
Serves as the initial entry point for plugins during Pelican's startup. It registers content extensions and processes plugin-specific settings.
Related Classes/Methods:
md_inline_extension.inline:pelican_initrender_math.math:pelican_initplantuml.plantuml_rst:pelican_init
Allows plugins to perform actions or finalize configurations after Pelican's core initialization is complete, ensuring a fully set up environment.
Related Classes/Methods:
Establishes default configuration values for a plugin, providing a baseline set of options even if not explicitly defined by the user.
Related Classes/Methods:
Extracts and interprets plugin-specific configuration settings from Pelican's overall settings dictionary.
Related Classes/Methods:
Registers custom extensions or processors with Pelican's content parsing mechanisms (e.g., Markdown, reStructuredText).
Related Classes/Methods:
Applies default values to plugin configurations, ensuring robustness and completeness of settings.
Related Classes/Methods: