Doxide generates documentation for C++ source code. It is configured with YAML, generates Markdown, and publishes HTML.
Entities in the source code are documented with special /** comments */
containing @commands
, as with the classic tool Doxygen. The source code is parsed and documentation processed into Markdown then HTML. Doxide aims at online documentation with a modern look and responsive design for desktop and mobile devices.
Doxide is open source software written in C++. It depends on libyaml to parse YAML configuration files and Tree-sitter to parse source code. By generating Markdown, it opens a whole wide world of static site generation tools. There is particular support for MkDocs and the Material for MkDocs theme. A little extra effort enables alternatives such as Jekyll and Hugo. Other formats such as PDF are possible too, via Pandoc.
Doxide is open source software. It is licensed under the Apache License, Version 2.0 (the "License"); you may not use it except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
Packages are on the way. Windows support is on the way. In the meantime, it is necessary to install from source on Linux and Mac, and if that's you, use Windows Subsystem for Linux.
Clone the Doxide source with:
git clone https://github.com/lawmurray/doxide --recurse-submodules
The --recurse-submodules
is necessary to bring in the dependency tree-sitter-cpp.
Build and install with:
cd doxide
cmake .
cmake --build .
cmake --install .
The last command may need sudo
. Alternatively, provide a prefix to install somewhere local:
cmake --install . --prefix $HOME/.local
Material for MkDocs is recommended for publishing your documentation. It is distributed as a Python package. Install it with:
pip install mkdocs-material
For more information see Material for MkDocs.
Run, from within your source code directory:
doxide init
This will create a doxide.yaml
configuration file, as well as some additional files for publishing with Material for MkDocs. To start, it is not necessary to modify any of these.
Build the Markdown:
doxide build
This will populate the output directory (default: docs
).
Build the HTML:
mkdocs build
This will populate the site
directory.
Serve the HTML:
mkdocs serve
(and point your browser to localhost:8000
).
For further information, see doxide.org.
Author: lawmurray
Source: https://github.com/lawmurray/doxide
License: Apache-2.0 license