32 lines
1.2 KiB
ReStructuredText
32 lines
1.2 KiB
ReStructuredText
Contributing a plugin
|
|
=====================
|
|
|
|
Details of how to write a plugin is explained in the official Pelican `docs`_.
|
|
|
|
If you want to contribute, please fork this repository and issue your pull
|
|
request. Make sure that your plugin follows the structure below::
|
|
|
|
my_plugin
|
|
├── __init__.py
|
|
├── my_plugin.py
|
|
├── test_my_plugin.py
|
|
└── Readme.rst / Readme.md
|
|
|
|
|
|
``my_plugin.py`` is the actual plugin implementation. Include a brief
|
|
explanation of what the plugin does as a module docstring. Leave any further
|
|
explanations and usage details to ``Readme`` file.
|
|
|
|
``__init__.py`` should contain a single line with ``from .my_plugin import *``.
|
|
|
|
Place tests for your plugin in the same folder with name ``test_my_plugin.py``.
|
|
You can use ``test_data`` main folder, if you need content or templates in your tests.
|
|
|
|
**Note:** Each plugin can contain a LICENSE file stating the license it's
|
|
released under. If there is an absence of LICENSE then it defaults to the
|
|
*GNU AFFERO GENERAL PUBLIC LICENSE Version 3*.
|
|
|
|
Please refer to the ``LICENSE`` file for the full text of the license.
|
|
|
|
.. _docs: http://docs.getpelican.com/en/latest/plugins.html#how-to-create-plugins
|