Customize doxygen (v1.8.9) output to use the twitter bootstrap framework (v3.3.1)
This started as work done by CoActionOS and was extended further here. Credit
Doxygen provides a handful of ways to customize the output. The simplest way is to customize the HTML output.
Doxygen allows you to customize the HTML output by modifying a master HTML header, footer and stylesheet. You can then include additional stylesheets and javascript files. The following command will generate the default Doxygen files.
doxygen -w html header.html footer.html customdoxygen.css
Modifying these files alone is not enough to get good Twitter Bootstrap integration. Bootstrap requires that certain classes be applied within the HTML. For example, a Bootstrap “table” needs to have a class called “table” in order to apply the Bootstrap table formatting. We just need to augment the default HTML with these Bootstrap classes. To do this, we use the provided doxy-boot.js javascript file.
Also, you can augment doxygen’s default stylesheet with a customdoxygen.css stylesheet. This is where you would place any custom styling such as sticky footers.
To integrate this into your own project tell your doxyfile to use these 4 files in the HTML section (see the example site for an example of each file):
- HTML_HEADER=header.html
- Adds a Bootstrap navbar
- Wraps the content in a Bootstrap container/row
- HTML_FOOTER=footer.html
- Closes the extra divs opened in the header.html
- HTML_EXTRA_STYLESHEET=customdoxygen.css
- Adds additional styling such as a sticky footer
- HTML_EXTRA_FILES=doxy-boot.js
- Where the magic happens to augment the HTML with bootstrap
NOTE: The header.html file needs to include the Bootstrap css/javascript for this to work. This is where you can specify your own bootstrap compilation. These files will need to be manually added to the html directory, added as additional files in the doxyfile HTML_EXTRA_FILES section or referenced externally (see example site header.html).
See the example-site directory for a minimal working example.
- Menu is not correctly displayed when Doxygen sidebar is enabled.