Skip to content

conversejs/community-plugins

Repository files navigation

Converse.js Community Plugins

This repo contains community contributed plugins, not included in the core of Converse.js.

To see a demo of all the plugins working, click here

Example - stickers plugin

Creating a plugin

To create a new plugin, use generator-converse, which is a Yeoman generator.

Install Yeoman and the generator:

npm install -g yo generator-conversejs

Then, to create a new plugin, run the following:

$ yo conversejs my-sexy-plugin

Where my-sexy-plugin should be replaced with the name of your plugin.

Adding a plugin to the repo here for general use

Simple raise a PR with your new plugin. Please make sure you do the following first

  • Create a subfolder for your plugin and copy all your files in there. Please include a screenshot of the plugin working in converse.
  • Edit index.html, add your plugin to the index page. Comit your changes and make sure it works from the demo web site at https://conversejs.github.io/community-plugins/.

Enabling a plugin in Converse

Before a plugin can be used, it needs to be whitelisted when you call converse.initialize.

converse.initialize({
    whitelisted_plugins: ['my-sexy-plugin'],
});

TODO: Moving plugins to Lerna

We've started using Lerna to manage the plugin packages.

For older plugins, the following needs to be done:

  • Move it to the ./packages/ directory
  • Add a package.json and give it a name in the form @converse-plugins/name