-
-
Notifications
You must be signed in to change notification settings - Fork 202
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a mechanism for generating a list of members for a class, struct, etc. #321
Comments
This would be a very nice feature, and I have wanted to implement something like it in Sphinx for quite some time. I don't know much about the internals of Breathe, but I suggest to add a |
It appears that this issue is very much like #362, at least at first glance. Could someone else confirm (or deny) that that is indeed the case? |
Sounds essentially the same. |
@jakobandersen I believe that what you proposed would be the cleanest solution when it comes to implementation. An alternative solution I thought it was that breathe would generate labels for every directive, which would also fix #373, and then have a I do worry that that will generate an absurd amount of labels in big projects, which may cause label conflicts. An example use case: Some API docs generated by File add.h
==========
.. doxygenfile:: add.h Rendered as: Then somewhere in other doc, you could write something like: Software architecture
=====================
Arbitrary text here. The subsystem overview for adding 8-bit unsigned integers is shown below.
.. doxygensynopsis:: add.h Which would render as something like: Clicking on This example is styled similar to the @rowanG077 please check that this matches what you'd like to see (#362). Most likely the best way for this is indeed to also add something in sphinx for a selective domain-synopsis. Not entirely sure though. |
The Imagine that you have a matrix class and you are talking about an algoritm. It would be really nice then to render the inline declaration (which means including params and return type) of the method that implements that algoritm. |
Would that inline declaration need to point to the full API docs? Or should it only render what you specify? In the latter case I believe it is already possible with available directives. As for the "duplicate declaration" warning, I believe that the |
Yes that inline declaration should point to the full declaration in the API docs. It should also only render what I specify. So I could say render this class only with this member. But the link would still point to the full declaration. |
I think we need two related mechanisms on the Sphinx side:
I have an old prototype for both features somewhere that I will try to make work again. |
So in the other doc, you would write something like: .. doxygenfunction:: add
:ref: Which would then render something like: In this screenshot, the The issue I see with this is that because the entire signature is a link it becomes blue, with hurts readability. We should probably come up with a better design than this. |
Well the heading itself doesn't have to be a link. There could also be a link after it. But I don't mind it being blue. You can always customize this yourself easily using css. But yes +1 for separating the features they are different. |
@jakobandersen that does seem like a good idea, I suppose Breathe in this case can then add Also tagging upstream so the ref registers: sphinx-doc/sphinx#4981 |
Any updates on that? |
Any news on a feature like this? Would love to reference to functions while showing their documentation again. Showing documentation again with calls like .. doxygenfunction:: add while providing a link to the original file would be awesome! |
This has been open for a while. At a minimum could you add a config option to suppress specific warnings? Someone tried to add the warning types to sphinx, but they rejected it. sphinx-doc/sphinx#7851 |
The member list should by hyperlinked to the member documentation generated by the breathe directive.
Either making this an option of the directive that generates the class/struct doc or a separate directive would work for my purposes.
The text was updated successfully, but these errors were encountered: