I am preparing a project documentation using Sphinx
where to fetch Doxygen XML output
I have used breathe. I am using the breathe directive in .rst
files.
sample.cpp
namespace X{
class A{
public:
int x;
};
}
in my rst
file I just added
.. doxygenclass:: X::A
:members:
:protected-members:
:private-members:
After building the project I can see detailed documentation of class A
. For some reason, I have the intention to use the markdown
file instead of .rst
.
I have gone through several posts but could not find any fruitful answer. The best one I have got this StackOverflow answer.
- I have installed myst parser
- Modified
conf.py
by addingextensions = ["myst_parser",]
Written a .md
file as like as follows:
# sample_md
```{doxygenclass:: X::A}
:members:
:protected-members:
:private-members:
```
But failed while the error message is
WARNING: unknown directive or role name: doxygenclass::A
/net/users/Linux_Home/user_name/project_name/doc/md_files/sample_mark.md:5: WARNING: Unknown directive type "doxygenclass::A".
Also tried
# sample_md
```{doxygenclass}
A
:members:
:protected-members:
:private-members:
```
Also failed and the error message
Exception occurred:
File "/net/users/Linux_Home/user_name/.local/lib/python3.8/site-packages/myst_parser/docutils_renderer.py", line 973, in run_directive
if issubclass(directive_class, Include):
TypeError: issubclass() arg 1 must be a class
The full traceback has been saved in /tmp/sphinx-err-guubfd6h.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
make[2]: *** [doc/CMakeFiles/Sphinx.dir/build.make:63: doc/sphinx/index.html] Error 2
make[1]: *** [CMakeFiles/Makefile2:215: doc/CMakeFiles/Sphinx.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
No idea what to do at this stage.
I have used following snipet in .md
file
```{cpp:class} X::A
```
which has shown rendered class but only the name with a clickable link where no documentation of Doxygen XML is present. And I need that info.
Some of my observances are:
- myST is only for collecting
Sphinx directive
in markdown file - breathe is a tool to fetch
Doxygen XML output
and to write inreST
style usingSphinx
Now my desire is to know, is it possible to add breathe Doxygen directive
in the .md
file? If Yes, where am I am making the syntax wrong?