Skip to content

HaoZeke/doxyYoda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

doxyYoda

images/doxyYoda/2021-03-02_01-34-09_screenshot.png

A theme for Doxygen. The **only** theme to use CSS Grid and Sass. Also uses MathJax 3. Part of my yoda series of tools.

Why?

Have you seen doxygen HTML? To go from:

images/why/2021-03-02_00-51-00_screenshot.png To:

images/why/2021-03-02_00-51-40_screenshot.png

But… [x] does this

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

Features

  • CSS Grid layout
    • With Sass
  • MathJax 3
  • Foldable inline code

Usage

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"

How?

Development Workflow?

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"

Tree View?

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.

I really want it!

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.

Users

Tasks

Add an example in-place

Better documentation

Minification / Autoprefixer / Other Goodies

Over-engineer with Webpack

Acknowledgments

This project was conceived as part of SymEngine’s Google Season of Docs 2020.

License

Apache version 2