Home

Doxide: Modern documentation for modern C++

Doxide is a documentation generator for modern C++. It consumes C++ sources annotated with /** documentation comments */ containing @special_commands, generates Markdown, and publishes for the web. Doxide is an alternative to Doxygen, but aims at a more modern look and feel, with responsive design for desktop and mobile devices—just like this website.

  • Doxide is configured with YAML, generates Markdown, and publishes HTML for the web.
  • Doxide is written in C++ so that its primary users, C++ developers, can readily contribute. It uses Tree-sitter to parse C++.
  • Doxide is open source under an Apache 2.0 license, and runs on Linux, Mac, and Windows.
  • To ease migration from other documentation tools, many standard Doxygen commands are supported.
/**
 * An example.
 * 
 * @tparam T Template parameter.
 * 
 * @param x Input parameter.
 * @param[out] y Output parameter.
 * 
 * @return Return value.
 * 
 * @tip There are plenty more demos [here](/demo).
 */
template<class T>
int f(int x, int& y);

template<class T> int f(int x, int& y)

An example.

Template parameter T
Template parameter.
Parameter x
Input parameter.
Parameter y
Output parameter.
Return
Return value.

Tip

There are plenty more demos here.

By generating Markdown, Doxide opens C++ documentation to the whole wide world of static site generation tools and themes. There is particular support for MkDocs and the Material for MkDocs theme, as on this website. A little extra effort enables alternative static site generation tools such as Jekyll and Hugo. Other formats such as PDF are possible too, via Pandoc.

This is all very new, a humble attempt to modernize documentation for the C++ community. Development is active, feedback is sought, and contributions very welcome. See the GitHub repository to report an issue or contribute a bug fix or feature, or contact Lawrence Murray ( ).