gemini
Version:
UI Screenshot testing utility
43 lines (34 loc) • 1.08 kB
Markdown
# Writing plugins
Gemini plugin is just an npm package with a `gemini-<plugin name>` name.
Module should export a single function which receives `Gemini` class instance
and user-specified options.
`Gemini` instance contains two fields:
* `config` — current config with specified options
* `events` — all emitted events, which can be used by plugins
For example:
```js
module.exports = function(gemini, options) {
console.log('Hello from plugin');
console.log('Show me config: ', gemini.config);
console.log('Show me all events: ', gemini.events);
};
```
Documentation on the `gemini` object can be found in [programmatic
API](programmatic-api.md) document.
Options are specified by a user in a config file and passed to the plugin as
is. For example:
.gemini.yml:
```yaml
system:
plugins:
greeter:
name: Mr. Incredible
```
Plugin:
```javascript
module.exports = function(gemini, options) {
console.log('Hello, %s' options.name);
};
```
When publishing plugins, add `gemini-plugin` keyword to your `package.json` to
help users discovering it.