[docs] Update doxygen and add back sidebar-only theme (#6986)

Update doxygen gradle plugin, use template Doxyfile.
This commit is contained in:
Ryan Blue
2024-08-22 11:43:10 -04:00
committed by GitHub
parent 147e03ddd8
commit c640fdc9a4
4 changed files with 3016 additions and 45 deletions

2879
docs/Doxyfile Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
plugins {
id 'java'
id "org.ysb33r.doxygen" version "0.7.0"
id "org.ysb33r.doxygen" version "1.0.3"
}
evaluationDependsOn(':apriltag')
@@ -51,15 +51,15 @@ doxygen {
String arch = System.getProperty("os.arch");
if (arch.equals("x86_64") || arch.equals("amd64")) {
executables {
doxygen version : '1.10.0',
baseURI : 'https://frcmaven.wpi.edu/artifactory/generic-release-mirror/doxygen'
doxygen {
executableByVersion('1.12.0')
}
}
}
}
doxygen {
generate_html true
html_extra_stylesheet 'theme.css'
template 'Doxyfile'
cppProjectZips.each {
dependsOn it
@@ -156,48 +156,14 @@ doxygen {
exclude '**/.clang-tidy'
exclude '**/.clang-format'
aliases 'effects=\\par <i>Effects:</i>^^',
'notes=\\par <i>Notes:</i>^^',
'requires=\\par <i>Requires:</i>^^',
'requiredbe=\\par <i>Required Behavior:</i>^^',
'concept{2}=<a href=\"md_doc_concepts.html#\1\">\2</a>',
'defaultbe=\\par <i>Default Behavior:</i>^^'
case_sense_names false
extension_mapping 'inc=C++', 'no_extension=C++'
extract_all true
extract_static true
file_patterns '*'
full_path_names true
full_sidebar false
generate_html true
generate_latex false
generate_treeview true
html_extra_stylesheet 'theme.css'
html_colorstyle 'LIGHT'
html_timestamp true
javadoc_autobrief true
project_name 'WPILibC++'
project_logo '../wpiutil/src/main/native/resources/wpilib-128.png'
project_number wpilibVersioning.version.get()
quiet true
recursive true
strip_code_comments false
strip_from_inc_path cppIncludeRoots as String[]
strip_from_path cppIncludeRoots as String[]
use_mathjax true
warnings true
warn_if_incomplete_doc true
warn_if_undocumented true
warn_no_paramdoc true
enable_preprocessing true
macro_expansion true
expand_only_predef true
predefined "__cplusplus\"\\\n" +
"\"HAL_ENUM(name)=enum name : int32_t"
option 'project_name', 'WPILibC++'
option 'project_logo', '../wpiutil/src/main/native/resources/wpilib-128.png'
option 'project_number', wpilibVersioning.version.get()
option 'strip_from_inc_path', cppIncludeRoots
option 'strip_from_path', cppIncludeRoots
if (project.hasProperty('docWarningsAsErrors')) {
warn_as_error 'FAIL_ON_WARNINGS'
option 'warn_as_error', 'FAIL_ON_WARNINGS_PRINT'
}
}

View File

@@ -1,3 +1,9 @@
/*
This file includes both doxygen-awesome.css and doxygen-awesome-sidebar-only.css
from https://github.com/jothepro/doxygen-awesome-css/blob/28ed396de19cd3d803bcb483dceefdb6d03b1b2b/
*/
/* doxygen-awesome.css */
/**
Doxygen Awesome
@@ -2675,3 +2681,122 @@ h2:hover a.anchorlink, h1:hover a.anchorlink, h3:hover a.anchorlink, h4:hover a.
border-radius: 0 var(--border-radius-medium) var(--border-radius-medium) 0;
}
}
/* doxygen-awesome-sidebar-only.css */
/**
Doxygen Awesome
https://github.com/jothepro/doxygen-awesome-css
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.
*/
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;
}
#nav-tree {
padding: 0;
}
#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 {
cursor: default;
width: 1px !important;
background: var(--separator-color);
box-shadow: 0 calc(-2 * var(--top-height)) 0 0 var(--separator-color);
}
#nav-path {
position: fixed;
right: 0;
left: var(--side-nav-fixed-width);
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;
}
}

View File

@@ -1 +1,2 @@
org.gradle.jvmargs=-Xmx2g
org.ysb33r.gradle.doxygen.download.url=https://frcmaven.wpi.edu/artifactory/generic-release-mirror/doxygen