git.y1.nz

gbdk-2020

GameBoy Development Kit
download: https://git.y1.nz/archives/gbdk.tar.gz
README | Files | Log | Refs | LICENSE

docs/config/doxygen-awesome-theme/README.md

      1 # Doxygen Awesome
      2 
      3 [![GitHub release (latest by date)](https://img.shields.io/github/v/release/jothepro/doxygen-awesome-css)](https://github.com/jothepro/doxygen-awesome-css/releases/latest)
      4 [![GitHub](https://img.shields.io/github/license/jothepro/doxygen-awesome-css)](https://github.com/jothepro/doxygen-awesome-css/blob/main/LICENSE)
      5 ![GitHub Repo stars](https://img.shields.io/github/stars/jothepro/doxygen-awesome-css)
      6 
      7 <div class="title_screenshot">
      8 
      9 ![Screenshot of Doxygen Awesome CSS](img/screenshot.png)
     10 
     11 </div>
     12 
     13 **Doxygen Awesome** is a custom CSS theme for Doxygen HTML documentation with many customization options.
     14 
     15 ## Motivation
     16 
     17 I really like how the Doxygen HTML documentation is structured, but IMHO it looks a bit outdated.
     18 
     19 This theme is an attempt to modernize the visuals of Doxygen without changing its overall layout too much.
     20 
     21 ## Features
     22 
     23 - 🌈 Clean, modern design
     24 - 🚀 Highly customizable by adjusting CSS variables
     25 - 🧩 No changes to the HTML structure of Doxygen are required
     26 - 📱 Improved mobile usability
     27 - 🌘 Dark mode support!
     28 - 🥇 Works best with **Doxygen 1.9.1** - **1.9.4** and **1.9.6** - **1.14.0**
     29 
     30 ## Examples
     31 
     32 Some websites using this theme:
     33 
     34 - [Documentation of this repository](https://jothepro.github.io/doxygen-awesome-css/)
     35 - [wxWidgets](https://docs.wxwidgets.org/3.2/)
     36 - [OpenCV 5.x](https://docs.opencv.org/5.x/)
     37 - [Zephyr](https://docs.zephyrproject.org/latest/doxygen/html/index.html)
     38 - [Spatial Audio Framework (SAF)](https://leomccormack.github.io/Spatial_Audio_Framework/index.html)
     39 - [Randolf Richardson's C++ classes](https://www.randolf.ca/c++/docs/)
     40 - [libsl3](https://a4z.github.io/libsl3/)
     41 - [DuMu<sup>x</sup>](https://dumux.org/docs/doxygen/master/)
     42 - [OpenRemise](https://openremise.at/)
     43 
     44 ## Installation
     45 
     46 To use the theme when generating your documentation, bring the required CSS and JS files from this repository into your project.
     47 
     48 This can be done in several ways:
     49 
     50 - manually copying the files
     51 - adding the project as a Git submodule
     52 - downloading the project with CMake FetchContent
     53 - adding the project as an npm/xpm dependency
     54 - installing the theme system-wide
     55 
     56 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 installation instructions to determine which files are required for your setup.
     57 
     58 ### Git submodule
     59 
     60 For projects that use Git, add the repository as a submodule and check out the desired release:
     61 
     62 ```sh
     63 git submodule add https://github.com/jothepro/doxygen-awesome-css.git
     64 cd doxygen-awesome-css
     65 git checkout v2.4.1
     66 ```
     67 
     68 ### CMake with FetchContent
     69 
     70 For projects that build with CMake, the `FetchContent` module can be used to download the repository at configuration time.
     71 
     72 Add the following snippet to your `CMakeLists.txt`:
     73 
     74 ```cmake
     75 include(FetchContent)
     76 FetchContent_Declare(
     77     doxygen-awesome-css
     78     URL https://github.com/jothepro/doxygen-awesome-css/archive/refs/heads/main.zip
     79 )
     80 FetchContent_MakeAvailable(doxygen-awesome-css)
     81 
     82 # Save the location the files were cloned into
     83 # This allows us to get the path to doxygen-awesome.css
     84 FetchContent_GetProperties(doxygen-awesome-css SOURCE_DIR AWESOME_CSS_DIR)
     85 
     86 # Generate the Doxyfile
     87 set(DOXYFILE_IN ${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile.in)
     88 set(DOXYFILE_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
     89 configure_file(${DOXYFILE_IN} ${DOXYFILE_OUT} @ONLY)
     90 ```
     91 
     92 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
     93 
     94 ```text
     95 HTML_EXTRA_STYLESHEET  = @AWESOME_CSS_DIR@/doxygen-awesome.css
     96 ```
     97 
     98 When the configure stage of CMake is run, the `Doxyfile.in` is rendered to Doxyfile and Doxygen can be run as usual.
     99 
    100 ### npm/xpm dependency
    101 
    102 In the npm ecosystem, this project can be added as a development dependency
    103 to your project:
    104 
    105 ```sh
    106 cd your-project
    107 npm install https://github.com/jothepro/doxygen-awesome-css#v2.4.1 --save-dev
    108 
    109 ls -l node_modules/@jothepro/doxygen-awesome-css
    110 ```
    111 
    112 Similarly, in the [xPack](https://xpack.github.io) ecosystem, this project can be added
    113 as a development dependency to an [`xpm`](https://xpack.github.io/xpm/)
    114 managed project.
    115 
    116 ### System-wide
    117 
    118 You can even install the theme system-wide by running `make install`.
    119 The files will be installed to `/usr/local/share/` by default,
    120 but you can customize the install location with `make PREFIX=/my/custom/path install`.
    121 
    122 ### Choosing a layout
    123 
    124 There are two layout options. Choose one of them and configure Doxygen accordingly:
    125 
    126 <div class="tabbed">
    127 
    128 - <b class="tab-title">Base Theme</b><div class="darkmode_inverted_image">
    129     ![](img/theme-variants-base.drawio.svg)
    130     </div>
    131     Comes with the typical Doxygen titlebar. Optionally the treeview in the sidebar can be enabled.
    132 
    133     Required files: `doxygen-awesome.css`
    134 
    135     Required `Doxyfile` configuration:
    136     ```
    137     GENERATE_TREEVIEW      = YES # optional. Also works without treeview
    138     DISABLE_INDEX = NO
    139     FULL_SIDEBAR = NO
    140     HTML_EXTRA_STYLESHEET  = doxygen-awesome-css/doxygen-awesome.css
    141     HTML_COLORSTYLE        = LIGHT # required with Doxygen >= 1.9.5
    142     ```
    143 
    144 - <b class="tab-title">Sidebar-Only Theme</b><div class="darkmode_inverted_image">
    145     ![](img/theme-variants-sidebar-only.drawio.svg)
    146     </div>
    147     Hides the top titlebar to give more space to the content. The treeview must be enabled in order for this theme to work.
    148 
    149     Required files: `doxygen-awesome.css`, `doxygen-awesome-sidebar-only.css`
    150 
    151     Required `Doxyfile` configuration:
    152     ```
    153 
    154     GENERATE_TREEVIEW      = YES # required!
    155     DISABLE_INDEX          = NO
    156     FULL_SIDEBAR           = NO
    157     HTML_EXTRA_STYLESHEET  = doxygen-awesome-css/doxygen-awesome.css \
    158                             doxygen-awesome-css/doxygen-awesome-sidebar-only.css
    159     HTML_COLORSTYLE        = LIGHT # required with Doxygen >= 1.9.5
    160     ```
    161 
    162 </div>
    163 
    164 <br>
    165 
    166 @warning
    167 - This theme is not compatible with the `FULL_SIDEBAR = YES` option provided by Doxygen!
    168 - `HTML_COLORSTYLE` must be set to `LIGHT` since Doxygen 1.9.5!
    169 
    170 ### Further installation instructions
    171 
    172 - [Installing extensions](docs/extensions.md)
    173 - [Customizing the theme (colors, spacing, border-radius, ...)](docs/customization.md)
    174 - [Tips and Tricks for further configuration](docs/tricks.md)
    175 
    176 ## Browser support
    177 
    178 Tested with
    179 
    180 - Chrome 140, Chrome 140 for Android, Chrome 141 for iOS
    181 - Safari 26, Safari for iOS 26
    182 - Firefox 143, Firefox 142 for Android, Firefox 143 for iOS
    183 - Edge 140
    184 - Opera One 122
    185 
    186 
    187 The theme does not strive to be backward compatible with (significantly) older browser versions.
    188 
    189 
    190 ## Credits
    191 
    192 Thanks for all the bug reports and inspiring feedback on GitHub!
    193 
    194 Special thanks to all the contributors:
    195 <br><br>
    196 <a href="https://github.com/jothepro/doxygen-awesome-css/graphs/contributors">
    197     <img src="https://contrib.rocks/image?repo=jothepro/doxygen-awesome-css" />
    198 </a>
    199 
    200 
    201 <div class="section_buttons">
    202 
    203 |                        Read Next |
    204 |---------------------------------:|
    205 | [Extensions](docs/extensions.md) |
    206 
    207 </div>

This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.