Cxxdox

screenshot of Cxxdox
mkdocs

Generates mkdocs files from C++ source code with minimal configuration. Python + libclang, does not use doxygen. Works in docker

Overview

CxxDox is an innovative documentation generator tailored specifically for C++ projects. With its capability to produce markdown files compatible with mkdocs or directly rendered HTML, it ensures that developers can easily create and maintain comprehensive documentation. Built using Python and leveraging libclang, CxxDox operates smoothly in a Docker environment. This design allows for the handling of complex, template-heavy C++ projects, achieving reliable parsing and accurate documentation generation across various C++ standards.

One of the standout features of CxxDox is its robust compatibility with DOXYGEN syntax, which makes it a favorable choice for developers who are already accustomed to Doxygen's documentation style. Its ability to accommodate new language features, including those from C++20 and C++23, positions CxxDox as a forward-thinking solution for modern C++ development.

Features

  • Markdown and HTML Output: Generates mkdocs-compatible markdown files or directly renders HTML documentation for easy access and sharing.
  • Repository Autolinking: Automatically includes links to the repository, complete with commit hashes, enhancing traceability and context for users.
  • Advanced Rendering Support: Features math rendering and syntax highlighting to ensure technical content is presented clearly and professionally.
  • Code Snippet Generation: Creates and optionally runs code snippets, including their output in the documentation, providing practical examples and enhancing understanding.
  • Alphabetical Index: Automatically generates an alphabetical index, making it easier for users to navigate through the documentation.
  • Docker Compatibility: Simplifies the setup process by requiring only Docker to run, streamlining deployment and ensuring a consistent environment.
  • Configurable Parsing Options: Offers extensive configuration options through cxxdox.yml, enabling customization of parsing behaviors to suit the project's specific needs.
mkdocs
MkDocs

MkDocs is a fast, simple and downright gorgeous static site generator that's geared towards building project documentation. Documentation source files are written in Markdown, and configured with a single YAML configuration file.