.. _metadocumentation: ================================================== Documentation Documentation AKA Meta-Documentation ================================================== How to build documentation -------------------------- Let's say you are writing documentation, and want to see the `sphinx `__ output before you push it. The documentation will be generated in the ``html`` directory. .. code-block:: bash cd PyTensor/ python ./doc/scripts/docgen.py If you don't want to generate the pdf, do the following: .. code-block:: bash cd PyTensor/ python ./doc/scripts/docgen.py --nopdf For more details: .. code-block:: bash $ python doc/scripts/docgen.py --help Usage: doc/scripts/docgen.py [OPTIONS] -o : output the html files in the specified dir --rst: only compile the doc (requires sphinx) --nopdf: do not produce a PDF file from the doc, only HTML --help: this help Use ReST for documentation -------------------------- * `ReST `__ is standardized. trac wiki-markup is not. This means that ReST can be cut-and-pasted between code, other docs, and TRAC. This is a huge win! * ReST is extensible: we can write our own roles and directives to automatically link to WIKI, for example. * ReST has figure and table directives, and can be converted (using a standard tool) to latex documents. * No text documentation has good support for math rendering, but ReST is closest: it has three renderer-specific solutions (render latex, use latex to build images for html, use itex2mml to generate MathML) How to link to class/function documentations -------------------------------------------- Link to the generated doc of a function this way:: :func:`perform` For example:: of the :func:`perform` function. Link to the generated doc of a class this way:: :class:`RopLop_checker` For example:: The class :class:`RopLop_checker`, give the functions However, if the link target is ambiguous, Sphinx will generate warning or errors. How to add TODO comments in Sphinx documentation ------------------------------------------------- To include a TODO comment in Sphinx documentation, use an indented block as follows:: .. TODO: This is a comment. .. You have to put .. at the beginning of every line :( .. These lines should all be indented. It will not appear in the output generated. .. TODO: Check it out, this won't appear. .. Nor will this.