top | item 42680995

(no title)

lidavidm | 1 year ago

I'm also curious why it's a fork (I'm sure there's a good reason?)

Coincidentally I was looking into C++ documentation generators again.

In terms of integration, what I've settled on for apache/arrow-adbc is using Sphinx as the toplevel site generator, then writing a script that generates fake Intersphinx indices for a Doxygen site. That way you can link to Doxygen items from within Sphinx without having to hardcode URLs, instead by referencing a class name or similar, and Sphinx will warn if you reference something nonexistent, without having to use something like breathe that tries to render the Doxygen output within Sphinx. (Same approach with Javadoc -> Sphinx, too.)

discuss

order

DrBazza|1 year ago

It's easy enough to just use `mkdocs` with `mkdoxy` and the material theme, and you're done. In my repos it's simple enough to just run `just docs` at the root and that's it. Docs built for the given branch/tag/sha, and if various variables are set, docs deployed as well.

C++ documentation is another defect in the language (along with a build system), that all successor/modern/post C++ languages happily accept is part of the 'language ecosystem'.

eXpl0it3r|1 year ago

Maybe I have to give mkdoxy another try. When you say "just docs", what do you mean exactly?

The thing is, if I have say 20 different versions I want to generate docs for, I don't exactly want to run this every time I run `mkdocs build`, but only if I say update the navigation.

Edit: Ah now I remember, the generated "native" Markdown structure also feels worse compared to the doxygen navigation.