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.pyby 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 directivein markdown file - breathe is a tool to fetch
Doxygen XML outputand to write inreSTstyle 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?