Doxide 0.8.0

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 and themes for presentation. 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.

Tags documentation utilities doxygen mkdocs cpp
License Apache
State beta

Recent Releases

0.8.004 Dec 2024 21:25 minor feature: lt;ul gt;. lt;li gt; lt;strong gt;Major new feature! lt;/strong gt; Code coverage reports, integrating data from compiled binaries provided by lt;code gt;gcov lt;/code gt; with source code analysis from lt;a href="https://tree-sitter.github.io" rel="nofollow" gt;tree-sitter lt;/a gt; for more accurate C++ code coverage reports, also accounting for uninstantiated function templates, which are typically omitted by other code coverage tools. Code coverage reports feature an interactive sunburst chart using lt;a href="https://echarts.apache.org" rel="nofollow" gt;Apache ECharts lt;/a gt;, and sortable tables using lt;a href="https://tristen.ca/tablesort/" rel="nofollow" gt;tablesort lt;/a gt;. See the lt;a href="https://doxide.org/demo/coverage" rel="nofollow" gt;demonstration lt;/a gt; for an example and the lt;a href="https://doxide.org/coverage" rel="nofollow" gt;documentation lt;/a gt; to get set up. lt;/li gt;. lt;li gt; lt;code gt;mathjax.js lt;/code gt; content, which was populating for a different file. If affected by this, run lt;code gt;doxide init lt;/code gt; again, answer no when prompted to overwrite files, but yes for this particular file. lt;/li gt;. lt;/ul gt;.
0.7.130 Nov 2024 08:45 minor feature: lt;ul gt;. lt;li gt;Template specializations now included, if documented. lt;/li gt;. lt;li gt;Improved error handling for parse errors in YAML frontmatter; will now continue rather than exit. lt;/li gt;. lt;li gt;Sanitized output of lt;code gt;operator (...) lt;/code gt;, which looks like a link in Markdown. lt;/li gt;. lt;li gt;Removed unnecessary use of polyfill JavaScript from default output of lt;code gt;doxide init lt;/code gt;. lt;/li gt;. lt;li gt;Improved line inclusions and exclusions for new code coverage support ( lt;code gt;doxide cover lt;/code gt;), e.g. including lines that contain expressions that may be executed, but excluding compile-time executed expressions such as in lt;code gt;if constexpr lt;/code gt;, lt;code gt;requires lt;/code gt; clauses and types. lt;/li gt;. lt;/ul gt;.
0.7.029 Nov 2024 17:45 minor feature: lt;ul gt;. lt;li gt;Adds an experimental lt;code gt;doxide cover lt;/code gt; command that outputs lt;code gt;gcov lt;/code gt;-compatible JSON to enumerate executable lines in the source code. The intended use is to mix this line data with execution data from lt;code gt;gcov lt;/code gt; for more accurate C++ code coverage reports, addressing the problem of uninstantiated function templates being ignored by code coverage tools. lt;/li gt;. lt;li gt;Minor improvement to extraction of brief descriptions ( lt;a class="-link js--link" data-error-text="Failed to load title" data-id="2654000145" data-permission-text="Title is private" data-url="https://github.com/lawmurray/doxide//52" data-hovercard-type="" data-hovercard-url="/lawmurray/doxide//52/hovercard" href="https://github.com/lawmurray/doxide//52" gt;#52 lt;/a gt;). lt;/li gt;. lt;li gt;Minor for presentation of macros ( lt;a class="-link js--link" data-error-text="Failed to load title" data-id="2654002408" data-permission-text="Title is private" data-url="https://github.com/lawmurray/doxide//53" data-hovercard-type="" data-hovercard-url="/lawmurray/doxide//53/hovercard" href="https://github.com/lawmurray/doxide//53" gt;#53 lt;/a gt;). lt;/li gt;. lt;/ul gt;.
0.6.029 Nov 2024 13:45 minor feature: lt;ul gt;. lt;li gt;Improved cleaning of the output directory when rebuilding documentation. This greatly improves workflow, making it possible to keep lt;code gt;mkdocs serve lt;/code gt; running when using lt;code gt;doxide build lt;/code gt; without the browser automatically refreshing to 404 errors due to an intermediate state. Rather than deleting all generated files and then recreating them, files are now overwritten and new files generated where necessary, before a second pass removes old files that are no longer required (but that were previously generated, i.e. have lt;code gt;generator: doxide lt;/code gt; in their YAML frontmatter). lt;/li gt;. lt;li gt;Workaround for lt;code gt;mkdocs lt;/code gt; removing underscores and capitalizing titles in its navigation menu. Entity names are now preserved. lt;/li gt;. lt;li gt; lt;strong gt;Parameter lt;/strong gt; and lt;strong gt;Template Parameter lt;/strong gt; headings are no longer shown. Longer term, looking for ways to reduce whitespace and make the documentation more compact. lt;/li gt;. lt;li gt;handling of array variables ( lt;a class="-link js--link" data-error-text="Failed to load title" data-id="2648131367" data-permission-text="Title is private" data-url="https://github.com/lawmurray/doxide//50" data-hovercard-type="" data-hovercard-url="/lawmurray/doxide//50/hovercard" href="https://github.com/lawmurray/doxide//50" gt;#50 lt;/a gt;). lt;/li gt;. lt;/ul gt;.
0.5.028 Nov 2024 03:25 minor feature: lt;ul gt;. lt;li gt;Added support for CUDA C++ language extensions. lt;/li gt;. lt;li gt;Improved warning messages for parse errors, reporting only remaining errors after automatic corrections. lt;/li gt;. lt;li gt;Updated tree-sitter dependencies to latest versions. lt;/li gt;. lt;/ul gt;.
0.4.508 Apr 2024 10:51 minor bugfix: Numerous fixes for Markdown formatting in conjunction with /// style documentation comments (#41)
0.0.218 Jun 2023 05:52 minor feature: Fixes for handling of complex template code.