{"id":24046,"library":"mkdoxy","title":"MkDoxy","description":"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.","status":"active","version":"1.2.8","language":"python","source_language":"en","source_url":"https://github.com/JakubAndrysek/MkDoxy","tags":["mkdocs","doxygen","documentation","c++","c"],"install":[{"cmd":"pip install mkdoxy","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Required as MkDocs plugin.","package":"mkdocs","optional":false},{"reason":"Doxygen executable (system dependency) must be installed separately.","package":"doxygen","optional":false},{"reason":"Configuration parsing.","package":"PyYAML","optional":false}],"imports":[{"note":"MkDoxyPlugin is not exported in __init__.py; importing from mkdoxy.plugin avoids ModuleNotFoundError.","wrong":"from mkdoxy import MkDoxyPlugin","symbol":"MkDoxyPlugin","correct":"from mkdoxy.plugin import MkDoxyPlugin"}],"quickstart":{"code":"# Add mkdoxy to your mkdocs.yml plugins:\n# plugins:\n#   - search\n#   - mkdoxy\n\n# Minimal configuration in mkdocs.yml:\n# plugins:\n#   - mkdoxy:\n#       doxygen-path: \"Doxyfile\"  # Path to your Doxyfile\n\n# Then run:\n# mkdocs serve\n","lang":"yaml","description":"Add mkdoxy as a plugin in your mkdocs.yml. Ensure Doxygen is installed and you have a Doxyfile configured."},"warnings":[{"fix":"Upgrade MkDocs to >=1.4.0.","message":"Incompatible with MkDocs versions < 1.4.0 due to missing manifest functionality.","severity":"breaking","affected_versions":"MkDocs <1.4.0"},{"fix":"Verify Doxygen installation by running 'doxygen --version'.","message":"Doxygen must be installed and accessible in PATH, otherwise mkdocs build fails silently or with obscure errors.","severity":"gotcha","affected_versions":"all"},{"fix":"Ensure Doxygen configuration generates detailed descriptions, or handle missing tags in XML.","message":"Plugin does not handle Doxygen XML with missing 'briefdescription' tags well; may cause KeyError.","severity":"gotcha","affected_versions":"<=1.2.8"},{"fix":"Upgrade Python to 3.9 or higher.","message":"Support for Python 3.8 and earlier was dropped; requires Python >=3.9.","severity":"deprecated","affected_versions":">=1.2.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run 'pip install mkdoxy'.","cause":"mkdoxy is not installed.","error":"ModuleNotFoundError: No module named 'mkdoxy'"},{"fix":"Install Doxygen via package manager (e.g., apt install doxygen, brew install doxygen).","cause":"Doxygen is not installed or not in PATH.","error":"doxygen: command not found"},{"fix":"Regenerate Doxygen XML with full documentation, or patch XML to include empty briefdescription elements.","cause":"Doxygen XML output missing some expected tags, e.g., when a class has no brief description.","error":"KeyError: 'briefdescription'"},{"fix":"Use the MkDocs plugin interface; for direct usage, refer to mkdocs source code.","cause":"Incorrect API usage when using mkdoxy programmatically (not through MkDocs).","error":"TypeError: __init__() got an unexpected keyword argument 'config_file_path'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}