58 lines
1.6 KiB
Markdown
58 lines
1.6 KiB
Markdown
title: Publishing
|
|
---
|
|
summary: Explains how publishing of plugins works.
|
|
---
|
|
sort_key: 20
|
|
---
|
|
body:
|
|
|
|
Once you are happy with a plugin you can publish it so that other people
|
|
can use it. Publishing of plugins happens through the
|
|
[Python Package Index :ext](https://pypi.python.org/) and can be
|
|
automatically done with the help of the lektor shell command.
|
|
|
|
## Enhance your setup.py
|
|
|
|
Before you can go about publishing your plugin there needs to be at least
|
|
some information added about it to your `setup.py`. At least the keys
|
|
`name`, `version`, `author`, `author_email`, `url` and `description` need to be
|
|
set. Here is a basic example of doing this:
|
|
|
|
```python
|
|
from setuptools import setup
|
|
|
|
|
|
setup(
|
|
name='lektor-your-plugin',
|
|
author='Your Name',
|
|
author_email='your.email@your.domain.invalid',
|
|
version='1.0',
|
|
url='http://github.com/youruser/lektor-yourplugin',
|
|
license='MIT',
|
|
packages=['lektor_your_plugin'],
|
|
description='Basic description goes here',
|
|
entry_points={
|
|
'lektor.plugins': [
|
|
'hello-world = lektor_hello_world:HelloWorldPlugin',
|
|
]
|
|
},
|
|
)
|
|
```
|
|
|
|
## Publishing
|
|
|
|
Once you augmented your `setup.py` you can go ahead with the publishing. First
|
|
you need to make sure you have a PyPI account. If you do not, you can
|
|
create one at [pypi.python.org :ext](https://pypi.python.org/pypi?%3Aaction=register_form).
|
|
|
|
Once you have done that, you can publish the plugin from the command line
|
|
with the `lektor` command:
|
|
|
|
```
|
|
$ cd path/to/your/plugin
|
|
$ lektor dev publish-plugin
|
|
```
|
|
|
|
When you use this for the first time it will prompt you for your login
|
|
credentials for `pypi`. Next time it will have remembered them.
|