Remove doxygen infra
All checks were successful
Build documentation / build-and-deploy (push) Successful in 31s
All checks were successful
Build documentation / build-and-deploy (push) Successful in 31s
This commit is contained in:
1
docs/.gitignore
vendored
1
docs/.gitignore
vendored
@@ -1 +0,0 @@
|
|||||||
doxygen/
|
|
||||||
@@ -2,7 +2,3 @@
|
|||||||
|
|
||||||
MOP3 is a hobby OS project of mine ;).
|
MOP3 is a hobby OS project of mine ;).
|
||||||
|
|
||||||
# Kernel documentation
|
|
||||||
|
|
||||||
- [Doxygen docs](kernel/doxygen/html/index.html)
|
|
||||||
- [Building](building_kernel/index.html)
|
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2021 - 2023 jothepro
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
@@ -1,207 +0,0 @@
|
|||||||
# Doxygen Awesome
|
|
||||||
|
|
||||||
[](https://github.com/jothepro/doxygen-awesome-css/releases/latest)
|
|
||||||
[](https://github.com/jothepro/doxygen-awesome-css/blob/main/LICENSE)
|
|
||||||

|
|
||||||
|
|
||||||
<div class="title_screenshot">
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
**Doxygen Awesome** is a custom CSS theme for Doxygen HTML documentation with many customization options.
|
|
||||||
|
|
||||||
## Motivation
|
|
||||||
|
|
||||||
I really like how the Doxygen HTML documentation is structured, but IMHO it looks a bit outdated.
|
|
||||||
|
|
||||||
This theme is an attempt to modernize the visuals of Doxygen without changing its overall layout too much.
|
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
- 🌈 Clean, modern design
|
|
||||||
- 🚀 Highly customizable by adjusting CSS variables
|
|
||||||
- 🧩 No changes to the HTML structure of Doxygen are required
|
|
||||||
- 📱 Improved mobile usability
|
|
||||||
- 🌘 Dark mode support!
|
|
||||||
- 🥇 Works best with **Doxygen 1.9.1** - **1.9.4** and **1.9.6** - **1.14.0**
|
|
||||||
|
|
||||||
## Examples
|
|
||||||
|
|
||||||
Some websites using this theme:
|
|
||||||
|
|
||||||
- [Documentation of this repository](https://jothepro.github.io/doxygen-awesome-css/)
|
|
||||||
- [wxWidgets](https://docs.wxwidgets.org/3.2/)
|
|
||||||
- [OpenCV 5.x](https://docs.opencv.org/5.x/)
|
|
||||||
- [Zephyr](https://docs.zephyrproject.org/latest/doxygen/html/index.html)
|
|
||||||
- [Spatial Audio Framework (SAF)](https://leomccormack.github.io/Spatial_Audio_Framework/index.html)
|
|
||||||
- [Randolf Richardson's C++ classes](https://www.randolf.ca/c++/docs/)
|
|
||||||
- [libsl3](https://a4z.github.io/libsl3/)
|
|
||||||
- [DuMu<sup>x</sup>](https://dumux.org/docs/doxygen/master/)
|
|
||||||
- [OpenRemise](https://openremise.at/)
|
|
||||||
|
|
||||||
## 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:
|
|
||||||
|
|
||||||
- manually copying the files
|
|
||||||
- adding the project as a Git submodule
|
|
||||||
- downloading the project with CMake FetchContent
|
|
||||||
- adding the project as an npm/xpm dependency
|
|
||||||
- installing the theme system-wide
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
### Git submodule
|
|
||||||
|
|
||||||
For projects that use Git, add the repository as a submodule and check out the desired release:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
git submodule add https://github.com/jothepro/doxygen-awesome-css.git
|
|
||||||
cd doxygen-awesome-css
|
|
||||||
git checkout v2.4.1
|
|
||||||
```
|
|
||||||
|
|
||||||
### CMake with FetchContent
|
|
||||||
|
|
||||||
For projects that build with CMake, the `FetchContent` module can be used to download the repository at configuration time.
|
|
||||||
|
|
||||||
Add the following snippet to your `CMakeLists.txt`:
|
|
||||||
|
|
||||||
```cmake
|
|
||||||
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
|
|
||||||
|
|
||||||
```text
|
|
||||||
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:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
cd your-project
|
|
||||||
npm install https://github.com/jothepro/doxygen-awesome-css#v2.4.1 --save-dev
|
|
||||||
|
|
||||||
ls -l node_modules/@jothepro/doxygen-awesome-css
|
|
||||||
```
|
|
||||||
|
|
||||||
Similarly, in the [xPack](https://xpack.github.io) ecosystem, this project can be added
|
|
||||||
as a development dependency to an [`xpm`](https://xpack.github.io/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">
|
|
||||||
|
|
||||||
- <b class="tab-title">Base Theme</b><div class="darkmode_inverted_image">
|
|
||||||

|
|
||||||
</div>
|
|
||||||
Comes with the typical Doxygen titlebar. Optionally the treeview in the sidebar can be enabled.
|
|
||||||
|
|
||||||
Required files: `doxygen-awesome.css`
|
|
||||||
|
|
||||||
Required `Doxyfile` configuration:
|
|
||||||
```
|
|
||||||
GENERATE_TREEVIEW = YES # optional. Also works without treeview
|
|
||||||
DISABLE_INDEX = NO
|
|
||||||
FULL_SIDEBAR = NO
|
|
||||||
HTML_EXTRA_STYLESHEET = doxygen-awesome-css/doxygen-awesome.css
|
|
||||||
HTML_COLORSTYLE = LIGHT # required with Doxygen >= 1.9.5
|
|
||||||
```
|
|
||||||
|
|
||||||
- <b class="tab-title">Sidebar-Only Theme</b><div class="darkmode_inverted_image">
|
|
||||||

|
|
||||||
</div>
|
|
||||||
Hides the top titlebar to give more space to the content. The treeview must be enabled in order for this theme to work.
|
|
||||||
|
|
||||||
Required files: `doxygen-awesome.css`, `doxygen-awesome-sidebar-only.css`
|
|
||||||
|
|
||||||
Required `Doxyfile` configuration:
|
|
||||||
```
|
|
||||||
|
|
||||||
GENERATE_TREEVIEW = YES # required!
|
|
||||||
DISABLE_INDEX = NO
|
|
||||||
FULL_SIDEBAR = NO
|
|
||||||
HTML_EXTRA_STYLESHEET = doxygen-awesome-css/doxygen-awesome.css \
|
|
||||||
doxygen-awesome-css/doxygen-awesome-sidebar-only.css
|
|
||||||
HTML_COLORSTYLE = LIGHT # required with Doxygen >= 1.9.5
|
|
||||||
```
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<br>
|
|
||||||
|
|
||||||
@warning
|
|
||||||
- This theme is not compatible with the `FULL_SIDEBAR = YES` option provided by Doxygen!
|
|
||||||
- `HTML_COLORSTYLE` must be set to `LIGHT` since Doxygen 1.9.5!
|
|
||||||
|
|
||||||
### Further installation instructions
|
|
||||||
|
|
||||||
- [Installing extensions](docs/extensions.md)
|
|
||||||
- [Customizing the theme (colors, spacing, border-radius, ...)](docs/customization.md)
|
|
||||||
- [Tips and Tricks for further configuration](docs/tricks.md)
|
|
||||||
|
|
||||||
## Browser support
|
|
||||||
|
|
||||||
Tested with
|
|
||||||
|
|
||||||
- Chrome 140, Chrome 140 for Android, Chrome 141 for iOS
|
|
||||||
- Safari 26, Safari for iOS 26
|
|
||||||
- Firefox 143, Firefox 142 for Android, Firefox 143 for iOS
|
|
||||||
- Edge 140
|
|
||||||
- Opera One 122
|
|
||||||
|
|
||||||
|
|
||||||
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](docs/extensions.md) |
|
|
||||||
|
|
||||||
</div>
|
|
||||||
@@ -1,138 +0,0 @@
|
|||||||
// SPDX-License-Identifier: MIT
|
|
||||||
/**
|
|
||||||
|
|
||||||
Doxygen Awesome
|
|
||||||
https://github.com/jothepro/doxygen-awesome-css
|
|
||||||
|
|
||||||
Copyright (c) 2021 - 2025 jothepro
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
class DoxygenAwesomeDarkModeToggle extends HTMLElement {
|
|
||||||
// SVG icons from https://fonts.google.com/icons
|
|
||||||
// Licensed under the Apache 2.0 license:
|
|
||||||
// https://www.apache.org/licenses/LICENSE-2.0.html
|
|
||||||
static lightModeIcon = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#FCBF00"><rect fill="none" height="24" width="24"/><circle cx="12" cy="12" opacity=".3" r="3"/><path d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"/></svg>`
|
|
||||||
static darkModeIcon = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#FE9700"><rect fill="none" height="24" width="24"/><path d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27 C17.45,17.19,14.93,19,12,19c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z" opacity=".3"/><path d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"/></svg>`
|
|
||||||
static title = "Toggle Light/Dark Mode"
|
|
||||||
|
|
||||||
static prefersLightModeInDarkModeKey = "prefers-light-mode-in-dark-mode"
|
|
||||||
static prefersDarkModeInLightModeKey = "prefers-dark-mode-in-light-mode"
|
|
||||||
|
|
||||||
static _staticConstructor = function() {
|
|
||||||
DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.userPreference)
|
|
||||||
// Update the color scheme when the browsers preference changes
|
|
||||||
// without user interaction on the website.
|
|
||||||
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {
|
|
||||||
DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged()
|
|
||||||
})
|
|
||||||
// Update the color scheme when the tab is made visible again.
|
|
||||||
// It is possible that the appearance was changed in another tab
|
|
||||||
// while this tab was in the background.
|
|
||||||
document.addEventListener("visibilitychange", visibilityState => {
|
|
||||||
if (document.visibilityState === 'visible') {
|
|
||||||
DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged()
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}()
|
|
||||||
|
|
||||||
static init() {
|
|
||||||
$(function() {
|
|
||||||
$(document).ready(function() {
|
|
||||||
const toggleButton = document.createElement('doxygen-awesome-dark-mode-toggle')
|
|
||||||
toggleButton.title = DoxygenAwesomeDarkModeToggle.title
|
|
||||||
toggleButton.updateIcon()
|
|
||||||
|
|
||||||
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {
|
|
||||||
toggleButton.updateIcon()
|
|
||||||
})
|
|
||||||
document.addEventListener("visibilitychange", visibilityState => {
|
|
||||||
if (document.visibilityState === 'visible') {
|
|
||||||
toggleButton.updateIcon()
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$(document).ready(function(){
|
|
||||||
document.getElementById("MSearchBox").parentNode.appendChild(toggleButton)
|
|
||||||
})
|
|
||||||
$(window).resize(function(){
|
|
||||||
document.getElementById("MSearchBox").parentNode.appendChild(toggleButton)
|
|
||||||
})
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
super();
|
|
||||||
this.onclick=this.toggleDarkMode
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @returns `true` for dark-mode, `false` for light-mode system preference
|
|
||||||
*/
|
|
||||||
static get systemPreference() {
|
|
||||||
return window.matchMedia('(prefers-color-scheme: dark)').matches
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @returns `true` for dark-mode, `false` for light-mode user preference
|
|
||||||
*/
|
|
||||||
static get userPreference() {
|
|
||||||
return (!DoxygenAwesomeDarkModeToggle.systemPreference && localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey)) ||
|
|
||||||
(DoxygenAwesomeDarkModeToggle.systemPreference && !localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey))
|
|
||||||
}
|
|
||||||
|
|
||||||
static set userPreference(userPreference) {
|
|
||||||
DoxygenAwesomeDarkModeToggle.darkModeEnabled = userPreference
|
|
||||||
if(!userPreference) {
|
|
||||||
if(DoxygenAwesomeDarkModeToggle.systemPreference) {
|
|
||||||
localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey, true)
|
|
||||||
} else {
|
|
||||||
localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if(!DoxygenAwesomeDarkModeToggle.systemPreference) {
|
|
||||||
localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey, true)
|
|
||||||
} else {
|
|
||||||
localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
DoxygenAwesomeDarkModeToggle.onUserPreferenceChanged()
|
|
||||||
}
|
|
||||||
|
|
||||||
static enableDarkMode(enable) {
|
|
||||||
if(enable) {
|
|
||||||
DoxygenAwesomeDarkModeToggle.darkModeEnabled = true
|
|
||||||
document.documentElement.classList.add("dark-mode")
|
|
||||||
document.documentElement.classList.remove("light-mode")
|
|
||||||
} else {
|
|
||||||
DoxygenAwesomeDarkModeToggle.darkModeEnabled = false
|
|
||||||
document.documentElement.classList.remove("dark-mode")
|
|
||||||
document.documentElement.classList.add("light-mode")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static onSystemPreferenceChanged() {
|
|
||||||
DoxygenAwesomeDarkModeToggle.darkModeEnabled = DoxygenAwesomeDarkModeToggle.userPreference
|
|
||||||
DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled)
|
|
||||||
}
|
|
||||||
|
|
||||||
static onUserPreferenceChanged() {
|
|
||||||
DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled)
|
|
||||||
}
|
|
||||||
|
|
||||||
toggleDarkMode() {
|
|
||||||
DoxygenAwesomeDarkModeToggle.userPreference = !DoxygenAwesomeDarkModeToggle.userPreference
|
|
||||||
this.updateIcon()
|
|
||||||
}
|
|
||||||
|
|
||||||
updateIcon() {
|
|
||||||
if(DoxygenAwesomeDarkModeToggle.darkModeEnabled) {
|
|
||||||
this.innerHTML = DoxygenAwesomeDarkModeToggle.darkModeIcon
|
|
||||||
} else {
|
|
||||||
this.innerHTML = DoxygenAwesomeDarkModeToggle.lightModeIcon
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
customElements.define("doxygen-awesome-dark-mode-toggle", DoxygenAwesomeDarkModeToggle);
|
|
||||||
@@ -1,66 +0,0 @@
|
|||||||
// SPDX-License-Identifier: MIT
|
|
||||||
/**
|
|
||||||
|
|
||||||
Doxygen Awesome
|
|
||||||
https://github.com/jothepro/doxygen-awesome-css
|
|
||||||
|
|
||||||
Copyright (c) 2022 - 2025 jothepro
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
class DoxygenAwesomeFragmentCopyButton extends HTMLElement {
|
|
||||||
constructor() {
|
|
||||||
super();
|
|
||||||
this.onclick=this.copyContent
|
|
||||||
}
|
|
||||||
static title = "Copy to clipboard"
|
|
||||||
static copyIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M23.04,10.322c0,-2.582 -2.096,-4.678 -4.678,-4.678l-6.918,-0c-2.582,-0 -4.678,2.096 -4.678,4.678c0,-0 0,8.04 0,8.04c0,2.582 2.096,4.678 4.678,4.678c0,-0 6.918,-0 6.918,-0c2.582,-0 4.678,-2.096 4.678,-4.678c0,-0 0,-8.04 0,-8.04Zm-2.438,-0l-0,8.04c-0,1.236 -1.004,2.24 -2.24,2.24l-6.918,-0c-1.236,-0 -2.239,-1.004 -2.239,-2.24l-0,-8.04c-0,-1.236 1.003,-2.24 2.239,-2.24c0,0 6.918,0 6.918,0c1.236,0 2.24,1.004 2.24,2.24Z"/><path d="M5.327,16.748c-0,0.358 -0.291,0.648 -0.649,0.648c0,0 0,0 0,0c-2.582,0 -4.678,-2.096 -4.678,-4.678c0,0 0,-8.04 0,-8.04c0,-2.582 2.096,-4.678 4.678,-4.678l6.918,0c2.168,0 3.994,1.478 4.523,3.481c0.038,0.149 0.005,0.306 -0.09,0.428c-0.094,0.121 -0.239,0.191 -0.392,0.191c-0.451,0.005 -1.057,0.005 -1.457,0.005c-0.238,0 -0.455,-0.14 -0.553,-0.357c-0.348,-0.773 -1.128,-1.31 -2.031,-1.31c-0,0 -6.918,0 -6.918,0c-1.236,0 -2.24,1.004 -2.24,2.24l0,8.04c0,1.236 1.004,2.24 2.24,2.24l0,-0c0.358,-0 0.649,0.29 0.649,0.648c-0,0.353 -0,0.789 -0,1.142Z" style="fill-opacity:0.6;"/></svg>`
|
|
||||||
static successIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M8.084,16.111c-0.09,0.09 -0.212,0.141 -0.34,0.141c-0.127,-0 -0.249,-0.051 -0.339,-0.141c-0.746,-0.746 -2.538,-2.538 -3.525,-3.525c-0.375,-0.375 -0.983,-0.375 -1.357,0c-0.178,0.178 -0.369,0.369 -0.547,0.547c-0.375,0.375 -0.375,0.982 -0,1.357c1.135,1.135 3.422,3.422 4.75,4.751c0.27,0.27 0.637,0.421 1.018,0.421c0.382,0 0.749,-0.151 1.019,-0.421c2.731,-2.732 10.166,-10.167 12.454,-12.455c0.375,-0.375 0.375,-0.982 -0,-1.357c-0.178,-0.178 -0.369,-0.369 -0.547,-0.547c-0.375,-0.375 -0.982,-0.375 -1.357,0c-2.273,2.273 -9.567,9.567 -11.229,11.229Z"/></svg>`
|
|
||||||
static successDuration = 980
|
|
||||||
static init() {
|
|
||||||
$(function() {
|
|
||||||
$(document).ready(function() {
|
|
||||||
if(navigator.clipboard) {
|
|
||||||
const fragments = document.getElementsByClassName("fragment")
|
|
||||||
for(const fragment of fragments) {
|
|
||||||
const fragmentWrapper = document.createElement("div")
|
|
||||||
fragmentWrapper.className = "doxygen-awesome-fragment-wrapper"
|
|
||||||
const fragmentCopyButton = document.createElement("doxygen-awesome-fragment-copy-button")
|
|
||||||
fragmentCopyButton.innerHTML = DoxygenAwesomeFragmentCopyButton.copyIcon
|
|
||||||
fragmentCopyButton.title = DoxygenAwesomeFragmentCopyButton.title
|
|
||||||
|
|
||||||
fragment.parentNode.replaceChild(fragmentWrapper, fragment)
|
|
||||||
fragmentWrapper.appendChild(fragment)
|
|
||||||
fragmentWrapper.appendChild(fragmentCopyButton)
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
copyContent() {
|
|
||||||
const content = this.previousSibling.cloneNode(true)
|
|
||||||
// filter out line number from file listings
|
|
||||||
content.querySelectorAll(".lineno, .ttc").forEach((node) => {
|
|
||||||
node.remove()
|
|
||||||
})
|
|
||||||
let textContent = content.textContent
|
|
||||||
// remove trailing newlines that appear in file listings
|
|
||||||
let numberOfTrailingNewlines = 0
|
|
||||||
while(textContent.charAt(textContent.length - (numberOfTrailingNewlines + 1)) == '\n') {
|
|
||||||
numberOfTrailingNewlines++;
|
|
||||||
}
|
|
||||||
textContent = textContent.substring(0, textContent.length - numberOfTrailingNewlines)
|
|
||||||
navigator.clipboard.writeText(textContent);
|
|
||||||
this.classList.add("success")
|
|
||||||
this.innerHTML = DoxygenAwesomeFragmentCopyButton.successIcon
|
|
||||||
window.setTimeout(() => {
|
|
||||||
this.classList.remove("success")
|
|
||||||
this.innerHTML = DoxygenAwesomeFragmentCopyButton.copyIcon
|
|
||||||
}, DoxygenAwesomeFragmentCopyButton.successDuration);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
customElements.define("doxygen-awesome-fragment-copy-button", DoxygenAwesomeFragmentCopyButton)
|
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
// SPDX-License-Identifier: MIT
|
|
||||||
/**
|
|
||||||
|
|
||||||
Doxygen Awesome
|
|
||||||
https://github.com/jothepro/doxygen-awesome-css
|
|
||||||
|
|
||||||
Copyright (c) 2022 - 2025 jothepro
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
class DoxygenAwesomeInteractiveToc {
|
|
||||||
static topOffset = 38
|
|
||||||
static hideMobileMenu = true
|
|
||||||
static headers = []
|
|
||||||
|
|
||||||
static init() {
|
|
||||||
window.addEventListener("load", () => {
|
|
||||||
let toc = document.querySelector(".contents > .toc")
|
|
||||||
if(toc) {
|
|
||||||
toc.classList.add("interactive")
|
|
||||||
if(!DoxygenAwesomeInteractiveToc.hideMobileMenu) {
|
|
||||||
toc.classList.add("open")
|
|
||||||
}
|
|
||||||
document.querySelector(".contents > .toc > h3")?.addEventListener("click", () => {
|
|
||||||
if(toc.classList.contains("open")) {
|
|
||||||
toc.classList.remove("open")
|
|
||||||
} else {
|
|
||||||
toc.classList.add("open")
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
document.querySelectorAll(".contents > .toc > ul a").forEach((node) => {
|
|
||||||
let id = node.getAttribute("href").substring(1)
|
|
||||||
DoxygenAwesomeInteractiveToc.headers.push({
|
|
||||||
node: node,
|
|
||||||
headerNode: document.getElementById(id)
|
|
||||||
})
|
|
||||||
|
|
||||||
document.getElementById("doc-content")?.addEventListener("scroll",this.throttle(DoxygenAwesomeInteractiveToc.update, 100))
|
|
||||||
})
|
|
||||||
DoxygenAwesomeInteractiveToc.update()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
static update() {
|
|
||||||
let active = DoxygenAwesomeInteractiveToc.headers[0]?.node
|
|
||||||
DoxygenAwesomeInteractiveToc.headers.forEach((header) => {
|
|
||||||
let position = header.headerNode.getBoundingClientRect().top
|
|
||||||
header.node.classList.remove("active")
|
|
||||||
header.node.classList.remove("aboveActive")
|
|
||||||
if(position < DoxygenAwesomeInteractiveToc.topOffset) {
|
|
||||||
active = header.node
|
|
||||||
active?.classList.add("aboveActive")
|
|
||||||
}
|
|
||||||
})
|
|
||||||
active?.classList.add("active")
|
|
||||||
active?.classList.remove("aboveActive")
|
|
||||||
}
|
|
||||||
|
|
||||||
static throttle(func, delay) {
|
|
||||||
let lastCall = 0;
|
|
||||||
return function (...args) {
|
|
||||||
const now = new Date().getTime();
|
|
||||||
if (now - lastCall < delay) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
lastCall = now;
|
|
||||||
return setTimeout(() => {func(...args)}, delay);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
// SPDX-License-Identifier: MIT
|
|
||||||
/**
|
|
||||||
|
|
||||||
Doxygen Awesome
|
|
||||||
https://github.com/jothepro/doxygen-awesome-css
|
|
||||||
|
|
||||||
Copyright (c) 2022 - 2025 jothepro
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
class DoxygenAwesomeParagraphLink {
|
|
||||||
// Icon from https://fonts.google.com/icons
|
|
||||||
// Licensed under the Apache 2.0 license:
|
|
||||||
// https://www.apache.org/licenses/LICENSE-2.0.html
|
|
||||||
static icon = `<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M17 7h-4v2h4c1.65 0 3 1.35 3 3s-1.35 3-3 3h-4v2h4c2.76 0 5-2.24 5-5s-2.24-5-5-5zm-6 8H7c-1.65 0-3-1.35-3-3s1.35-3 3-3h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-2zm-3-4h8v2H8z"/></svg>`
|
|
||||||
static title = "Permanent Link"
|
|
||||||
static init() {
|
|
||||||
$(function() {
|
|
||||||
$(document).ready(function() {
|
|
||||||
document.querySelectorAll(".contents a.anchor[id], .contents .groupheader > a[id]").forEach((node) => {
|
|
||||||
let anchorlink = document.createElement("a")
|
|
||||||
anchorlink.setAttribute("href", `#${node.getAttribute("id")}`)
|
|
||||||
anchorlink.setAttribute("title", DoxygenAwesomeParagraphLink.title)
|
|
||||||
anchorlink.classList.add("anchorlink")
|
|
||||||
node.classList.add("anchor")
|
|
||||||
anchorlink.innerHTML = DoxygenAwesomeParagraphLink.icon
|
|
||||||
node.parentElement.appendChild(anchorlink)
|
|
||||||
})
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
|
||||||
/**
|
|
||||||
|
|
||||||
Doxygen Awesome
|
|
||||||
https://github.com/jothepro/doxygen-awesome-css
|
|
||||||
|
|
||||||
Copyright (c) 2021 - 2025 jothepro
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
@media screen and (min-width: 768px) {
|
|
||||||
|
|
||||||
#MSearchBox {
|
|
||||||
width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - var(--searchbar-height) - 1px);
|
|
||||||
}
|
|
||||||
|
|
||||||
#MSearchField {
|
|
||||||
width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - 66px - var(--searchbar-height));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,105 +0,0 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
|
||||||
/**
|
|
||||||
|
|
||||||
Doxygen Awesome
|
|
||||||
https://github.com/jothepro/doxygen-awesome-css
|
|
||||||
|
|
||||||
Copyright (c) 2021 - 2025 jothepro
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
html {
|
|
||||||
/* side nav width. MUST be = `TREEVIEW_WIDTH`.
|
|
||||||
* Make sure it is wide enough to contain the page title (logo + title + version)
|
|
||||||
*/
|
|
||||||
--side-nav-fixed-width: 335px;
|
|
||||||
--menu-display: none;
|
|
||||||
|
|
||||||
--top-height: 120px;
|
|
||||||
--toc-sticky-top: -25px;
|
|
||||||
--toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 25px);
|
|
||||||
}
|
|
||||||
|
|
||||||
#projectname {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@media screen and (min-width: 768px) {
|
|
||||||
html {
|
|
||||||
--searchbar-background: var(--page-background-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
#side-nav {
|
|
||||||
min-width: var(--side-nav-fixed-width);
|
|
||||||
max-width: var(--side-nav-fixed-width);
|
|
||||||
top: var(--top-height);
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
#nav-tree, #side-nav {
|
|
||||||
height: calc(100vh - var(--top-height)) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#top {
|
|
||||||
display: block;
|
|
||||||
border-bottom: none;
|
|
||||||
height: var(--top-height);
|
|
||||||
margin-bottom: calc(0px - var(--top-height));
|
|
||||||
max-width: var(--side-nav-fixed-width);
|
|
||||||
overflow: hidden;
|
|
||||||
background: var(--side-nav-background);
|
|
||||||
}
|
|
||||||
|
|
||||||
#main-nav {
|
|
||||||
float: left;
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui-resizable-handle {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui-resizable-e {
|
|
||||||
width: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#nav-path {
|
|
||||||
position: fixed;
|
|
||||||
right: 0;
|
|
||||||
left: calc(var(--side-nav-fixed-width) + 1px);
|
|
||||||
bottom: 0;
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
#doc-content {
|
|
||||||
height: calc(100vh - 31px) !important;
|
|
||||||
padding-bottom: calc(3 * var(--spacing-large));
|
|
||||||
padding-top: calc(var(--top-height) - 80px);
|
|
||||||
box-sizing: border-box;
|
|
||||||
margin-left: var(--side-nav-fixed-width) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#MSearchBox {
|
|
||||||
width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)));
|
|
||||||
}
|
|
||||||
|
|
||||||
#MSearchField {
|
|
||||||
width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - 65px);
|
|
||||||
}
|
|
||||||
|
|
||||||
#MSearchResultsWindow {
|
|
||||||
left: var(--spacing-medium) !important;
|
|
||||||
right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
#nav-sync {
|
|
||||||
bottom: 4px;
|
|
||||||
right: auto;
|
|
||||||
left: 300px;
|
|
||||||
width: 35px;
|
|
||||||
top: auto !important;
|
|
||||||
user-select: none;
|
|
||||||
position: fixed
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,71 +0,0 @@
|
|||||||
// SPDX-License-Identifier: MIT
|
|
||||||
/**
|
|
||||||
|
|
||||||
Doxygen Awesome
|
|
||||||
https://github.com/jothepro/doxygen-awesome-css
|
|
||||||
|
|
||||||
Copyright (c) 2023 - 2025 jothepro
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
class DoxygenAwesomeTabs {
|
|
||||||
|
|
||||||
static init() {
|
|
||||||
window.addEventListener("load", () => {
|
|
||||||
document.querySelectorAll(".tabbed:not(:empty)").forEach((tabbed, tabbedIndex) => {
|
|
||||||
let tabLinkList = []
|
|
||||||
tabbed.querySelectorAll(":scope > ul > li").forEach((tab, tabIndex) => {
|
|
||||||
tab.id = "tab_" + tabbedIndex + "_" + tabIndex
|
|
||||||
let header = tab.querySelector(".tab-title")
|
|
||||||
let tabLink = document.createElement("button")
|
|
||||||
tabLink.classList.add("tab-button")
|
|
||||||
tabLink.appendChild(header)
|
|
||||||
header.title = header.textContent
|
|
||||||
tabLink.addEventListener("click", () => {
|
|
||||||
tabbed.querySelectorAll(":scope > ul > li").forEach((tab) => {
|
|
||||||
tab.classList.remove("selected")
|
|
||||||
})
|
|
||||||
tabLinkList.forEach((tabLink) => {
|
|
||||||
tabLink.classList.remove("active")
|
|
||||||
})
|
|
||||||
tab.classList.add("selected")
|
|
||||||
tabLink.classList.add("active")
|
|
||||||
})
|
|
||||||
tabLinkList.push(tabLink)
|
|
||||||
if(tabIndex == 0) {
|
|
||||||
tab.classList.add("selected")
|
|
||||||
tabLink.classList.add("active")
|
|
||||||
}
|
|
||||||
})
|
|
||||||
let tabsOverview = document.createElement("div")
|
|
||||||
tabsOverview.classList.add("tabs-overview")
|
|
||||||
let tabsOverviewContainer = document.createElement("div")
|
|
||||||
tabsOverviewContainer.classList.add("tabs-overview-container")
|
|
||||||
tabLinkList.forEach((tabLink) => {
|
|
||||||
tabsOverview.appendChild(tabLink)
|
|
||||||
})
|
|
||||||
tabsOverviewContainer.appendChild(tabsOverview)
|
|
||||||
tabbed.before(tabsOverviewContainer)
|
|
||||||
|
|
||||||
function resize() {
|
|
||||||
let maxTabHeight = 0
|
|
||||||
tabbed.querySelectorAll(":scope > ul > li").forEach((tab, tabIndex) => {
|
|
||||||
let visibility = tab.style.display
|
|
||||||
tab.style.display = "block"
|
|
||||||
maxTabHeight = Math.max(tab.offsetHeight, maxTabHeight)
|
|
||||||
tab.style.display = visibility
|
|
||||||
})
|
|
||||||
tabbed.style.height = `${maxTabHeight + 10}px`
|
|
||||||
}
|
|
||||||
|
|
||||||
resize()
|
|
||||||
new ResizeObserver(resize).observe(tabbed)
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
static resize(tabbed) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
3021
kernel/Doxyfile
3021
kernel/Doxyfile
File diff suppressed because it is too large
Load Diff
@@ -32,8 +32,4 @@ format:
|
|||||||
':!uACPI/tests/**' \
|
':!uACPI/tests/**' \
|
||||||
':!libk/printf*')
|
':!libk/printf*')
|
||||||
|
|
||||||
doxygen:
|
.PHONY: all clean format
|
||||||
mkdir -p ../docs/kernel/doxygen
|
|
||||||
doxygen
|
|
||||||
|
|
||||||
.PHONY: all clean format doxygen
|
|
||||||
|
|||||||
@@ -1,269 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<doxygenlayout version="2.0">
|
|
||||||
<!-- Generated by doxygen 1.15.0 -->
|
|
||||||
<!-- Navigation index tabs for HTML output -->
|
|
||||||
<navindex>
|
|
||||||
<tab type="mainpage" visible="yes" title=""/>
|
|
||||||
<tab type="pages" visible="yes" title="" intro=""/>
|
|
||||||
<tab type="topics" visible="yes" title="" intro=""/>
|
|
||||||
<tab type="modules" visible="yes" title="" intro="">
|
|
||||||
<tab type="modulelist" visible="yes" title="" intro=""/>
|
|
||||||
<tab type="modulemembers" visible="yes" title="" intro=""/>
|
|
||||||
</tab>
|
|
||||||
<tab type="namespaces" visible="yes" title="">
|
|
||||||
<tab type="namespacelist" visible="yes" title="" intro=""/>
|
|
||||||
<tab type="namespacemembers" visible="yes" title="" intro=""/>
|
|
||||||
</tab>
|
|
||||||
<tab type="concepts" visible="yes" title="">
|
|
||||||
</tab>
|
|
||||||
<tab type="interfaces" visible="yes" title="">
|
|
||||||
<tab type="interfacelist" visible="yes" title="" intro=""/>
|
|
||||||
<tab type="interfaceindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
|
||||||
<tab type="interfacehierarchy" visible="yes" title="" intro=""/>
|
|
||||||
</tab>
|
|
||||||
<tab type="classes" visible="yes" title="">
|
|
||||||
<tab type="classlist" visible="yes" title="" intro=""/>
|
|
||||||
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
|
||||||
<tab type="hierarchy" visible="yes" title="" intro=""/>
|
|
||||||
<tab type="classmembers" visible="yes" title="" intro=""/>
|
|
||||||
</tab>
|
|
||||||
<tab type="structs" visible="yes" title="">
|
|
||||||
<tab type="structlist" visible="yes" title="" intro=""/>
|
|
||||||
<tab type="structindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
|
||||||
</tab>
|
|
||||||
<tab type="exceptions" visible="yes" title="">
|
|
||||||
<tab type="exceptionlist" visible="yes" title="" intro=""/>
|
|
||||||
<tab type="exceptionindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
|
||||||
<tab type="exceptionhierarchy" visible="yes" title="" intro=""/>
|
|
||||||
</tab>
|
|
||||||
<tab type="files" visible="yes" title="">
|
|
||||||
<tab type="filelist" visible="yes" title="" intro=""/>
|
|
||||||
<tab type="globals" visible="yes" title="" intro=""/>
|
|
||||||
</tab>
|
|
||||||
<tab type="examples" visible="yes" title="" intro=""/>
|
|
||||||
</navindex>
|
|
||||||
|
|
||||||
<!-- Layout definition for a class page -->
|
|
||||||
<class>
|
|
||||||
<briefdescription visible="yes"/>
|
|
||||||
<includes visible="$SHOW_HEADERFILE"/>
|
|
||||||
<inheritancegraph visible="yes"/>
|
|
||||||
<collaborationgraph visible="yes"/>
|
|
||||||
<memberdecl>
|
|
||||||
<nestedclasses visible="yes" title=""/>
|
|
||||||
<publictypes visible="yes" title=""/>
|
|
||||||
<services visible="yes" title=""/>
|
|
||||||
<interfaces visible="yes" title=""/>
|
|
||||||
<publicslots visible="yes" title=""/>
|
|
||||||
<signals visible="yes" title=""/>
|
|
||||||
<publicmethods visible="yes" title=""/>
|
|
||||||
<publicstaticmethods visible="yes" title=""/>
|
|
||||||
<publicattributes visible="yes" title=""/>
|
|
||||||
<publicstaticattributes visible="yes" title=""/>
|
|
||||||
<protectedtypes visible="yes" title=""/>
|
|
||||||
<protectedslots visible="yes" title=""/>
|
|
||||||
<protectedmethods visible="yes" title=""/>
|
|
||||||
<protectedstaticmethods visible="yes" title=""/>
|
|
||||||
<protectedattributes visible="yes" title=""/>
|
|
||||||
<protectedstaticattributes visible="yes" title=""/>
|
|
||||||
<packagetypes visible="yes" title=""/>
|
|
||||||
<packagemethods visible="yes" title=""/>
|
|
||||||
<packagestaticmethods visible="yes" title=""/>
|
|
||||||
<packageattributes visible="yes" title=""/>
|
|
||||||
<packagestaticattributes visible="yes" title=""/>
|
|
||||||
<properties visible="yes" title=""/>
|
|
||||||
<events visible="yes" title=""/>
|
|
||||||
<privatetypes visible="yes" title=""/>
|
|
||||||
<privateslots visible="yes" title=""/>
|
|
||||||
<privatemethods visible="yes" title=""/>
|
|
||||||
<privatestaticmethods visible="yes" title=""/>
|
|
||||||
<privateattributes visible="yes" title=""/>
|
|
||||||
<privatestaticattributes visible="yes" title=""/>
|
|
||||||
<friends visible="yes" title=""/>
|
|
||||||
<related visible="yes" title="" subtitle=""/>
|
|
||||||
<membergroups visible="yes"/>
|
|
||||||
</memberdecl>
|
|
||||||
<detaileddescription visible="yes" title=""/>
|
|
||||||
<memberdef>
|
|
||||||
<inlineclasses visible="yes" title=""/>
|
|
||||||
<typedefs visible="yes" title=""/>
|
|
||||||
<enums visible="yes" title=""/>
|
|
||||||
<services visible="yes" title=""/>
|
|
||||||
<interfaces visible="yes" title=""/>
|
|
||||||
<constructors visible="yes" title=""/>
|
|
||||||
<functions visible="yes" title=""/>
|
|
||||||
<related visible="yes" title=""/>
|
|
||||||
<variables visible="yes" title=""/>
|
|
||||||
<properties visible="yes" title=""/>
|
|
||||||
<events visible="yes" title=""/>
|
|
||||||
</memberdef>
|
|
||||||
<allmemberslink visible="yes"/>
|
|
||||||
<usedfiles visible="$SHOW_USED_FILES"/>
|
|
||||||
<authorsection visible="yes"/>
|
|
||||||
</class>
|
|
||||||
|
|
||||||
<!-- Layout definition for a namespace page -->
|
|
||||||
<namespace>
|
|
||||||
<briefdescription visible="yes"/>
|
|
||||||
<memberdecl>
|
|
||||||
<nestednamespaces visible="yes" title=""/>
|
|
||||||
<constantgroups visible="yes" title=""/>
|
|
||||||
<interfaces visible="yes" title=""/>
|
|
||||||
<classes visible="yes" title=""/>
|
|
||||||
<concepts visible="yes" title=""/>
|
|
||||||
<structs visible="yes" title=""/>
|
|
||||||
<exceptions visible="yes" title=""/>
|
|
||||||
<typedefs visible="yes" title=""/>
|
|
||||||
<sequences visible="yes" title=""/>
|
|
||||||
<dictionaries visible="yes" title=""/>
|
|
||||||
<enums visible="yes" title=""/>
|
|
||||||
<functions visible="yes" title=""/>
|
|
||||||
<variables visible="yes" title=""/>
|
|
||||||
<properties visible="yes" title=""/>
|
|
||||||
<membergroups visible="yes"/>
|
|
||||||
</memberdecl>
|
|
||||||
<detaileddescription visible="yes" title=""/>
|
|
||||||
<memberdef>
|
|
||||||
<inlineclasses visible="yes" title=""/>
|
|
||||||
<typedefs visible="yes" title=""/>
|
|
||||||
<sequences visible="yes" title=""/>
|
|
||||||
<dictionaries visible="yes" title=""/>
|
|
||||||
<enums visible="yes" title=""/>
|
|
||||||
<functions visible="yes" title=""/>
|
|
||||||
<variables visible="yes" title=""/>
|
|
||||||
<properties visible="yes" title=""/>
|
|
||||||
</memberdef>
|
|
||||||
<authorsection visible="yes"/>
|
|
||||||
</namespace>
|
|
||||||
|
|
||||||
<!-- Layout definition for a concept page -->
|
|
||||||
<concept>
|
|
||||||
<briefdescription visible="yes"/>
|
|
||||||
<includes visible="$SHOW_HEADERFILE"/>
|
|
||||||
<definition visible="yes" title=""/>
|
|
||||||
<detaileddescription visible="yes" title=""/>
|
|
||||||
<authorsection visible="yes"/>
|
|
||||||
</concept>
|
|
||||||
|
|
||||||
<!-- Layout definition for a file page -->
|
|
||||||
<file>
|
|
||||||
<briefdescription visible="yes"/>
|
|
||||||
<includes visible="$SHOW_INCLUDE_FILES"/>
|
|
||||||
<includegraph visible="yes"/>
|
|
||||||
<includedbygraph visible="yes"/>
|
|
||||||
<sourcelink visible="yes"/>
|
|
||||||
<memberdecl>
|
|
||||||
<interfaces visible="yes" title=""/>
|
|
||||||
<classes visible="yes" title=""/>
|
|
||||||
<structs visible="yes" title=""/>
|
|
||||||
<exceptions visible="yes" title=""/>
|
|
||||||
<namespaces visible="yes" title=""/>
|
|
||||||
<concepts visible="yes" title=""/>
|
|
||||||
<constantgroups visible="yes" title=""/>
|
|
||||||
<defines visible="yes" title=""/>
|
|
||||||
<typedefs visible="yes" title=""/>
|
|
||||||
<sequences visible="yes" title=""/>
|
|
||||||
<dictionaries visible="yes" title=""/>
|
|
||||||
<enums visible="yes" title=""/>
|
|
||||||
<functions visible="yes" title=""/>
|
|
||||||
<variables visible="yes" title=""/>
|
|
||||||
<properties visible="yes" title=""/>
|
|
||||||
<membergroups visible="yes"/>
|
|
||||||
</memberdecl>
|
|
||||||
<detaileddescription visible="yes" title=""/>
|
|
||||||
<memberdef>
|
|
||||||
<inlineclasses visible="yes" title=""/>
|
|
||||||
<defines visible="yes" title=""/>
|
|
||||||
<typedefs visible="yes" title=""/>
|
|
||||||
<sequences visible="yes" title=""/>
|
|
||||||
<dictionaries visible="yes" title=""/>
|
|
||||||
<enums visible="yes" title=""/>
|
|
||||||
<functions visible="yes" title=""/>
|
|
||||||
<variables visible="yes" title=""/>
|
|
||||||
<properties visible="yes" title=""/>
|
|
||||||
</memberdef>
|
|
||||||
<authorsection/>
|
|
||||||
</file>
|
|
||||||
|
|
||||||
<!-- Layout definition for a group page -->
|
|
||||||
<group>
|
|
||||||
<briefdescription visible="yes"/>
|
|
||||||
<groupgraph visible="yes"/>
|
|
||||||
<memberdecl>
|
|
||||||
<nestedgroups visible="yes" title=""/>
|
|
||||||
<modules visible="yes" title=""/>
|
|
||||||
<dirs visible="yes" title=""/>
|
|
||||||
<files visible="yes" title=""/>
|
|
||||||
<namespaces visible="yes" title=""/>
|
|
||||||
<concepts visible="yes" title=""/>
|
|
||||||
<classes visible="yes" title=""/>
|
|
||||||
<defines visible="yes" title=""/>
|
|
||||||
<typedefs visible="yes" title=""/>
|
|
||||||
<sequences visible="yes" title=""/>
|
|
||||||
<dictionaries visible="yes" title=""/>
|
|
||||||
<enums visible="yes" title=""/>
|
|
||||||
<enumvalues visible="yes" title=""/>
|
|
||||||
<functions visible="yes" title=""/>
|
|
||||||
<variables visible="yes" title=""/>
|
|
||||||
<signals visible="yes" title=""/>
|
|
||||||
<publicslots visible="yes" title=""/>
|
|
||||||
<protectedslots visible="yes" title=""/>
|
|
||||||
<privateslots visible="yes" title=""/>
|
|
||||||
<events visible="yes" title=""/>
|
|
||||||
<properties visible="yes" title=""/>
|
|
||||||
<friends visible="yes" title=""/>
|
|
||||||
<membergroups visible="yes"/>
|
|
||||||
</memberdecl>
|
|
||||||
<detaileddescription visible="yes" title=""/>
|
|
||||||
<memberdef>
|
|
||||||
<pagedocs/>
|
|
||||||
<inlineclasses visible="yes" title=""/>
|
|
||||||
<defines visible="yes" title=""/>
|
|
||||||
<typedefs visible="yes" title=""/>
|
|
||||||
<sequences visible="yes" title=""/>
|
|
||||||
<dictionaries visible="yes" title=""/>
|
|
||||||
<enums visible="yes" title=""/>
|
|
||||||
<enumvalues visible="yes" title=""/>
|
|
||||||
<functions visible="yes" title=""/>
|
|
||||||
<variables visible="yes" title=""/>
|
|
||||||
<signals visible="yes" title=""/>
|
|
||||||
<publicslots visible="yes" title=""/>
|
|
||||||
<protectedslots visible="yes" title=""/>
|
|
||||||
<privateslots visible="yes" title=""/>
|
|
||||||
<events visible="yes" title=""/>
|
|
||||||
<properties visible="yes" title=""/>
|
|
||||||
<friends visible="yes" title=""/>
|
|
||||||
</memberdef>
|
|
||||||
<authorsection visible="yes"/>
|
|
||||||
</group>
|
|
||||||
|
|
||||||
<!-- Layout definition for a C++20 module page -->
|
|
||||||
<module>
|
|
||||||
<briefdescription visible="yes"/>
|
|
||||||
<exportedmodules visible="yes"/>
|
|
||||||
<memberdecl>
|
|
||||||
<concepts visible="yes" title=""/>
|
|
||||||
<classes visible="yes" title=""/>
|
|
||||||
<enums visible="yes" title=""/>
|
|
||||||
<typedefs visible="yes" title=""/>
|
|
||||||
<functions visible="yes" title=""/>
|
|
||||||
<variables visible="yes" title=""/>
|
|
||||||
<membergroups visible="yes" title=""/>
|
|
||||||
</memberdecl>
|
|
||||||
<detaileddescription visible="yes" title=""/>
|
|
||||||
<memberdecl>
|
|
||||||
<files visible="yes"/>
|
|
||||||
</memberdecl>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<!-- Layout definition for a directory page -->
|
|
||||||
<directory>
|
|
||||||
<briefdescription visible="yes"/>
|
|
||||||
<directorygraph visible="yes"/>
|
|
||||||
<memberdecl>
|
|
||||||
<dirs visible="yes"/>
|
|
||||||
<files visible="yes"/>
|
|
||||||
</memberdecl>
|
|
||||||
<detaileddescription visible="yes" title=""/>
|
|
||||||
</directory>
|
|
||||||
</doxygenlayout>
|
|
||||||
@@ -1,7 +1,4 @@
|
|||||||
doxygen_kernel:
|
docs:
|
||||||
make -C kernel platform=$(platform) doxygen
|
|
||||||
|
|
||||||
docs: doxygen_kernel
|
|
||||||
mkdocs build
|
mkdocs build
|
||||||
|
|
||||||
.PHONY: docs doxygen_kernel
|
.PHONY: docs
|
||||||
|
|||||||
Reference in New Issue
Block a user