Lo que he aprendido: documentación html en Matlab

Últimamente estoy escribiendo mucho código y quiero tenerlo bien documentado antes de que se me vaya de las manos. He descubierto que en Matlab se puede uno currelar una documentación en html bastante molona [1].

Lo primero que hay que hacer es un archivo info.xml y ponerlo en una carpeta que esté en el path de Matlab. Esto hará que Matlab ponga nuestro código en la ayuda. El contenido de este archivo será algo parecido a esto:

<productinfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="optional">
    <?xml-stylesheet type="text/xsl"href="optional"?>

    <matlabrelease>2015a</matlabrelease>
    <name>MatlabAbaqus</name>
    <type>matlab</type>
    <icon></icon>
    <help_location>html</help_location>

</productinfo>

Donde pone html hay poner el path relativo desde el archivo info.xml a la carpeta donde estará guardada la documentación en html. Yo he creado una carpeta Help dentro de la carpeta donde tengo el código y dentro de ella otra llamada html y así todo está perfecto y claro.

Después tenemos que crear el índice de contenido, para ello necesitamos un archivo helptoc.xml que meteremos en la carpeta html. Su contenido será algo parecido a esto con vuestras funciones y ejemplo, claro:

<?xml version='1.0' encoding="utf-8"?>
<toc version="2.0">

    <tocitem target="MatlabAbaqus.html">MatlabAbaqus
        <tocitem target="funclist.html">Functions 
            <tocitem target="secondfx.html">ScriptProfiler</tocitem>
            <tocitem target="thirdfx.html">leerCPRESS</tocitem>
            <tocitem target="firstfx.html">coordenadasInp</tocitem>
            <tocitem target="secondfx.html">nodesContact</tocitem>
            <tocitem target="thirdfx.html">nodoMasCercano</tocitem>
            <tocitem target="secondfx.html">import_matrix</tocitem>
            <tocitem target="thirdfx.html">import_matrix3D</tocitem>
        </tocitem>
        <tocitem target="beam.html"> Example: beam on disk </tocitem>
    </tocitem>

</toc>

Ahora tenemos que crear archivos html para cada función y tal. Para eso podemos usar la función publish que exporta archivos .m a htlm, doc, etc. Si no le damos ninguna opción exporta en html [2]. Matlab permite usar Markup para formatear los archivos [3] – que es muy similar a Markdown.

Matlab es muy hábil y cuando le damos hacemos publish crea una carpeta llamada html– si no hay una ya – y mete ahí los archivos que genera, así que no hace falta ni que creemos nosotros la carpeta si somos vagos.

Lo ultimo ya, si queremos ir de pros es hacer que se pueda buscar en nuestra superdocumentación. Eso se haria con:

builddocsearchdb('path')

Diciéndole a Matlab dónde tiene que apuntar.

Nos quedaría algo así:

matlabHelp

Mi caso concreto está en GitHub por si queréis echarle una ojeada. Espero que os haya sido tan útil como a mi 🙂

Anuncios

3 pensamientos en “Lo que he aprendido: documentación html en Matlab

    1. ondahostil Autor de la entrada

      Thank you very much! I don’t write in English basically because I use the blog as a tool to empty my mind. And my mind works in a very informal and full of slang Spanish 🙂

      Responder
  1. Pingback: Compilación: Matlab | Onda Hostil

¡Opina sin miedo! (Puedes usar Markdown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s