A theme for Doxygen. The **only** theme to use CSS Grid and Sass. Also uses MathJax 3. Part of my yoda
series of tools.
Have you seen doxygen
HTML? To go from:
- Doxyrest
- Does not allow embedding source inline (see above),
doxyrest
just doesn’t capture the same level of information - Exhale / Breathe
- Can’t even display source code, inline or otherwise
Honestly, nothing captures C++ like Doxygen. Nothing. So inspite of the weird JS cruft its best not to fight it (cough Standardese). This is it.
- m.css
- is actually very good; used it for d-SEAMS; but this is better for me, and will migrate the rest of my projects later
- CSS Grid layout
- With Sass
- MathJax 3
- Foldable inline code
Clone the project into the directory with your Doxyfile
.
Inside your Doxyfile
:
HTML_HEADER = "doxyYoda/src/html/header.html"
HTML_FOOTER = "doxyYoda/src/html/footer.html"
HTML_EXTRA_STYLESHEET = "doxyYoda/src/styles/doxyYoda.css"
LAYOUT_FILE = "doxyYoda/src/xml/layout.xml"
Or with the release, simply download the .tar.gz
into the directory with the Doxyfile
and:
HTML_HEADER = "doxyYoda/html/header.html"
HTML_FOOTER = "doxyYoda/html/footer.html"
HTML_EXTRA_STYLESHEET = "doxyYoda/css/doxyYoda.min.css"
LAYOUT_FILE = "doxyYoda/xml/layout.xml"
- Dart sass is needed to compile the CSS
- The colors are taken from Solarized Light and the hello-friend-ng-hz Hugo theme
- Fonts used are from Google Fonts (and Microsoft)
- Everything is minfied with minify
Thanks for thinking of contributing! The workflow I use for making and tracking changes involves filewatcher-cli and darkhttpd along with an example project.
# One
filewatcher -s '**/*.scss' "sass src/styles/scss/main.scss:src/styles/doxyYoda.css"
# Two
filewatcher -s '../../symengine/* ./* ../../../../doxyYoda/**/*.{css,html,xml}' "doxygen Doxyfile-prj.cfg"
Unfortunately, as long as Doxygen keeps shipping silly jQuery
based javascript scripts which write weird resizing logic into the HTML on the fly, tree view isn’t very feasible.
There are some commented out sections relating to an attempt to work around the jQuery rubbish but it amounts to just rewriting the HTML in place (see commit 07cdb06). Might consider this later.
- SymEngine C++ API documentaion
- d-SEAMS API Documentation
- Eigen v3.4.0 (git) Unofficial API Documentation
- featom API Documentation
- GaussJacobiQuad API Documentation
This project was conceived as part of SymEngine’s Google Season of Docs 2020.