From 2f802c1a6e3e7481c22c02435eb94fd828d3ec98 Mon Sep 17 00:00:00 2001
From: Matt Pewsey <23442063+mpewsey@users.noreply.github.com>
Date: Tue, 11 Jun 2024 16:35:48 -0400
Subject: [PATCH] Update doxygen-awesome-css
---
.../.github/workflows/publish.yaml | 11 +-
Docs/doxygen-awesome-css/.gitignore | 5 +-
Docs/doxygen-awesome-css/.npmignore | 3 +
Docs/doxygen-awesome-css/Doxyfile | 484 ++++++----
Docs/doxygen-awesome-css/LICENSE | 2 +-
Docs/doxygen-awesome-css/Makefile | 39 +
Docs/doxygen-awesome-css/README.md | 165 +++-
.../doxygen-awesome-css/docs/customization.md | 87 +-
Docs/doxygen-awesome-css/docs/extensions.md | 235 ++++-
.../docs/img/fragment_copy_button.png | Bin 45560 -> 32871 bytes
.../docs/img/interactive_toc_mobile.png | Bin 0 -> 16425 bytes
Docs/doxygen-awesome-css/docs/tricks.md | 94 +-
.../doxygen-awesome-darkmode-toggle.js | 2 +-
.../doxygen-awesome-fragment-copy-button.js | 2 +-
.../doxygen-awesome-interactive-toc.js | 81 ++
.../doxygen-awesome-paragraph-link.js | 2 +-
...n-awesome-sidebar-only-darkmode-toggle.css | 2 +-
.../doxygen-awesome-sidebar-only.css | 5 +-
.../doxygen-awesome-tabs.js | 90 ++
Docs/doxygen-awesome-css/doxygen-awesome.css | 856 +++++++++++++++---
.../doxygen-custom/custom.css | 57 +-
.../doxygen-custom/header.html | 6 +-
Docs/doxygen-awesome-css/img/testimage.png | Bin 0 -> 4792 bytes
.../img/theme-variants-base.drawio.svg | 117 +++
.../theme-variants-sidebar-only.drawio.svg | 102 +++
.../img/theme-variants.drawio.svg | 240 -----
.../include/MyLibrary/example.hpp | 71 +-
.../include/MyLibrary/subclass-example.hpp | 16 +-
Docs/doxygen-awesome-css/package.json | 34 +
29 files changed, 2036 insertions(+), 772 deletions(-)
create mode 100644 Docs/doxygen-awesome-css/.npmignore
create mode 100644 Docs/doxygen-awesome-css/Makefile
create mode 100644 Docs/doxygen-awesome-css/docs/img/interactive_toc_mobile.png
create mode 100644 Docs/doxygen-awesome-css/doxygen-awesome-interactive-toc.js
create mode 100644 Docs/doxygen-awesome-css/doxygen-awesome-tabs.js
create mode 100644 Docs/doxygen-awesome-css/img/testimage.png
create mode 100644 Docs/doxygen-awesome-css/img/theme-variants-base.drawio.svg
create mode 100644 Docs/doxygen-awesome-css/img/theme-variants-sidebar-only.drawio.svg
delete mode 100644 Docs/doxygen-awesome-css/img/theme-variants.drawio.svg
create mode 100644 Docs/doxygen-awesome-css/package.json
diff --git a/Docs/doxygen-awesome-css/.github/workflows/publish.yaml b/Docs/doxygen-awesome-css/.github/workflows/publish.yaml
index d415af3c..331822fd 100644
--- a/Docs/doxygen-awesome-css/.github/workflows/publish.yaml
+++ b/Docs/doxygen-awesome-css/.github/workflows/publish.yaml
@@ -10,19 +10,12 @@ jobs:
uses: actions/checkout@v2
with:
fetch-depth: 0
- - name: install Doxygen 1.9.2
- run: |
- sudo apt-get update
- sudo apt-get install -y graphviz libclang-cpp1-9 libclang1-9
- wget https://www.doxygen.nl/files/doxygen-1.9.2.linux.bin.tar.gz
- tar -xvzf doxygen-1.9.2.linux.bin.tar.gz
- ln -s doxygen-1.9.2/bin/doxygen doxygen
- name: set version
run: echo "PROJECT_NUMBER = `git describe --tags`" >> Doxyfile
- name: Generate Documentation
- run: ./doxygen Doxyfile
+ uses: mattnotmitt/doxygen-action@edge
- name: Publish generated content to GitHub Pages
- uses: tsunematsu21/actions-publish-gh-pages@v1.0.1
+ uses: tsunematsu21/actions-publish-gh-pages@v1.0.2
with:
dir: docs/html
branch: gh-pages
diff --git a/Docs/doxygen-awesome-css/.gitignore b/Docs/doxygen-awesome-css/.gitignore
index 5c40af76..60db5bc3 100644
--- a/Docs/doxygen-awesome-css/.gitignore
+++ b/Docs/doxygen-awesome-css/.gitignore
@@ -1,3 +1,6 @@
docs/html
.DS_Store
-.idea
\ No newline at end of file
+.idea
+
+node_modules
+*.tgz
diff --git a/Docs/doxygen-awesome-css/.npmignore b/Docs/doxygen-awesome-css/.npmignore
new file mode 100644
index 00000000..90eb4cae
--- /dev/null
+++ b/Docs/doxygen-awesome-css/.npmignore
@@ -0,0 +1,3 @@
+*
+!doxygen-awesome*
+
diff --git a/Docs/doxygen-awesome-css/Doxyfile b/Docs/doxygen-awesome-css/Doxyfile
index be89cd50..860e32f6 100644
--- a/Docs/doxygen-awesome-css/Doxyfile
+++ b/Docs/doxygen-awesome-css/Doxyfile
@@ -1,4 +1,4 @@
-# Doxyfile 1.9.1
+# Doxyfile 1.9.6
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.
@@ -12,6 +12,16 @@
# For lists, items can also be appended using:
# TAG += value [value, ...]
# Values that contain spaces should be placed between quotes (\" \").
+#
+# Note:
+#
+# Use doxygen to compare the used configuration file with the template
+# configuration file:
+# doxygen -x [configFile]
+# Use doxygen to compare the used configuration file with the template
+# configuration file without replacing the environment variables or CMake type
+# replacement variables:
+# doxygen -x_noenv [configFile]
#---------------------------------------------------------------------------
# Project related configuration options
@@ -60,16 +70,28 @@ PROJECT_LOGO = ./logo.drawio.svg
OUTPUT_DIRECTORY = docs
-# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
-# directories (in 2 levels) under the output directory of each output format and
-# will distribute the generated files over these directories. Enabling this
+# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096
+# sub-directories (in 2 levels) under the output directory of each output format
+# and will distribute the generated files over these directories. Enabling this
# option can be useful when feeding doxygen a huge amount of source files, where
# putting all generated files in the same directory would otherwise causes
-# performance problems for the file system.
+# performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to
+# control the number of sub-directories.
# The default value is: NO.
CREATE_SUBDIRS = NO
+# Controls the number of sub-directories that will be created when
+# CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every
+# level increment doubles the number of directories, resulting in 4096
+# directories at level 8 which is the default and also the maximum value. The
+# sub-directories are organized in 2 levels, the first level always has a fixed
+# number of 16 directories.
+# Minimum value: 0, maximum value: 8, default value: 8.
+# This tag requires that the tag CREATE_SUBDIRS is set to YES.
+
+CREATE_SUBDIRS_LEVEL = 8
+
# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
# characters to appear in the names of generated files. If set to NO, non-ASCII
# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
@@ -81,26 +103,18 @@ ALLOW_UNICODE_NAMES = NO
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
# documentation generated by doxygen is written. Doxygen will use this
# information to generate all constant output in the proper language.
-# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
-# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
-# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
-# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
-# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
-# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
-# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
-# Ukrainian and Vietnamese.
+# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian,
+# Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English
+# (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek,
+# Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with
+# English messages), Korean, Korean-en (Korean with English messages), Latvian,
+# Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese,
+# Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish,
+# Swedish, Turkish, Ukrainian and Vietnamese.
# The default value is: English.
OUTPUT_LANGUAGE = English
-# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all generated output in the proper direction.
-# Possible values are: None, LTR, RTL and Context.
-# The default value is: None.
-
-OUTPUT_TEXT_DIRECTION = None
-
# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
# descriptions after the members that are listed in the file and class
# documentation (similar to Javadoc). Set to NO to disable this.
@@ -258,16 +272,16 @@ TAB_SIZE = 4
# the documentation. An alias has the form:
# name=value
# For example adding
-# "sideeffect=@par Side Effects:\n"
+# "sideeffect=@par Side Effects:^^"
# will allow you to put the command \sideeffect (or @sideeffect) in the
# documentation, which will result in a user-defined paragraph with heading
-# "Side Effects:". You can put \n's in the value part of an alias to insert
-# newlines (in the resulting output). You can put ^^ in the value part of an
-# alias to insert a newline as if a physical newline was in the original file.
-# When you need a literal { or } or , in the value part of an alias you have to
-# escape them by means of a backslash (\), this can lead to conflicts with the
-# commands \{ and \} for these it is advised to use the version @{ and @} or use
-# a double escape (\\{ and \\})
+# "Side Effects:". Note that you cannot put \n's in the value part of an alias
+# to insert newlines (in the resulting output). You can put ^^ in the value part
+# of an alias to insert a newline as if a physical newline was in the original
+# file. When you need a literal { or } or , in the value part of an alias you
+# have to escape them by means of a backslash (\), this can lead to conflicts
+# with the commands \{ and \} for these it is advised to use the version @{ and
+# @} or use a double escape (\\{ and \\})
ALIASES =
@@ -312,8 +326,8 @@ OPTIMIZE_OUTPUT_SLICE = NO
# extension. Doxygen has a built-in mapping, but you can override or extend it
# using this tag. The format is ext=language, where ext is a file extension, and
# language is one of the parsers supported by doxygen: IDL, Java, JavaScript,
-# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice, VHDL,
-# Fortran (fixed format Fortran: FortranFixed, free formatted Fortran:
+# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice,
+# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran:
# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser
# tries to guess whether the code is fixed or free formatted code, this is the
# default for Fortran type files). For instance to make doxygen treat .inc files
@@ -460,13 +474,13 @@ TYPEDEF_HIDES_STRUCT = NO
LOOKUP_CACHE_SIZE = 0
-# The NUM_PROC_THREADS specifies the number threads doxygen is allowed to use
+# The NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use
# during processing. When set to 0 doxygen will based this on the number of
# cores available in the system. You can set it explicitly to a value larger
# than 0 to get more control over the balance between CPU load and processing
# speed. At this moment only the input processing can be done using multiple
# threads. Since this is still an experimental feature the default is set to 1,
-# which efficively disables parallel processing. Please report any issues you
+# which effectively disables parallel processing. Please report any issues you
# encounter. Generating dot graphs in parallel is controlled by the
# DOT_NUM_THREADS setting.
# Minimum value: 0, maximum value: 32, default value: 1.
@@ -554,7 +568,8 @@ HIDE_UNDOC_MEMBERS = NO
# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
# undocumented classes that are normally visible in the class hierarchy. If set
# to NO, these classes will be included in the various overviews. This option
-# has no effect if EXTRACT_ALL is enabled.
+# will also hide undocumented C++ concepts if enabled. This option has no effect
+# if EXTRACT_ALL is enabled.
# The default value is: NO.
HIDE_UNDOC_CLASSES = NO
@@ -585,14 +600,15 @@ INTERNAL_DOCS = NO
# filesystem is case sensitive (i.e. it supports files in the same directory
# whose names only differ in casing), the option must be set to YES to properly
# deal with such files in case they appear in the input. For filesystems that
-# are not case sensitive the option should be be set to NO to properly deal with
+# are not case sensitive the option should be set to NO to properly deal with
# output files written for symbols that only differ in casing, such as for two
# classes, one named CLASS and the other named Class, and to also support
# references to files without having to specify the exact matching casing. On
# Windows (including Cygwin) and MacOS, users should typically set this option
# to NO, whereas on Linux or other Unix flavors it should typically be set to
# YES.
-# The default value is: system dependent.
+# Possible values are: SYSTEM, NO and YES.
+# The default value is: SYSTEM.
CASE_SENSE_NAMES = NO
@@ -610,6 +626,12 @@ HIDE_SCOPE_NAMES = NO
HIDE_COMPOUND_REFERENCE= NO
+# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class
+# will show which file needs to be included to use the class.
+# The default value is: YES.
+
+SHOW_HEADERFILE = YES
+
# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
# the files that are included by a file in the documentation of that file.
# The default value is: YES.
@@ -767,7 +789,8 @@ FILE_VERSION_FILTER =
# output files in an output format independent way. To create the layout file
# that represents doxygen's defaults, run doxygen with the -l option. You can
# optionally specify a file name after the option, if omitted DoxygenLayout.xml
-# will be used as the name of the layout file.
+# will be used as the name of the layout file. See also section "Changing the
+# layout of pages" for information.
#
# Note that if you run doxygen from a directory containing a file called
# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
@@ -813,22 +836,38 @@ WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some parameters
-# in a documented function, or documenting parameters that don't exist or using
-# markup commands wrongly.
+# potential errors in the documentation, such as documenting some parameters in
+# a documented function twice, or documenting parameters that don't exist or
+# using markup commands wrongly.
# The default value is: YES.
WARN_IF_DOC_ERROR = YES
+# If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete
+# function parameter documentation. If set to NO, doxygen will accept that some
+# parameters have no documentation without warning.
+# The default value is: YES.
+
+WARN_IF_INCOMPLETE_DOC = YES
+
# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
# are documented, but have no documentation for their parameters or return
-# value. If set to NO, doxygen will only warn about wrong or incomplete
-# parameter documentation, but not about the absence of documentation. If
-# EXTRACT_ALL is set to YES then this flag will automatically be disabled.
+# value. If set to NO, doxygen will only warn about wrong parameter
+# documentation, but not about the absence of documentation. If EXTRACT_ALL is
+# set to YES then this flag will automatically be disabled. See also
+# WARN_IF_INCOMPLETE_DOC
# The default value is: NO.
WARN_NO_PARAMDOC = NO
+# If WARN_IF_UNDOC_ENUM_VAL option is set to YES, doxygen will warn about
+# undocumented enumeration values. If set to NO, doxygen will accept
+# undocumented enumeration values. If EXTRACT_ALL is set to YES then this flag
+# will automatically be disabled.
+# The default value is: NO.
+
+WARN_IF_UNDOC_ENUM_VAL = NO
+
# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when
# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS
# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but
@@ -844,13 +883,27 @@ WARN_AS_ERROR = NO
# and the warning text. Optionally the format may contain $version, which will
# be replaced by the version of the file (if it could be obtained via
# FILE_VERSION_FILTER)
+# See also: WARN_LINE_FORMAT
# The default value is: $file:$line: $text.
WARN_FORMAT = "$file:$line: $text"
+# In the $text part of the WARN_FORMAT command it is possible that a reference
+# to a more specific place is given. To make it easier to jump to this place
+# (outside of doxygen) the user can define a custom "cut" / "paste" string.
+# Example:
+# WARN_LINE_FORMAT = "'vi $file +$line'"
+# See also: WARN_FORMAT
+# The default value is: at line $line of file $file.
+
+WARN_LINE_FORMAT = "at line $line of file $file"
+
# The WARN_LOGFILE tag can be used to specify a file to which warning and error
# messages should be written. If left blank the output is written to standard
-# error (stderr).
+# error (stderr). In case the file specified cannot be opened for writing the
+# warning and error messages are written to standard error. When as file - is
+# specified the warning and error messages are written to standard output
+# (stdout).
WARN_LOGFILE =
@@ -869,17 +922,27 @@ INPUT = include \
docs/extensions.md \
docs/customization.md \
docs/tricks.md
-
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
# documentation (see:
# https://www.gnu.org/software/libiconv/) for the list of possible encodings.
+# See also: INPUT_FILE_ENCODING
# The default value is: UTF-8.
INPUT_ENCODING = UTF-8
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses The INPUT_FILE_ENCODING tag can be used to specify
+# character encoding on a per file pattern basis. Doxygen will compare the file
+# name with each pattern and apply the encoding instead of the default
+# INPUT_ENCODING) if there is a match. The character encodings are a list of the
+# form: pattern=encoding (like *.php=ISO-8859-1). See cfg_input_encoding
+# "INPUT_ENCODING" for further information on supported encodings.
+
+INPUT_FILE_ENCODING =
+
# If the value of the INPUT tag contains directories, you can use the
# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
# *.h) to filter out the source-files in the directories.
@@ -893,10 +956,10 @@ INPUT_ENCODING = UTF-8
#
# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
-# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,
-# *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C comment),
-# *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd, *.vhdl,
-# *.ucf, *.qsf and *.ice.
+# *.hh, *.hxx, *.hpp, *.h++, *.l, *.cs, *.d, *.php, *.php4, *.php5, *.phtml,
+# *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C
+# comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd,
+# *.vhdl, *.ucf, *.qsf and *.ice.
FILE_PATTERNS = *.c \
*.cc \
@@ -979,7 +1042,7 @@ EXCLUDE_PATTERNS =
# (namespaces, classes, functions, etc.) that should be excluded from the
# output. The symbol name can be a fully qualified name, a word, or if the
# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
+# ANamespace::AClass, ANamespace::*Test
#
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories use the pattern */test/*
@@ -1010,7 +1073,8 @@ EXAMPLE_RECURSIVE = NO
# that contain images that are to be included in the documentation (see the
# \image command).
-IMAGE_PATH = img docs/img
+IMAGE_PATH = img \
+ docs/img
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
@@ -1027,6 +1091,11 @@ IMAGE_PATH = img docs/img
# code is scanned, but not when the output code is generated. If lines are added
# or removed, the anchors will not be placed correctly.
#
+# Note that doxygen will use the data processed and written to standard output
+# for further processing, therefore nothing else, like debug statements or used
+# commands (so in case of a Windows batch file always use @echo OFF), should be
+# written to standard output.
+#
# Note that for custom extensions or not directly supported extensions you also
# need to set EXTENSION_MAPPING for the extension otherwise the files are not
# properly processed by doxygen.
@@ -1068,6 +1137,15 @@ FILTER_SOURCE_PATTERNS =
USE_MDFILE_AS_MAINPAGE = README.md
+# The Fortran standard specifies that for fixed formatted Fortran code all
+# characters from position 72 are to be considered as comment. A common
+# extension is to allow longer lines before the automatic comment starts. The
+# setting FORTRAN_COMMENT_AFTER will also make it possible that longer lines can
+# be processed before the automatic comment starts.
+# Minimum value: 7, maximum value: 10000, default value: 72.
+
+FORTRAN_COMMENT_AFTER = 72
+
#---------------------------------------------------------------------------
# Configuration options related to source browsing
#---------------------------------------------------------------------------
@@ -1165,9 +1243,11 @@ VERBATIM_HEADERS = YES
CLANG_ASSISTED_PARSING = NO
-# If clang assisted parsing is enabled and the CLANG_ADD_INC_PATHS tag is set to
-# YES then doxygen will add the directory of each input to the include path.
+# If the CLANG_ASSISTED_PARSING tag is set to YES and the CLANG_ADD_INC_PATHS
+# tag is set to YES then doxygen will add the directory of each input to the
+# include path.
# The default value is: YES.
+# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
CLANG_ADD_INC_PATHS = YES
@@ -1203,10 +1283,11 @@ CLANG_DATABASE_PATH =
ALPHABETICAL_INDEX = YES
-# In case all classes in a project start with a common prefix, all classes will
-# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
-# can be used to specify a prefix (or a list of prefixes) that should be ignored
-# while generating the index headers.
+# The IGNORE_PREFIX tag can be used to specify a prefix (or a list of prefixes)
+# that should be ignored while generating the index headers. The IGNORE_PREFIX
+# tag works for classes, function and member names. The entity will be placed in
+# the alphabetical list under the first letter of the entity name that remains
+# after removing the prefix.
# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
IGNORE_PREFIX =
@@ -1263,7 +1344,7 @@ HTML_HEADER = doxygen-custom/header.html
# that doxygen normally uses.
# This tag requires that the tag GENERATE_HTML is set to YES.
-HTML_FOOTER =
+HTML_FOOTER =
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
# sheet that is used by each HTML page. It can be used to fine-tune the look of
@@ -1285,15 +1366,19 @@ HTML_STYLESHEET =
# Doxygen will copy the style sheet files to the output directory.
# Note: The order of the extra style sheet files is of importance (e.g. the last
# style sheet in the list overrules the setting of the previous ones in the
-# list). For an example see the documentation.
+# list).
+# Note: Since the styling of scrollbars can currently not be overruled in
+# Webkit/Chromium, the styling will be left out of the default doxygen.css if
+# one or more extra stylesheets have been specified. So if scrollbar
+# customization is desired it has to be added explicitly. For an example see the
+# documentation.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_EXTRA_STYLESHEET = doxygen-awesome.css \
doxygen-custom/custom.css \
doxygen-awesome-sidebar-only.css \
doxygen-awesome-sidebar-only-darkmode-toggle.css \
- doxygen-custom/custom-alternative.css \
-
+ doxygen-custom/custom-alternative.css
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
# other source files which should be copied to the HTML output directory. Note
@@ -1306,11 +1391,26 @@ HTML_EXTRA_STYLESHEET = doxygen-awesome.css \
HTML_EXTRA_FILES = doxygen-awesome-darkmode-toggle.js \
doxygen-awesome-fragment-copy-button.js \
doxygen-awesome-paragraph-link.js \
- doxygen-custom/toggle-alternative-theme.js
+ doxygen-custom/toggle-alternative-theme.js \
+ doxygen-awesome-interactive-toc.js \
+ doxygen-awesome-tabs.js
+
+# The HTML_COLORSTYLE tag can be used to specify if the generated HTML output
+# should be rendered with a dark or light theme.
+# Possible values are: LIGHT always generate light mode output, DARK always
+# generate dark mode output, AUTO_LIGHT automatically set the mode according to
+# the user preference, use light mode if no preference is set (the default),
+# AUTO_DARK automatically set the mode according to the user preference, use
+# dark mode if no preference is set and TOGGLE allow to user to switch between
+# light and dark mode via a button.
+# The default value is: AUTO_LIGHT.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE = LIGHT
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
# will adjust the colors in the style sheet and background images according to
-# this color. Hue is specified as an angle on a colorwheel, see
+# this color. Hue is specified as an angle on a color-wheel, see
# https://en.wikipedia.org/wiki/Hue for more information. For instance the value
# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
# purple, and 360 is red again.
@@ -1320,7 +1420,7 @@ HTML_EXTRA_FILES = doxygen-awesome-darkmode-toggle.js \
HTML_COLORSTYLE_HUE = 209
# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
-# in the HTML output. For a value of 0 the output will use grayscales only. A
+# in the HTML output. For a value of 0 the output will use gray-scales only. A
# value of 255 will produce the most vivid colors.
# Minimum value: 0, maximum value: 255, default value: 100.
# This tag requires that the tag GENERATE_HTML is set to YES.
@@ -1402,6 +1502,13 @@ GENERATE_DOCSET = NO
DOCSET_FEEDNAME = "Doxygen generated docs"
+# This tag determines the URL of the docset feed. A documentation feed provides
+# an umbrella under which multiple documentation sets from a single provider
+# (such as a company or product suite) can be grouped.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_FEEDURL =
+
# This tag specifies a string that should uniquely identify the documentation
# set bundle. This should be a reverse domain-name style string, e.g.
# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
@@ -1427,8 +1534,12 @@ DOCSET_PUBLISHER_NAME = Publisher
# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
-# (see:
-# https://www.microsoft.com/en-us/download/details.aspx?id=21138) on Windows.
+# on Windows. In the beginning of 2021 Microsoft took the original page, with
+# a.o. the download links, offline the HTML help workshop was already many years
+# in maintenance mode). You can download the HTML help workshop from the web
+# archives at Installation executable (see:
+# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo
+# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe).
#
# The HTML Help Workshop contains a compiler that can convert all HTML output
# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
@@ -1587,16 +1698,28 @@ DISABLE_INDEX = NO
# to work a browser that supports JavaScript, DHTML, CSS and frames is required
# (i.e. any modern browser). Windows users are probably better off using the
# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can
-# further fine-tune the look of the index. As an example, the default style
-# sheet generated by doxygen has an example that shows how to put an image at
-# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
-# the same information as the tab index, you could consider setting
-# DISABLE_INDEX to YES when enabling this option.
+# further fine tune the look of the index (see "Fine-tuning the output"). As an
+# example, the default style sheet generated by doxygen has an example that
+# shows how to put an image at the root of the tree instead of the PROJECT_NAME.
+# Since the tree basically has the same information as the tab index, you could
+# consider setting DISABLE_INDEX to YES when enabling this option.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
GENERATE_TREEVIEW = YES
+# When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the
+# FULL_SIDEBAR option determines if the side bar is limited to only the treeview
+# area (value NO) or if it should extend to the full height of the window (value
+# YES). Setting this to YES gives a layout similar to
+# https://docs.readthedocs.io with more room for contents, but less room for the
+# project logo, title, and description. If either GENERATE_TREEVIEW or
+# DISABLE_INDEX is set to NO, this option has no effect.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+FULL_SIDEBAR = NO
+
# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
# doxygen will group on one line in the generated HTML documentation.
#
@@ -1621,6 +1744,13 @@ TREEVIEW_WIDTH = 335
EXT_LINKS_IN_WINDOW = NO
+# If the OBFUSCATE_EMAILS tag is set to YES, doxygen will obfuscate email
+# addresses.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+OBFUSCATE_EMAILS = YES
+
# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg
# tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see
# https://inkscape.org) to generate formulas as SVG images instead of PNGs for
@@ -1641,17 +1771,6 @@ HTML_FORMULA_FORMAT = png
FORMULA_FONTSIZE = 10
-# Use the FORMULA_TRANSPARENT tag to determine whether or not the images
-# generated for formulas are transparent PNGs. Transparent PNGs are not
-# supported properly for IE 6.0, but are supported on all modern browsers.
-#
-# Note that when changing this option you need to delete any form_*.png files in
-# the HTML output directory before the changes have effect.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-FORMULA_TRANSPARENT = YES
-
# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands
# to create new LaTeX commands to be used in formulas as building blocks. See
# the section "Including formulas" for details.
@@ -1669,11 +1788,29 @@ FORMULA_MACROFILE =
USE_MATHJAX = NO
+# With MATHJAX_VERSION it is possible to specify the MathJax version to be used.
+# Note that the different versions of MathJax have different requirements with
+# regards to the different settings, so it is possible that also other MathJax
+# settings have to be changed when switching between the different MathJax
+# versions.
+# Possible values are: MathJax_2 and MathJax_3.
+# The default value is: MathJax_2.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_VERSION = MathJax_2
+
# When MathJax is enabled you can set the default output format to be used for
-# the MathJax output. See the MathJax site (see:
-# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details.
+# the MathJax output. For more details about the output format see MathJax
+# version 2 (see:
+# http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3
+# (see:
+# http://docs.mathjax.org/en/latest/web/components/output.html).
# Possible values are: HTML-CSS (which is slower, but has the best
-# compatibility), NativeMML (i.e. MathML) and SVG.
+# compatibility. This is the name for Mathjax version 2, for MathJax version 3
+# this will be translated into chtml), NativeMML (i.e. MathML. Only supported
+# for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This
+# is the name for Mathjax version 3, for MathJax version 2 this will be
+# translated into HTML-CSS) and SVG.
# The default value is: HTML-CSS.
# This tag requires that the tag USE_MATHJAX is set to YES.
@@ -1686,15 +1823,21 @@ MATHJAX_FORMAT = HTML-CSS
# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
# Content Delivery Network so you can quickly see the result without installing
# MathJax. However, it is strongly recommended to install a local copy of
-# MathJax from https://www.mathjax.org before deployment.
-# The default value is: https://cdn.jsdelivr.net/npm/mathjax@2.
+# MathJax from https://www.mathjax.org before deployment. The default value is:
+# - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2
+# - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3
# This tag requires that the tag USE_MATHJAX is set to YES.
MATHJAX_RELPATH = https://cdn.jsdelivr.net/npm/mathjax@2
# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
# extension names that should be enabled during MathJax rendering. For example
+# for MathJax version 2 (see https://docs.mathjax.org/en/v2.7-latest/tex.html
+# #tex-and-latex-extensions):
# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
+# For example for MathJax version 3 (see
+# http://docs.mathjax.org/en/latest/input/tex/extensions/index.html):
+# MATHJAX_EXTENSIONS = ams
# This tag requires that the tag USE_MATHJAX is set to YES.
MATHJAX_EXTENSIONS =
@@ -1874,29 +2017,31 @@ PAPER_TYPE = a4
EXTRA_PACKAGES =
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
-# generated LaTeX document. The header should contain everything until the first
-# chapter. If it is left blank doxygen will generate a standard header. See
-# section "Doxygen usage" for information on how to let doxygen write the
-# default header to a separate file.
+# The LATEX_HEADER tag can be used to specify a user-defined LaTeX header for
+# the generated LaTeX document. The header should contain everything until the
+# first chapter. If it is left blank doxygen will generate a standard header. It
+# is highly recommended to start with a default header using
+# doxygen -w latex new_header.tex new_footer.tex new_stylesheet.sty
+# and then modify the file new_header.tex. See also section "Doxygen usage" for
+# information on how to generate the default header that doxygen normally uses.
#
-# Note: Only use a user-defined header if you know what you are doing! The
-# following commands have a special meaning inside the header: $title,
-# $datetime, $date, $doxygenversion, $projectname, $projectnumber,
-# $projectbrief, $projectlogo. Doxygen will replace $title with the empty
-# string, for the replacement values of the other commands the user is referred
-# to HTML_HEADER.
+# Note: Only use a user-defined header if you know what you are doing!
+# Note: The header is subject to change so you typically have to regenerate the
+# default header when upgrading to a newer version of doxygen. The following
+# commands have a special meaning inside the header (and footer): For a
+# description of the possible markers and block names see the documentation.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_HEADER =
-# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
-# generated LaTeX document. The footer should contain everything after the last
-# chapter. If it is left blank doxygen will generate a standard footer. See
+# The LATEX_FOOTER tag can be used to specify a user-defined LaTeX footer for
+# the generated LaTeX document. The footer should contain everything after the
+# last chapter. If it is left blank doxygen will generate a standard footer. See
# LATEX_HEADER for more information on how to generate a default footer and what
-# special commands can be used inside the footer.
-#
-# Note: Only use a user-defined footer if you know what you are doing!
+# special commands can be used inside the footer. See also section "Doxygen
+# usage" for information on how to generate the default footer that doxygen
+# normally uses. Note: Only use a user-defined footer if you know what you are
+# doing!
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_FOOTER =
@@ -1941,8 +2086,7 @@ USE_PDFLATEX = YES
# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
# command to the generated LaTeX files. This will instruct LaTeX to keep running
-# if errors occur, instead of asking the user for help. This option is also used
-# when generating formulas in HTML.
+# if errors occur, instead of asking the user for help.
# The default value is: NO.
# This tag requires that the tag GENERATE_LATEX is set to YES.
@@ -1955,16 +2099,6 @@ LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
-# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
-# code with syntax highlighting in the LaTeX output.
-#
-# Note that which sources are shown also depends on other settings such as
-# SOURCE_BROWSER.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_SOURCE_CODE = NO
-
# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
# bibliography, e.g. plainnat, or ieeetr. See
# https://en.wikipedia.org/wiki/BibTeX and \cite for more info.
@@ -2045,16 +2179,6 @@ RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
-# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code
-# with syntax highlighting in the RTF output.
-#
-# Note that which sources are shown also depends on other settings such as
-# SOURCE_BROWSER.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_SOURCE_CODE = NO
-
#---------------------------------------------------------------------------
# Configuration options related to the man page output
#---------------------------------------------------------------------------
@@ -2151,15 +2275,6 @@ GENERATE_DOCBOOK = NO
DOCBOOK_OUTPUT = docbook
-# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the
-# program listings (including syntax highlighting and cross-referencing
-# information) to the DOCBOOK output. Note that enabling this will significantly
-# increase the size of the DOCBOOK output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
-
-DOCBOOK_PROGRAMLISTING = NO
-
#---------------------------------------------------------------------------
# Configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
@@ -2250,7 +2365,8 @@ SEARCH_INCLUDES = YES
# The INCLUDE_PATH tag can be used to specify one or more directories that
# contain include files that are not input files but should be processed by the
-# preprocessor.
+# preprocessor. Note that the INCLUDE_PATH is not recursive, so the setting of
+# RECURSIVE has no effect here.
# This tag requires that the tag SEARCH_INCLUDES is set to YES.
INCLUDE_PATH =
@@ -2342,15 +2458,6 @@ EXTERNAL_PAGES = YES
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
-# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram
-# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
-# NO turns the diagrams off. Note that this option also works with HAVE_DOT
-# disabled, but it is recommended to install and use dot, since it yields more
-# powerful graphs.
-# The default value is: YES.
-
-CLASS_DIAGRAMS = YES
-
# You can include diagrams made with dia in doxygen documentation. Doxygen will
# then run dia to produce the diagram and insert it in the documentation. The
# DIA_PATH tag allows you to specify the directory where the dia binary resides.
@@ -2383,35 +2490,50 @@ HAVE_DOT = YES
DOT_NUM_THREADS = 0
-# When you want a differently looking font in the dot files that doxygen
-# generates you can specify the font name using DOT_FONTNAME. You need to make
-# sure dot is able to find the font, which can be done by putting it in a
-# standard location or by setting the DOTFONTPATH environment variable or by
-# setting DOT_FONTPATH to the directory containing the font.
-# The default value is: Helvetica.
+# DOT_COMMON_ATTR is common attributes for nodes, edges and labels of
+# subgraphs. When you want a differently looking font in the dot files that
+# doxygen generates you can specify fontname, fontcolor and fontsize attributes.
+# For details please see Node,
+# Edge and Graph Attributes specification You need to make sure dot is able
+# to find the font, which can be done by putting it in a standard location or by
+# setting the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the
+# directory containing the font. Default graphviz fontsize is 14.
+# The default value is: fontname=Helvetica,fontsize=10.
# This tag requires that the tag HAVE_DOT is set to YES.
-DOT_FONTNAME = Helvetica
+DOT_COMMON_ATTR = "fontname=Helvetica,fontsize=10"
-# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
-# dot graphs.
-# Minimum value: 4, maximum value: 24, default value: 10.
+# DOT_EDGE_ATTR is concatenated with DOT_COMMON_ATTR. For elegant style you can
+# add 'arrowhead=open, arrowtail=open, arrowsize=0.5'. Complete documentation about
+# arrows shapes.
+# The default value is: labelfontname=Helvetica,labelfontsize=10.
# This tag requires that the tag HAVE_DOT is set to YES.
-DOT_FONTSIZE = 10
+DOT_EDGE_ATTR = "labelfontname=Helvetica,labelfontsize=10"
-# By default doxygen will tell dot to use the default font as specified with
-# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
-# the path where dot can find it using this tag.
+# DOT_NODE_ATTR is concatenated with DOT_COMMON_ATTR. For view without boxes
+# around nodes set 'shape=plain' or 'shape=plaintext' Shapes specification
+# The default value is: shape=box,height=0.2,width=0.4.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_NODE_ATTR = "shape=box,height=0.2,width=0.4"
+
+# You can set the path where dot can find font specified with fontname in
+# DOT_COMMON_ATTR and others dot attributes.
# This tag requires that the tag HAVE_DOT is set to YES.
DOT_FONTPATH =
-# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
-# each documented class showing the direct and indirect inheritance relations.
-# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
+# If the CLASS_GRAPH tag is set to YES (or GRAPH) then doxygen will generate a
+# graph for each documented class showing the direct and indirect inheritance
+# relations. In case HAVE_DOT is set as well dot will be used to draw the graph,
+# otherwise the built-in generator will be used. If the CLASS_GRAPH tag is set
+# to TEXT the direct and indirect inheritance relations will be shown as texts /
+# links.
+# Possible values are: NO, YES, TEXT and GRAPH.
# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
CLASS_GRAPH = YES
@@ -2425,7 +2547,8 @@ CLASS_GRAPH = YES
COLLABORATION_GRAPH = NO
# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
-# groups, showing the direct groups dependencies.
+# groups, showing the direct groups dependencies. See also the chapter Grouping
+# in the manual.
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.
@@ -2540,6 +2663,13 @@ GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = YES
+# The DIR_GRAPH_MAX_DEPTH tag can be used to limit the maximum number of levels
+# of child directories generated in directory dependency graphs by dot.
+# Minimum value: 1, maximum value: 25, default value: 1.
+# This tag requires that the tag DIRECTORY_GRAPH is set to YES.
+
+DIR_GRAPH_MAX_DEPTH = 1
+
# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
# generated by dot. For an explanation of the image formats see the section
# output formats in the documentation of the dot tool (Graphviz (see:
@@ -2593,10 +2723,10 @@ MSCFILE_DIRS =
DIAFILE_DIRS =
# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
-# path where java can find the plantuml.jar file. If left blank, it is assumed
-# PlantUML is not used or called during a preprocessing step. Doxygen will
-# generate a warning when it encounters a \startuml command in this case and
-# will not generate output for the diagram.
+# path where java can find the plantuml.jar file or to the filename of jar file
+# to be used. If left blank, it is assumed PlantUML is not used or called during
+# a preprocessing step. Doxygen will generate a warning when it encounters a
+# \startuml command in this case and will not generate output for the diagram.
PLANTUML_JAR_PATH =
@@ -2634,18 +2764,6 @@ DOT_GRAPH_MAX_NODES = 50
MAX_DOT_GRAPH_DEPTH = 0
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not seem
-# to support this out of the box.
-#
-# Warning: Depending on the platform used, enabling this option may lead to
-# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
-# read).
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_TRANSPARENT = YES
-
# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
# files in one run (i.e. multiple -o and -T options on the command line). This
# makes dot run faster, but since only newer versions of dot (>1.8.10) support
@@ -2658,6 +2776,8 @@ DOT_MULTI_TARGETS = NO
# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
# explaining the meaning of the various boxes and arrows in the dot generated
# graphs.
+# Note: This tag requires that UML_LOOK isn't set, i.e. the doxygen internal
+# graphical representation for inheritance and collaboration diagrams is used.
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.
@@ -2666,8 +2786,8 @@ GENERATE_LEGEND = YES
# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate
# files that are used to generate the various graphs.
#
-# Note: This setting is not only used for dot files but also for msc and
-# plantuml temporary files.
+# Note: This setting is not only used for dot files but also for msc temporary
+# files.
# The default value is: YES.
DOT_CLEANUP = YES
diff --git a/Docs/doxygen-awesome-css/LICENSE b/Docs/doxygen-awesome-css/LICENSE
index 1d8b99a9..8bf804a2 100644
--- a/Docs/doxygen-awesome-css/LICENSE
+++ b/Docs/doxygen-awesome-css/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2021 jothepro
+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
diff --git a/Docs/doxygen-awesome-css/Makefile b/Docs/doxygen-awesome-css/Makefile
new file mode 100644
index 00000000..766f61a4
--- /dev/null
+++ b/Docs/doxygen-awesome-css/Makefile
@@ -0,0 +1,39 @@
+# SPDX-FileCopyrightText: 2022 Andrea Pappacoda
+# SPDX-License-Identifier: MIT
+
+.POSIX:
+
+PROJECT = doxygen-awesome-css
+
+# Paths
+PREFIX = /usr/local
+DATADIR = share
+INSTALLDIR = $(DESTDIR)$(PREFIX)/$(DATADIR)/$(PROJECT)
+
+# Utilities
+INSTALL = install -m 644
+MKDIR = mkdir -p
+RM = rm -f
+
+# Files to be installed
+FILES = doxygen-awesome-darkmode-toggle.js \
+ doxygen-awesome-fragment-copy-button.js \
+ doxygen-awesome-interactive-toc.js \
+ doxygen-awesome-paragraph-link.js \
+ doxygen-awesome-sidebar-only-darkmode-toggle.css \
+ doxygen-awesome-sidebar-only.css \
+ doxygen-awesome-tabs.js \
+ doxygen-awesome.css
+
+# Empty targets so that `make` and `make clean` do not cause errors
+all:
+clean:
+
+install:
+ $(MKDIR) $(INSTALLDIR)
+ $(INSTALL) $(FILES) $(INSTALLDIR)/
+
+uninstall:
+ $(RM) -r $(INSTALLDIR)/
+
+.PHONY: all clean install uninstall
diff --git a/Docs/doxygen-awesome-css/README.md b/Docs/doxygen-awesome-css/README.md
index 88516646..379a6f16 100644
--- a/Docs/doxygen-awesome-css/README.md
+++ b/Docs/doxygen-awesome-css/README.md
@@ -4,87 +4,170 @@
[![GitHub](https://img.shields.io/github/license/jothepro/doxygen-awesome-css)](https://github.com/jothepro/doxygen-awesome-css/blob/main/LICENSE)
![GitHub Repo stars](https://img.shields.io/github/stars/jothepro/doxygen-awesome-css)
-
+
![Screenshot of Doxygen Awesome CSS](img/screenshot.png)
-**Doxygen Awesome** is a custom **CSS theme for Doxygen HTML-documentation** with lots of customization parameters.
+**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.
+I really like how the Doxygen HTML documentation is structured! But IMHO it looks a bit outdated.
-This theme is an attemt to update the visuals of Doxygen without changing it's overall layout too much.
+This theme is an attempt to update the visuals of Doxygen without changing its overall layout too much.
## Features
- 🌈 Clean, modern design
-- 🚀 Heavily customizable by adjusting CSS-variables
-- 🧩 No changes to the HTML structure of Doxygen required
+- 🚀 Heavily 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.3**
+- 🥇 Works best with **doxygen 1.9.1** - **1.9.4** and **1.9.6** - **1.10.0**
## Examples
-- Sidebar-Only theme: [Documentation of this repository](https://jothepro.github.io/doxygen-awesome-css/)
-- Base theme: [libsl3](https://a4z.github.io/libsl3/)
-
+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)
+- [FELTOR](https://mwiesenberger.github.io/feltor/dg/html/modules.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/)
+- [libCloudSync](https://jothepro.github.io/libCloudSync/)
+- [libsl3](https://a4z.github.io/libsl3/)
+
## Installation
-Copy the file `doxygen-awesome.css` from this repository into your project or add this repository as submodule and check out the latest release:
+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
+- adding the project as a 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 install instructions to figure out what files are required for your setup.
-```bash
+### 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.0.2
+git checkout v2.3.3
```
-Choose one of the theme variants and configure Doxygen accordingly:
-
-
+### npm/xpm dependency
-![Available theme variants](img/theme-variants.drawio.svg)
+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.3.3 --save-dev
-1. **Base theme**:
-```
-# Doxyfile
-GENERATE_TREEVIEW = YES # optional. Also works without treeview
-HTML_EXTRA_STYLESHEET = doxygen-awesome-css/doxygen-awesome.css
+ls -l node_module/@jothepro/doxygen-awesome-css
```
-2. **Sidebar-only theme**:
-```
-# Doxyfile
-GENERATE_TREEVIEW = YES # required!
-HTML_EXTRA_STYLESHEET = doxygen-awesome-css/doxygen-awesome.css \
- doxygen-awesome-css/doxygen-awesome-sidebar-only.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:
+
+
+
+- Base Theme
+ ![](img/theme-variants-base.drawio.svg)
+
+ Comes with the typical Doxygen titlebar. Optionally the treeview in the sidebar can be enabled.
+
+ Required files: `doxygen-awesome.css`
-Further installation instructions:
+ 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
+ ```
-- [How to install extensions](docs/extensions.md)
-- [How to customize the theme (colors, spacing, border-radius, ...)](docs/customization.md)
+- Sidebar-Only Theme
+ 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
+ ```
+
+
+
+
+
+@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 98, Chrome 98 for Android, Chrome 87 for iOS
-- Safari 15, Safari for iOS 15
-- Firefox 97, Firefox Daylight 97 for Android, Firefox Daylight 96 for iOS
+- Chrome 119, Chrome 119 for Android, Chrome 119 for iOS
+- Safari 17, Safari for iOS 16
+- Firefox 118, Firefox 120 for Android, Firefox 119 for iOS
+- Edge 119
+- Opera 108
+
+
+The theme does not strive to be backward compatible with (significantly) older browser versions.
+
## Credits
-- This theme is inspired by the [vuepress](https://vuepress.vuejs.org/) static site generator default theme.
-- Thank you for all the feedback on github!
+Thanks for all the bug reports and inspiring feedback on GitHub!
-
+Special thanks to all the contributors:
+
+
+
+
-Read Next: [Extensions](docs/extensions.md)
-
\ No newline at end of file
+
+
diff --git a/Docs/doxygen-awesome-css/docs/customization.md b/Docs/doxygen-awesome-css/docs/customization.md
index 0e89511b..7c26d338 100644
--- a/Docs/doxygen-awesome-css/docs/customization.md
+++ b/Docs/doxygen-awesome-css/docs/customization.md
@@ -7,10 +7,12 @@
This theme is highly customizable because a lot of things are parameterized with CSS variables.
-Just to give you an idea on how flexible the styling is, click this button:
+Just to give you an idea of how flexible the styling is, click this button:
Alter theme
+
+
### Setup
It is recommended to add your own `custom.css` and overwrite the variables there:
@@ -26,15 +28,18 @@ html {
}
```
-For dark-mode overrides you have to choose where to put them, depending on wether the dark-mode toggle extension is installed or not:
+For dark-mode overrides, you have to choose where to put them, depending on whether the dark-mode toggle extension is installed or not:
+
+
-- dark-mode toggle is installed:
+- dark-mode toggle is installed
```css
html.dark-mode {
/* define dark-mode variable overrides here if you DO use doxygen-awesome-darkmode-toggle.js */
}
```
-- dark-mode toggle is **NOT** installed. The dark-mode is enabled automatically depending on the system preference:
+- dark-mode toggle is **NOT** installed
+ The dark-mode is enabled automatically depending on the system preference:
```css
@media (prefers-color-scheme: dark) {
html:not(.light-mode) {
@@ -43,6 +48,8 @@ For dark-mode overrides you have to choose where to put them, depending on wethe
}
```
+
+
### Available variables
The following list gives an overview of the variables defined in [`doxygen-awesome.css`](https://github.com/jothepro/doxygen-awesome-css/blob/main/doxygen-awesome.css).
@@ -50,33 +57,33 @@ The following list gives an overview of the variables defined in [`doxygen-aweso
The list is not complete. To explore all available variables, have a look at the CSS starting from [here](https://github.com/jothepro/doxygen-awesome-css/blob/main/doxygen-awesome.css#L30).
All variables are defined at the beginning of the stylesheet.
-| Parameter | Default (Light) | Default (Dark) |
-| :-------------------------------- | :---------------------------------------------------------- | ----------------------------------------------------------- |
-| **Color Scheme**: primary theme colors. This will affect the entire websites color scheme: links, arrows, labels, ... |||
-| `--primary-color` | #1779c4 | #1982d2 |
-| `--primary-dark-color` | #335c80 | #5ca8e2 |
-| `--primary-light-color` | #70b1e9 | #4779ac |
-| **Page Colors**: background and foreground (text-color) of the documentation. |||
-| `--page-background-color` | white | #1C1D1F |
-| `--page-foreground-color` | #2f4153 | #d2dbde |
-| `--page-secondary-foreground-color`| #637485| #859399 |
-| **Spacing:** default spacings. Most ui components reference these values for spacing, to provide uniform spacing on the page. |||
-| `--spacing-small` | `5px` | |
-| `--spacing-medium` | `10px` | |
-| `--spacing-large` | `16px` | |
-| **Border Radius**: border radius for all rounded ui components. Will affect many components, like dropdowns, memitems, codeblocks, ... |||
-| `--border-radius-small` | `4px` | |
-| `--border-radius-medium` | `6px` | |
-| `--border-radius-large` | `8px` | |
-| **Content Width**: The content is centered and constrained in its width. To make the content fill the whole page, set the following variable to `auto`. |||
-| `--content-maxwidth` | `1000px` | |
-| **Code Fragment Colors**: Color-Scheme of multiline codeblocks |||
-| `--fragment-background` | #F8F9FA | #282c34 |
-| `--fragment-foreground` | #37474F | #dbe4eb |
-| **Arrow Opacity**: By default the arrows in the sidebar are only visible on hover. You can override this behaviour so they are visible all the time. |||
-| `--side-nav-arrow-opacity` | `0` | |
-| `--side-nav-arrow-hover-opacity` | `0.9` | |
-| ...and many more |||
+| Parameter | Default (Light) | Default (Dark) |
+| :---------------------------------- | :---------------------------------------------------------- | :---------------------------------------------------------- |
+| **Color Scheme**: primary theme colors. This will affect the entire websites color scheme: links, arrows, labels, ... |||
+| `--primary-color` | #1779c4 | #1982d2 |
+| `--primary-dark-color` | #335c80 | #5ca8e2 |
+| `--primary-light-color` | #70b1e9 | #4779ac |
+| **Page Colors**: background and foreground (text-color) of the documentation. |||
+| `--page-background-color` | #ffffff | #1C1D1F |
+| `--page-foreground-color` | #2f4153 | #d2dbde |
+| `--page-secondary-foreground-color` | #6f7e8e | #859399 |
+| **Spacing:** default spacings. Most ui components reference these values for spacing, to provide uniform spacing on the page. |||
+| `--spacing-small` | `5px` | |
+| `--spacing-medium` | `10px` | |
+| `--spacing-large` | `16px` | |
+| **Border Radius**: border radius for all rounded ui components. Will affect many components, like dropdowns, memitems, codeblocks, ... |||
+| `--border-radius-small` | `4px` | |
+| `--border-radius-medium` | `6px` | |
+| `--border-radius-large` | `8px` | |
+| **Content Width**: The content is centered and constrained in its width. To make the content fill the whole page, set the following variable to `auto`. |||
+| `--content-maxwidth` | `1000px` | |
+| **Code Fragment Colors**: Color-Scheme of multiline codeblocks |||
+| `--fragment-background` | #F8F9FA | #282c34 |
+| `--fragment-foreground` | #37474F | #dbe4eb |
+| **Arrow Opacity**: By default the arrows in the sidebar are only visible on hover. You can override this behavior so they are visible all the time. |||
+| `--side-nav-arrow-opacity` | `0` | |
+| `--side-nav-arrow-hover-opacity` | `0.9` | |
+| ...and many more |||
If you miss a configuration option or find a bug, please consider [opening an issue](https://github.com/jothepro/doxygen-awesome-css/issues)!
@@ -85,11 +92,11 @@ If you miss a configuration option or find a bug, please consider [opening an is
The theme overrides most colors with the `--primary-color-*` variables.
-But there is a few small images and graphics that the theme cannot adjust or replace. To make these blend in better with
+But there are a few small images and graphics that the theme cannot adjust or replace. To make these blend in better with
the rest, it is recommended to adjust the [doxygen color settings](https://www.doxygen.nl/manual/customize.html#minor_tweaks_colors)
-to something that matches the chosen color-scheme.
+to something that matches the chosen color scheme.
-For the default color-scheme, these values work out quite well:
+For the default color scheme, these values work out quite well:
```
# Doxyfile
@@ -100,11 +107,15 @@ HTML_COLORSTYLE_GAMMA = 113
## Share your customizations
-If you customized the theme with custom colors, spacings, font-sizes, etc. and you want to share your creation with others, you can to this [here](https://github.com/jothepro/doxygen-awesome-css/discussions/13).
+If you have customized the theme with custom colors, spacings, font-sizes, etc. and you want to share your creation with others, you can do this [here](https://github.com/jothepro/doxygen-awesome-css/discussions/13).
I am always curious to learn about how you made the theme look even better!
-
-Read Next: [Tips & Tricks](tricks.md)
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/Docs/doxygen-awesome-css/docs/extensions.md b/Docs/doxygen-awesome-css/docs/extensions.md
index 8eb82d93..ea1ce00d 100644
--- a/Docs/doxygen-awesome-css/docs/extensions.md
+++ b/Docs/doxygen-awesome-css/docs/extensions.md
@@ -4,7 +4,7 @@
On top of the base theme provided by `doxygen-awesome.css`, this repository comes with Javascript extensions that require additional setup steps to get them running.
-The extensions require customizations in the header HTML-template.
+The extensions require customizations in the header HTML template.
This is how you can create the default template with Doxygen:
1. Create default header template:
@@ -19,11 +19,14 @@ This is how you can create the default template with Doxygen:
[More details on header customization](https://www.doxygen.nl/manual/customize.html#minor_tweaks_header_css)
-## Dark Mode Toggle
+## Dark Mode Toggle {#extension-dark-mode-toggle}
-Adds a button next to the search bar to enable and disable the dark theme variant manually.
+Adds a button next to the search bar to enable and disable the dark theme variant manually:
-
+
+
+![](img/darkmode_toggle.png){width=250px}
+
### Installation
@@ -43,28 +46,32 @@ Adds a button next to the search bar to enable and disable the dark theme varian
```
-3. The button can be customized to some extend:
- - Change the tooltip of the button:
- ```js
- DoxygenAwesomeDarkModeToggle.title = "Zwischen hellem/dunklem Modus wechseln"
- ```
- - Change Icons. Both Emoji or SVG icons are supported:
- ```js
- DoxygenAwesomeDarkModeToggle.lightModeIcon = '🌞'
- // icon from https://fonts.google.com/icons
- DoxygenAwesomeDarkModeToggle.darkModeIcon = ``
- ```
- All customizations must be applied before calling `DoxygenAwesomeDarkModeToggle.init()`!
+### Customizing
+
+Changing the tooltip of the button:
+```js
+DoxygenAwesomeDarkModeToggle.title = "Zwischen hellem/dunklem Modus wechseln"
+```
+
+Changing Icons. Both Emoji or SVG icons are supported:
+```js
+DoxygenAwesomeDarkModeToggle.lightModeIcon = '🌞'
+// icon from https://fonts.google.com/icons
+DoxygenAwesomeDarkModeToggle.darkModeIcon = ``
+```
+All customizations must be applied before calling `DoxygenAwesomeDarkModeToggle.init()`!
-## Fragment Copy Button
-***This feature is experimental!***
+## Fragment Copy Button {#extension-copy-button}
Shows a copy button when the user hovers over a code fragment:
-
+
+
+![](img/fragment_copy_button.png){width=490}
+
### Installation
@@ -82,26 +89,30 @@ Shows a copy button when the user hovers over a code fragment:
```
-3. The button can be customized to some extend:
- - Change the tooltip of the button:
- ```js
- DoxygenAwesomeFragmentCopyButton.title = "In die Zwischenablage kopieren"
- ```
- - Change Icons:
- ```js
- DoxygenAwesomeFragmentCopyButton.copyIcon = `