2021-10-17 18:26:00 +02:00
|
|
|
---
|
2021-08-25 16:09:31 +02:00
|
|
|
title: Plugin structure
|
|
|
|
order: 50
|
2021-10-17 18:26:00 +02:00
|
|
|
---
|
2021-08-25 16:09:31 +02:00
|
|
|
|
2021-10-17 18:26:00 +02:00
|
|
|
Plugins can do two things:
|
2021-08-25 16:09:31 +02:00
|
|
|
|
2021-10-17 18:26:00 +02:00
|
|
|
- They can use hooks
|
|
|
|
- They can provide macros
|
2021-08-25 16:09:31 +02:00
|
|
|
|
|
|
|
Your plugin should export an object with the following structure:
|
|
|
|
|
|
|
|
```js
|
|
|
|
{
|
|
|
|
name: 'myPlugin',
|
|
|
|
version: '1.0.0',
|
|
|
|
hooks: {},
|
|
|
|
macros: {}
|
|
|
|
};
|
|
|
|
```
|
|
|
|
|
2021-10-17 18:26:00 +02:00
|
|
|
The `name` and `version` attributes are self-explanatory.
|
2021-08-25 16:09:31 +02:00
|
|
|
The [hooks](/guides/plugins/hooks/) and [macros](/guides/plugins/macros/) sections
|
|
|
|
explain the `hooks` and `macros` properties.
|
2021-10-17 18:26:00 +02:00
|
|
|
|