MkDoxy

raw JSON →
1.2.8 verified Fri May 01 auth: no python

MkDoxy is a MkDocs plugin that integrates Doxygen to generate documentation with code snippets from C/C++ projects. It parses Doxygen XML output and renders it as part of a MkDocs site. Current version 1.2.8, released June 2025. Release cadence: irregular, with several minor versions per year.

pip install mkdoxy
error ModuleNotFoundError: No module named 'mkdoxy'
cause mkdoxy is not installed.
fix
Run 'pip install mkdoxy'.
error doxygen: command not found
cause Doxygen is not installed or not in PATH.
fix
Install Doxygen via package manager (e.g., apt install doxygen, brew install doxygen).
error KeyError: 'briefdescription'
cause Doxygen XML output missing some expected tags, e.g., when a class has no brief description.
fix
Regenerate Doxygen XML with full documentation, or patch XML to include empty briefdescription elements.
error TypeError: __init__() got an unexpected keyword argument 'config_file_path'
cause Incorrect API usage when using mkdoxy programmatically (not through MkDocs).
fix
Use the MkDocs plugin interface; for direct usage, refer to mkdocs source code.
breaking Incompatible with MkDocs versions < 1.4.0 due to missing manifest functionality.
fix Upgrade MkDocs to >=1.4.0.
gotcha Doxygen must be installed and accessible in PATH, otherwise mkdocs build fails silently or with obscure errors.
fix Verify Doxygen installation by running 'doxygen --version'.
gotcha Plugin does not handle Doxygen XML with missing 'briefdescription' tags well; may cause KeyError.
fix Ensure Doxygen configuration generates detailed descriptions, or handle missing tags in XML.
deprecated Support for Python 3.8 and earlier was dropped; requires Python >=3.9.
fix Upgrade Python to 3.9 or higher.

Add mkdoxy as a plugin in your mkdocs.yml. Ensure Doxygen is installed and you have a Doxyfile configured.

# Add mkdoxy to your mkdocs.yml plugins:
# plugins:
#   - search
#   - mkdoxy

# Minimal configuration in mkdocs.yml:
# plugins:
#   - mkdoxy:
#       doxygen-path: "Doxyfile"  # Path to your Doxyfile

# Then run:
# mkdocs serve