Documentation guidelines

This page describes the rules to follow if you want to contribute to Rebel Toolbox by writing or reviewing documentation, or by translating existing documentation. Also, have a look at README of the Rebel Documentation GitHub repository and the docs front page on what steps to follow.

How to contribute

Creating or modifying documentation pages is mainly done via the Rebel Documentation GitHub repository. The HTML (or PDF and EPUB) documentation is generated from the .rst files (reStructuredText markup language) in that repository. Modifying those pages in a pull request and getting it merged will trigger a rebuild of the online documentation.

See also

For details on Git usage and the pull request workflow, please refer to the Pull request workflow page.

Warning

The API documentation's source files are in the Rebel Engine repository. We generate the Rebel API section of this documentation from them. If you want to update the description of a class, its methods, or properties, read Contributing to the Rebel Engine API Documentation.

Warning

If you want to edit the Rebel Engine API, please note that it should not be done in the Rebel Documentation repository. Instead, you should edit the XML files in the docs/ folder of Rebel Engine's repository. These files are then later used to generate the in-editor documentation as well as the API reference of the online docs. Read more here: Contributing to the Rebel Engine API Documentation.

What makes good documentation?

Documentation should be well written in plain English, using well-formed sentences and various levels of sections and subsections. It should be clear and objective. Also, have a look at the Docs writing guidelines.

We differentiate tutorial pages from other documentation pages by these definitions:

  • Tutorial: a page aiming at explaining how to use one or more concepts in the editor or scripts in order to achieve a specific goal with a learning purpose (e.g. "Making a simple 2d Pong game", "Applying forces to an object").

  • Documentation: a page describing precisely one and only one concept at a time, if possible exhaustively (e.g. the list of methods of the Sprite class, or an overview of the input management in Rebel Engine).

You are free to write the kind of documentation you wish, as long as you respect the following rules (and the ones on the repo).

Titles

Always begin pages with their title:

Insert your title here
======================

Also, avoid American CamelCase titles: title's first word should begin with a capitalized letter, and every following word should not. Thus, this is a good example:

  • Insert your title here

And this is a bad example:

  • Insert Your Title Here

Only project, people and node class names should have capitalized first letter.