Home

Awesome

Doxygen Awesome

GitHub release (latest by date) GitHub GitHub Repo stars

<div class="title_screenshot">

Screenshot of Doxygen Awesome CSS

</div>

Doxygen Awesome is a custom CSS theme for Doxygen HTML documentation with lots of customization parameters.

Motivation

I really like how the Doxygen HTML documentation is structured! But IMHO it looks a bit outdated.

This theme is an attempt to update the visuals of Doxygen without changing its overall layout too much.

Features

Examples

Some websites using this theme:

Installation

To use the theme when generating your documentation, bring the required CSS and JS files from this repository into your project.

This can be done in several ways:

All theme files are located in the root of this repository and start with the prefix doxygen-awesome-. You may not need all of them. Follow the install instructions to figure out what files are required for your setup.

Git submodule

For projects that use git, add the repository as a submodule and check out the desired release:

git submodule add https://github.com/jothepro/doxygen-awesome-css.git
cd doxygen-awesome-css
git checkout v2.3.4

CMake with FetchContent

For project that build with CMake, the FetchContent module can be used to download the repository at configure-time.

Add the following snippet to your CMakeLists.txt

include(FetchContent)
FetchContent_Declare(
    doxygen-awesome-css
    URL https://github.com/jothepro/doxygen-awesome-css/archive/refs/heads/main.zip
)
FetchContent_MakeAvailable(doxygen-awesome-css)

# Save the location the files were cloned into
# This allows us to get the path to doxygen-awesome.css
FetchContent_GetProperties(doxygen-awesome-css SOURCE_DIR AWESOME_CSS_DIR)

# Generate the Doxyfile
set(DOXYFILE_IN ${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile.in)
set(DOXYFILE_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
configure_file(${DOXYFILE_IN} ${DOXYFILE_OUT} @ONLY)

This downloads the latest main (but any other revision could be used) and unpacks in the build folder. The Doxyfile.in can reference this location in the HTML_EXTRA_STYLESHEET field

HTML_EXTRA_STYLESHEET  = @AWESOME_CSS_DIR@/doxygen-awesome.css

When the configure stage of CMake is run, the Doxyfile.in is rendered to Doxyfile and Doxygen can be run as usual.

npm/xpm dependency

In the npm ecosystem, this project can be added as a development dependency to your project:

cd your-project
npm install https://github.com/jothepro/doxygen-awesome-css#v2.3.4 --save-dev

ls -l node_module/@jothepro/doxygen-awesome-css

Similarly, in the xPack ecosystem, this project can be added as a development dependency to an xpm managed project.

System-wide

You can even install the theme system-wide by running make install. The files will be installed to /usr/local/share/ by default, but you can customize the install location with make PREFIX=/my/custom/path install.

Choosing a layout

There are two layout options. Choose one of them and configure Doxygen accordingly:

<div class="tabbed"> </div> <br>

@warning

Further installation instructions

Browser support

Tested with

The theme does not strive to be backward compatible with (significantly) older browser versions.

Credits

Thanks for all the bug reports and inspiring feedback on GitHub!

Special thanks to all the contributors: <br><br> <a href="https://github.com/jothepro/doxygen-awesome-css/graphs/contributors"> <img src="https://contrib.rocks/image?repo=jothepro/doxygen-awesome-css" /> </a>

<div class="section_buttons">
Read Next
Extensions
</div>