3. Usage — Oncilla 0.1.0 documentation

# 3. Usage

In order to build the project documentation, Oncilla needs some prerequisites.

## 3.1. Prerequisites

### 3.1.1. Environment

You will need to have the following environment variables defined:

- ONCILLA_PROJECT_DIRECTORY: Defines the project directory you want to build the manual and Sphinx documentation.
- ONCILLA_PROJECT_NAME: Defines the name you want to use across the manual and Sphinx documentation files.
- ONCILLA_PROJECT_PACKAGES: Defines the packages you want to build the Sphinx documentation.
- ONCILLA_PROJECT_SANITIZER: Defines the optional Sphinx documentation sanitizing Python module.
- ONCILLA_PROJECT_EXCLUDED_MODULES: Defines the optional excluded Python modules from Sphinx documentation.
- ONCILLA_PROJECT_MANUAL_CSS_FILE: Defines the optional css stylesheet file used for the manual.

Example:

    export ONCILLA_PROJECT_DIRECTORY="/Users/kelsolaar/Documents/Development/sIBL_GUI"
    export ONCILLA_PROJECT_NAME="sIBL_GUI"
    export ONCILLA_PROJECT_PACKAGES="oncilla foundations manager umbra sibl_gui"
    export ONCILLA_PROJECT_SANITIZER="/Users/kelsolaar/Documents/Development/sIBL_GUI/utilities/sanitizer.py"
    export ONCILLA_PROJECT_EXCLUDED_MODULES="pyclbr tests 001_dummy 001_migrate_3-x-x_to_4-0-0 002_migrate_4-x-x_to_4-0-2 003_migrate_4-x-x_to_4-0-3 004_migrate_4-x-x_to_4-0-7 defaultScript"

### 3.1.2. Paths

Oncilla documentation is built with itself and is a good reference on how to structure your project documentation directories.

Assuming $PROJECT_NAME is the project name and $PROJECT_DIRECTORY the project root directory, the following paths need to be defined:

- $PROJECT_DIRECTORY/docs/help/$PROJECT_NAME_Manual.rst: Source manual reStructuredText file.
- $PROJECT_DIRECTORY/docs/sphinx: Standard Sphinx documentation root directory containing the Makefile and source/conf.py files.

## 3.2. Slicing

The Sphinx documentation pages are generated by slicing the source manual reStructuredText file using specific tags prepended by a dot ( . ):

    E.g.: .. .mySliceTag

For example, https://github.com/KelSolaar/Oncilla/blob/master/docs/help/Oncilla_Manual.rst file defines various tags like .. .tocTree, .. .introduction, .. .installation, etc..., and as a result the tocTree.rst, introduction.rst, installation.rst pages will be created and included into the Sphinx documentation.

## 3.3. Execution

Once the prerequisites have been defined, you can launch Oncilla using this shell command:

    Oncilla