Converse 10.1.4
  • Homepage
  • Table of Contents
      • Quickstart
        • Getting a demo up and running
        • Initializing Converse
        • Where to go from here?
      • Features
        • File sharing (XEP-0363 HTTP File Upload)
        • End to end message encryption (XEP-0384 OMEMO)
        • Open chats via URL
        • Notifications
        • Multilingual Support
        • Moderating chatrooms
        • Passwordless login with client certificates
      • Setup and integration
        • The various components
      • Session Management
        • Shared Sessions
        • Keeping users logged-in across page reloads
      • Configuration
        • Configuration settings
      • Development
        • Setting up a dev environment
        • Writing a plugin
        • The API documentation (generated with JSDoc)
        • Automated tests
        • Integrating converse.js into other frameworks
        • Generating builds
        • Software Style Guide
      • Theming
        • Setting up your environment
        • Creating a custom theme
        • Modifying the CSS
        • Modifying the HTML templates of Converse
      • Security considerations
        • The threat model
        • Mitigating measures
        • Addititional measures
        • Other considerations
      • Translations
        • Manually updating translations
      • Troubleshooting and debugging
        • General tips on debugging Converse
        • Performance issues with large rosters
        • File upload is not working
        • Users don’t stay logged in across page reloads
        • Common errors
      • Writing Documentation
        • What is used to write the documentation?
        • Where is the documentation?
        • How to generate HTML from the source files?
  • Current Page
      • Development
  • « Configuration
  • Setting up a ... »

Sponsored by

  • BairesDev
  • Blokt Crypto & Privacy
  • Prime Sound
  • KeyCDN
Become a sponsor
Source
Edit me on GitHub

Development¶

Welcome to the developer documentation of Converse.js.

Here you will learn how to add new features and how you can create your own customized version of Converse.

Converse is a community project and largely volunteer driven.

We’re grateful for your contributions, so please don’t hesitate to make a Github pull request to fix a bug or to add new functionality.

  • Setting up a dev environment
    • Installing the 3rd party dependencies
    • Setting up a webserver
  • Writing a plugin
    • Introduction
    • Advantages of plugins
    • Registering a plugin
    • Whitelisting of plugins
    • Security and access to the inner workings
    • Overriding templates
    • Object and class Overrides
    • Plugin dependencies
    • Extending Converse’s configuration settings
    • Exposing promises
    • Dealing with asynchronicity
    • Hooks
    • An example plugin
  • The API documentation (generated with JSDoc)
  • Automated tests
    • Running tests
  • Integrating converse.js into other frameworks
    • Angular.js
  • Generating builds
    • Creating JavaScript and CSS bundles and distribution files
    • Creating custom bundles
  • Software Style Guide
    • Tabs or spaces?
    • Underscores or camelCase?
    • const versus let
    • Spaces around operators
    • destructuring
    • Global constants are written in ALL_CAPS
    • Function declaration and invocation
    • Checking for equality
    • Curly brackets

Back to top

Source

© Copyright 2018, JC Brand.
Created using Sphinx 4.5.0.