31 lines
1.0 KiB
Plaintext
31 lines
1.0 KiB
Plaintext
|
title: Events
|
||
|
---
|
||
|
summary: A list of all events emitted by Lektor for plugins.
|
||
|
---
|
||
|
body:
|
||
|
|
||
|
As Lektor executes and builds it emits various events that plugins can
|
||
|
respond to. This gives a list of all of those events.
|
||
|
|
||
|
## Handling Events
|
||
|
|
||
|
Events are handled by implementing a method with the name of the event and
|
||
|
the prefix `on_` on the plugin and underscores instead of dashes. So for
|
||
|
instance if the event is called [process-template-context
|
||
|
:ref](process-template-context/) the method to implement is
|
||
|
`on_process_template_context`. It's important to additionally *always*
|
||
|
catch extra parameters in a `**extra` parameter so that the plugin does
|
||
|
not break if an event starts sending additional parameters in the future.
|
||
|
|
||
|
## Emitting Events
|
||
|
|
||
|
If you want to emit your own events you can do that from the environment's
|
||
|
plugin controller:
|
||
|
|
||
|
```python
|
||
|
self.emit('your-signal', parameter='value')
|
||
|
```
|
||
|
|
||
|
This emits a signal named `your-plugin-your-signal`. The signal prefix is
|
||
|
taken from the plugin ID which is set in `setup.py`.
|