A Sphinx extension for generating Matlab HTML docs.

# sphinx-matlabdoc-builder

A Sphinx extension for generating Matlab HTML docs. This extension builds the Sphinx project into a set of HTML documents and additionally generates the TOC helptoc.xml file required for the Matlab toolbox documentation

For generating documentation for Matlab code, check out the matlabdomain Sphinx extension.

## Installation

The package can be installed from Pip

pip install sphinx-matlabdoc-builder


Alternatively you can download the sphinx_matlabdoc_builder package into your sphinx directory and add the local directory to the sphinx path.

## Requirements

This package is an extension to Sphinx. Requires Python 3.

## Usage

To use sphinx-matlabdoc-builder, you must first install the package and add the extension to your sphinx conf.py file. For example, add the sphinx_matlabdoc_builder extension to the end of your extension list:

extensions = [
'sphinx.ext.mathjax',
'sphinx.ext.githubpages',
'sphinx_matlabdoc_builder',
]


Then compile the source with

make matlabdoc


or if using sphinx-build

sphinx-build -M matlabdoc ./ build


this should generate the normal HTML output and add the helptoc.xml file to the output directory.

To use the helptoc.xml file in your toolbox, create a new matlab package and click add documentation and specify the documentation output directory. If you have an existing info.xml file, simply change the documentation directory to point to the output directory containing the helptoc.xml file. For example, on Matlab 2018a, a info.xml file might look something like:

<?xml version="1.0" encoding="utf-8"?>
<productinfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="optional"><?xml-stylesheet type="text/xsl"href="optional"?>
<matlabrelease>2018a</matlabrelease>
<name>otslm</name>
<type>toolbox</type>
<icon/>
<help_location>docs\_build\matlabdoc</help_location>
<help_contents_icon/>
</productinfo>


where help_location specifies the path to the Sphinx output directory.