Open svenevs opened 3 years ago
I guess to clarify, if you just want things to work then fork the project or create a PR like #84 I just won't merge it. Interface support requires more than just that, and so would this, but in terms of running things it'll just get skipped. Sorry for all the confusion, lots of moving parts both in this project and the associated tools :slightly_smiling_face:
For \example specifically, the workaround I suggest is to stop using the doxygen \example command and instead use sphinx alternatives.
Makes actually much sense ^^
Also would it be possible to put a message like unsupported doxygen command
? Would clearify a lot.
lots of moving parts both in this project and the associated tools
Iam happy for every day this tool works ^^
Results into
Not 100% sure if thats the same issue. Ignore that its a wrong doxygen usage too
Originally posted by @IceflowRE in https://github.com/svenevs/exhale/issues/39#issuecomment-808788170
Hey @IceflowRE thanks for reporting, this one is indeed slightly different. The
doxygen
example command seems to be setup in a way where you can cross-reference code examples in other files and such. I don't anticipate being able to resolve this directly anytime soon though :cry:I actually designed it to crash like this in the same spot for pretty much anything I didn't explicitly support. For
\example
specifically, the workaround I suggest is to stop using the doxygen\example
command and instead use sphinx alternatives. You should still be able to write documentation in header files to link to things, but you would instead need to manually structure your examples rather than have exhale do it. Long term it would be sweet if I could getsphinx.ext.viewcode
working but that's an even bigger cookie.Example:
In some function or class docs or whatever in your headers
The trick being to enter a raw rst block (also wish I could do that inline but never figured it out...), and now you can use an rst role to link to some other document you are creating.
Create the target to be linked to manually. It can just be a mostly blank wrapper file, e.g.,
docs/examples/some_special_example.rst
, with a heading (or something else) you can link to. Those rules come from docutils (sphinx sits on top of that), the below example is an internal crossreference target which is why in (1) we had the:ref:
role being used. And then for the code, to keep things mostly automated, you can just useliteralinclude
or one of the other code optionsTo be clear, the above workaround is not a replacement of
\example
, just hoping to get you in a place where you have the examples documented that you want. Hopefully the above works, happy to try and answer more questions but am generally in open source shutdown.