Important note: We are in the process of migrating plugins from this monolithic repository to their own individual repositories under the new Pelican Plugins organization, a place for plugin authors to collaborate more broadly with Pelican maintainers and other members of the community. The intention is for all the plugins under the new organization to be in the new “namespace plugin” format, which means these plugins can easily be Pip-installed and recognized immediately by Pelican 4.5+ — without having to explicitly enable them.
This transition process will take some time, so we appreciate your patience in the interim. If you would like to help speed up this transition, the following would be very helpful:
- If you find a plugin here that has not yet been migrated to the new organization, create a new issue under this repository and communicate which plugin you would like to help migrate, after which a Pelican maintainer will guide you through the process.
- If you have come here to submit a pull request to add your plugin, please consider instead moving your plugin under the Pelican Plugins organization. To get started, create a new issue under this repository with the details of your plugin, after which a Pelican maintainer will guide you through the process.
Whether you are creating a new plugin or migrating an existing plugin, please use the provided Cookiecutter template to generate a scaffolded namespace plugin that conforms to community conventions. Have a look at the Simple Footnotes repository to see an example of a migrated plugin.
The rest of the information below is relevant for legacy plugins but not for the new namespace plugins found at the Pelican Plugins organization.
How to use plugins
The easiest way to install and use these plugins is to clone this repo:
git clone --recursive https://github.com/getpelican/pelican-plugins
and activate the ones you want in your settings file:
PLUGIN_PATHS = ['path/to/pelican-plugins'] PLUGINS = ['assets', 'sitemap', 'gravatar']
PLUGIN_PATHS can be a path relative to your settings file or an absolute path.
Alternatively, if plugins are in an importable path, you can omit
and list them:
PLUGINS = ['assets', 'sitemap', 'gravatar']
or you can
import the plugin directly and give that:
import my_plugin PLUGINS = [my_plugin, 'assets']
- (blank): Local hosted plugin is still waiting for migration work.
⚠️: Deprecated. Can be safely removed from this repository. ❓: Externally maintained plugins that do not need explicit migration from the mono-repo. Migration work need to happen in the original owners' repo. ✔: Repository has been migrated to Pelican Plugins organization.
Please refer to the
Readme file in a plugin's folder for detailed information about
Contributing a plugin
Please refer to the Contributing file.