Convenient Discussions code documentation

This is an outdated documentation for Convenient Discussions v7. Convenient Discussions v8 and above use TypeScript-flavored JSDoc which makes the codebase work as a TypeScript one (with all linting, code completion in IDEs etc.). Making it generate good auto-documentation as well is out of my reach as of now.

See "Development" and "Configuring for a wiki" sections of the script's home page for some guidelines about developing for Convenient Discussions.

This documentation is not complete. Sometimes I (Jack who built the house) am just too lazy to add JSDoc for every minor functionality or property. But it provides a good starting point.

Some specifics:

  • Private methods and properties are not on the website, but many of them are documented in the code.
  • Protected methods are on the website.
  • Public methods that are not intended for external use are marked with the comment "For internal use".
  • Internal events emitted by OO.EventEmitter are not documented – only the ones fired on mw.hook.