Skip to content
Snippets Groups Projects
Development.rst 927 B
Newer Older
Development
===========

Structure
---------

The sources for functions and classes are in ``src/``.  Private functions (mostly C++ source files
which are to be compiled into ``*.mex``) are implemented in ``private/_some_function.*``.



Writing Documentation
---------------------

- Example for texinfo documentation:
  https://github.com/gnu-octave/octave/blob/default/scripts/geometry/inpolygon.m
- Extract documentation from file:
  ``[txt, form] = get_help_text_from_file(make_absolute_filename('pkg/inst/some_function.m'))``
- Generate HTML documentation from single file:

    .. code-block:: octave

       pkg uninstall caosdb
       pkg install caosdb.tar.gz
       pkg load caosdb
       html_help_text('some_function', './htdocs/some.html', 'octave-forge', pkgname="caosdb")
- Generate HTML documentation for a package:

    .. code-block:: octave

       generate_package_html('caosdb', 'htdocs', 'octave-forge')