graph LR
readtime_readtime["readtime.readtime"]
filetime_from_git_content_adapter["filetime_from_git.content_adapter"]
photos_photos["photos.photos"]
thumbnailer_thumbnailer["thumbnailer.thumbnailer"]
liquid_tags_mdx_liquid_tags["liquid_tags.mdx_liquid_tags"]
github_activity_github_activity["github_activity.github_activity"]
disqus_static_disqus_static["disqus_static.disqus_static"]
linker_linker["linker.linker"]
Pelican_Core_API_Interaction["Pelican Core API Interaction"]
Pelican_Configuration_Access["Pelican Configuration Access"]
Git_Integration_Module["Git Integration Module"]
External_API_Connectors["External API Connectors"]
readtime_readtime -- "interacts with" --> Pelican_Core_API_Interaction
readtime_readtime -- "configured by" --> Pelican_Configuration_Access
filetime_from_git_content_adapter -- "interacts with" --> Pelican_Core_API_Interaction
filetime_from_git_content_adapter -- "uses" --> Git_Integration_Module
photos_photos -- "interacts with" --> Pelican_Core_API_Interaction
photos_photos -- "identifies images for" --> thumbnailer_thumbnailer
thumbnailer_thumbnailer -- "processes images from" --> photos_photos
thumbnailer_thumbnailer -- "interacts with" --> Pelican_Core_API_Interaction
liquid_tags_mdx_liquid_tags -- "interacts with" --> Pelican_Core_API_Interaction
liquid_tags_mdx_liquid_tags -- "configured by" --> Pelican_Configuration_Access
github_activity_github_activity -- "interacts with" --> Pelican_Core_API_Interaction
github_activity_github_activity -- "fetches data via" --> External_API_Connectors
disqus_static_disqus_static -- "interacts with" --> Pelican_Core_API_Interaction
disqus_static_disqus_static -- "fetches data via" --> External_API_Connectors
linker_linker -- "interacts with" --> Pelican_Core_API_Interaction
linker_linker -- "configured by" --> Pelican_Configuration_Access
The pelican-plugins subsystem significantly extends the capabilities of the Pelican static site generator through a collection of independent, modular plugins. Each plugin, such as readtime.readtime for content metadata enrichment or filetime_from_git.content_adapter for integrating version control data, operates as a distinct functional unit. These plugins primarily interact with the Pelican Core API Interaction layer, which represents their collective engagement with Pelican's internal processing pipeline and event system. Configuration for these plugins is dynamically managed through the Pelican Configuration Access component, abstracting the settings.py file. Specialized plugins like github_activity.github_activity and disqus_static.disqus_static leverage External API Connectors to seamlessly integrate dynamic content from external web services. Concurrently, filetime_from_git.content_adapter utilizes a dedicated Git Integration Module for retrieving historical file information. The subsystem also features an internal media processing workflow where photos.photos identifies images for subsequent optimization by thumbnailer.thumbnailer. This architectural design promotes extensibility, clear separation of concerns, and efficient integration of diverse functionalities into the static site generation process.
Calculates and injects an estimated reading time into the metadata of content objects (articles, pages). This enhances the user experience by providing a quick overview of content length.
Related Classes/Methods:
Integrates version control metadata, specifically commit dates from Git, into content objects. This allows for displaying creation or last modification times based on source control history.
Related Classes/Methods:
Scans content for image references and gallery definitions, preparing them for further media processing. It acts as an initial stage for media-related enhancements.
Related Classes/Methods:
Processes detected images by resizing them and generating thumbnails. This optimizes image delivery and presentation on the static site.
Related Classes/Methods:
Extends the content parsing capabilities to recognize and process custom "liquid tags" within Markdown or reStructuredText. This enables dynamic content embedding, conditional logic, or complex transformations directly within the content source.
Related Classes/Methods:
Fetches and embeds external activity feeds from GitHub (e.g., recent commits, repository stars) into generated pages, providing dynamic external content integration.
Related Classes/Methods:
Generates static versions of Disqus comments, embedding them directly into content pages. This enhances site performance and reduces reliance on external JavaScript for comments.
Related Classes/Methods:
Facilitates robust internal content linking and transforms special link types (e.g., mailto, internal references) into correct, relative or absolute URLs within the generated site.
Related Classes/Methods:
Represents the internal mechanisms within the plugins that interact with the external Pelican core framework's APIs. This component encapsulates how plugins register themselves and manipulate content within the Pelican ecosystem.
Related Classes/Methods:
Represents the internal mechanisms within plugins for reading and interpreting configuration settings from the external settings.py file.
Related Classes/Methods:
Represents the specific module responsible for interacting with the external Git version control system to retrieve file metadata.
Related Classes/Methods:
Represents the modules responsible for making requests to and processing responses from external web services like GitHub and Disqus.
Related Classes/Methods: