Doxide organizes documentation by creating a main page, and one additional page for each namespace and type, organized hierarchically. Variables, functions and operators are added to the page of the namespace or class to which they belong. Macros are added to the main page. Only entities with documentation comments are included, with the exception of namespaces, which are included as long as they are non-empty.
Groups are for organizing documentation. A hierarchy of groups can be created by adding a
groups section to the
doxide.yaml configuration file. Individual entities can then be assigne to a group by using the
Create a group by adding the following to the
doxide.yaml configuration file:
groups: - name: example title: Example description: Description of the group.
@ingroupcommand in its documentation comment:
/** * A function. * * @ingroup example */ void f();
The final documentation displays the entity in the group, and not on the main page, a namespace page, or elsewhere. Members of a class may not be assigned to a group (
@ingroup is simply ignored); they are always included on the associated class page.
If the assignment of groups leaves a namespace empty, it is removed from the final documentation. This allows organizing with groups to completely replace organizing with namespaces.
Extra pages can be added to the documentation simply by adding extra Markdown files to the output directory (default:
Doxide distinguishes its own output files in the output directory by adding
generator: doxide to the YAML frontmatter. When running the commands
doxide build and
doxide clean, it deletes or overwrites such files without prompting. It will not touch other files.
Clearly, you do not want to put
generator: doxide in your extra pages, or they will be deleted!