-
-
Notifications
You must be signed in to change notification settings - Fork 205
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
index for doxygengroup #466
Comments
Although breathe cannot do this directly iirc, I believe either Could you check if the info in #293 helps you further? |
I stopped using exhale because it seemed to be blowing up the processing time from 20 seconds to 30 minutes. I am on windows and suspect the problem is related to creating many small files. doxygengroup puts the whole group in 1 file, which made it easy to control the number of files. Even without the slowdown, my preference is to put groups in the same web page. I need to try exhale again to verify that it was the cause of the big slowdown. It does look like #293 will help if I am able to put each item in a separate file. |
I timed the options:
doxygenindex/doxygengroup/etc:
The only drawback (for me) is that it does not include the contents in the TOC. I want to do something like this:
And it would emit the group, creating a heading
It might be possible to post-process the RST output of breathe-apidoc into the formatting I want, but it seems like a hack and better to have the functionality directly implemented. Can you point me at something similar in the code that would help me to understand what is needed? |
Some small remark: Sphinx can build in parallel (if the extensions used support this too) with The apidoc script is mostly standalone afaik, see |
I did not know about -j auto and have added it to my scripts. I looked at breathe/apidoc.py. My understanding is that it generates RST files which uses breathe and sphinx directives. I would like to instead change the behavior of doxygengroup/doxygenfile so they can optionally wrap the elements in sections so they will appear in a TOC. It will be faster and more flexible in the structure of the document. I think the change is simple for someone who understands the internal representations of markup used by sphinx & breathe, but I am having trouble understanding how it works. I see how sphinxrenderer.py transforms the internal representations. It would help me if I could write some examples and have a debugging option dump out text versions of the internal representation of all the nodes. Do you know how to do that? |
Your understanding of apidoc is correct. The changes proposed to doxygengroup/doxygenfile sound good. Unfortunately I don't know much about Sphinx's internals or how debugging works with it. It appears docutils has something that may be useful at https://docutils.readthedocs.io/en/sphinx-docs/user/tools.html#testing-debugging-tools ( @jakobandersen may know of some better ways to do development. |
Note that there is sphinx-doc/sphinx#6316. It may be that a resolution for that issue would resolve yours? (though I don't think it is close to be resolved)
|
It's close. I could not turn the option on globally, so I would need a mechanism to turn it on for a set of definitions. Breathe directives like doxygengroup seemed like it would work, but other ways would work.
Yes, using the index page text would be reasonable.
I am not sure what to do with nested directives.
Should I continue to look into adding it to breathe, or do you prefer that it goes into sphinx directly? |
I would like the contents of my doxygengroup to be in the table of contents so I could do something like this by making doxygen groups for each of the major categories. The link is not my document, but I have something similar.
You hint that it might be possible here
If the code changes are not too complicated and you could sketch out what is needed, I could try.
The text was updated successfully, but these errors were encountered: