Closed amyleew closed 7 years ago
/cc @joto you may be interested in this, too: if we create a developer friendly and modern theme, I guess you could switch that in for libosmium by just using the custom style file.
I tried creating a style at some time that would better fit into the rest of the libosmium web site and gave up on it. It wasn't as easy as I thought to get everything fit together well. But if somebody else wants to do that, I am all for it. The standard theme isn't that great. I would vote though for a general "updated look" though not tied too much to a specific project, because that way it can be re-used easily and we don't have to update it every time the projects web site changes. And getting two web sites generated by totally different means to have matching layouts etc. is difficult anyway.
Yes, the goal should be to provide a mostly un-branded theme that is developer friendly and great to use on every project out there. Project specifics can come in later in small local adjustments.
This could live in its own repository, maybe at mapbox/doxygen-modern-theme or something like that.
Now what interests me is the following.
What are the possibilities regarding customization? I think we can provide custom css and js files and custom header and footer html templates. Is this enough to make major adjustments or is it only good for some rather local changes such as spacings or color palettes as an example?
Leaving the default doxygen theme aside and starting from a blank page, what does a great automatically generated documentation has to provide for you?
Leaving the default doxygen theme aside and starting from a blank page, what does a great automatically generated documentation has to provide for you?
In my experience any documentation that requires me to click through multiple levels of page hierarchy is not really useful. Having something like the Leaflet reference would be great. Just a single page with a minimal clutter. Not sure if that is actually possible with doxygen.
We now have a single page documentation thanks to docbox.
Per https://github.com/Project-OSRM/osrm-backend/issues/1577, https://github.com/Project-OSRM/osrm-backend/issues/1434, https://github.com/Project-OSRM/osrm-backend/pull/1666 + chat w/ @daniel-j-h, we need internal facing documentation for our OSRM API / library exposing all internal functions, classes, algorithms and datastructures.
Doxygen default
libosmium
publishes docs based on default doxygen theme:Handler
class no comments: http://docs.osmcode.org/libosmium/latest/classosmium_1_1handler_1_1Handler.htmlLocation
class with comments: http://docs.osmcode.org/libosmium/latest/classosmium_1_1Location.htmlIn general, massive amounts of information is condensed onto small space with a 90s look.
Modern design
The goal is a developer-friendly, easy to use internal docs built with Doxygen. Not sure how complex this will be, so @daniel-j-h and I want to spec this out and decide on what's feasible and most efficient.
Quick stab at layout with Project OSRM logo and colors:
Next steps
Discuss specific needs for a modern, readable OSRM doxygen theme @danpat @TheMarex @morganherlocker. We can work out a mostly OSRM independent theme first, so other C++ projects like
libosmium
can re-use it by just switching out a few html/css/js files.