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 optionsevents
— all emitted events, which can be used by plugins
For example:
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 document.
Options are specified by a user in a config file and passed to the plugin as is. For example:
.gemini.yml:
system:
plugins:
greeter:
name: Mr. Incredible
Plugin:
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.