How to document a matlab project with multiple classes using sphinxcontrib-matlabdomain?

I tried to document a large Matlab project using Sphinx and the sphinxcontrib-matlabdomain package. It works great for a single folder, in which all .m files are stored. However, my project contains several classes stored in separate folders, such as:

   project
    |-- matfiles
    |    |-- @class1
    |    |    |-- class1.m
    |    |    |-- method1.m
    |    |    |-- method2.m
    |    |    +-- method1.m
    |    |-- @class2
    |    |    |-- class2.m
    |    |    |-- methodA.m
    |    |    |-- methodB.m
    |    |    +-- methodC.m
    |    +-- function
    |         |-- fun1.m
    |         |-- fun2.m
    |         +-- fun3.m
    +-- doc
         |-- conf.py
         +-- index.rst

I add the following lines to conf.py:

matlab_src_dir = os.path.abspath('..')
extensions = [
    'sphinx.ext.autodoc',
    'sphinxcontrib.matlab',
]
primary_domain = 'mat'

And I added the following lines to index.rst:

.. module:: matfiles

.. automethod:: class1.method1

I got the following error:

Exception occurred:
  File "/Library/Python/2.7/site-packages/sphinxcontrib/mat_documenters.py", line 788, in import_object
    if self.object.attrs.get('Static'):
AttributeError: 'NoneType' object has no attribute 'attrs'
The full traceback has been saved in /var/folders/70/g0lr37wn60gbbymnsks_t5vm0000gn/T/sphinx-err-uD8qpe.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!
| reading sources... [100%] index

So my question is, is there a way to document Matlab class projects with multiple classes, where the class methods are stored in a folder named @class?

+4
source share
1

, sphinxcontrib-matlabdomain-0.2.7, , @classfolders. , .

0

All Articles