Register a reusable module through the global plugin registry

The old plugin idea still exists, but the current vanilla build wires it through the same module system. Register a class on summernote.summernote.plugins, then call its API with summernote.invoke(...).

Plugin module demo paragraph.

Plugin output
Ready.
Example configuration - Plugin Registration
class AuditTrailPlugin {
  initialize() {
    this.badge = document.createElement('div');
  }

  appendStamp(label) {
    this.context.invoke('editor.pasteHTML', `<p>${label}</p>`);
  }
}

summernote.summernote.plugins.auditTrail = AuditTrailPlugin;

summernote.create('#module-plugin-editor', {
  height: 220,
});

summernote.invoke('#module-plugin-editor', 'auditTrail.appendStamp', 'Plugin ready');