How to Contribute
------------------
Install Documentation
~~~~~~~~~~~~~~~~~~~~~
.. code-block:: bash
# download cWB Documentation from GIT Repository
# The suggested local directory where to download the repository is $HOME/git/cWB
# Download the git master version (developing version):
cd $HOME/git/cWB
git clone git@git.ligo.org:cWB/documentation.git
Documentation uses `doxygen `__ to generate reference guide
for `cWB library `__ and `cWB config `__.
The instructions to install the library and config are `here `__.
Install Auxiliary Libraries
~~~~~~~~~~~~~~~~~~~~~~~~~~~
The CWB documentation is written in `reStructuredText Format `__
and uses `Sphinx `__ and
`Read the Docs Theme `__
In CIT cluster it is possible to use the pre-installed libraries:
.. code-block:: bash
# setting (for bash shell)
source ~waveburst/virtualenv/pycwb/bin/activate
# setting (for tcsh shell)
source ~waveburst/virtualenv/pycwb/bin/activate.csh
To install the auxiliary libraries in the local user account do:
.. code-block:: bash
# installation of packages used for cwb documentation
# packages are installed into pycwb virtual enviroment ~/virtualenv/pycwb
# create pycwb virtual enviroment ~/virtualenv/pycwb
python3 -m venv ~/virtualenv/pycwb
# activate pycwb virtual enviroment
source ~/virtualenv/pycwb/bin/activate
# install packages into ~/virtualenv/pycwb
pip3 install -r requirements.txt
# the requirements.txt file is in the documentation git repository:
sphinx==1.8.1
sphinxcontrib-programoutput
matplotlib
sphinx_rtd_theme
sphinx-git
sphinxcontrib-contentui
sphinxcontrib-doxylink==1.6
# to update packages in ~/virtualenv/pycwb
pip3 install -r requirements.txt -U
# setting (for bash shell)
source ~/virtualenv/pycwb/bin/activate
# setting (for tcsh shell)
source ~/virtualenv/pycwb/bin/activate.csh
Generate Documentation
~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: bash
# generate cWB config and library reference guides with Doxygen
make doxygen
# generate cWB documentation
make html
# generate cWB command man
make man
# include cWB command in the MANPATH environmental variable
- setting (for bash shell)
export MANPATH=~/git/cWB/documentation/_build:$MANPATH
- setting (for tcsh shell)
setenv MANPATH "~/git/cWB/documentation/_build:$MANPATH"
# to get the online command help do (Ex):
man cwb_inet
Public Documentation
~~~~~~~~~~~~~~~~~~~~
To public the documentattion on web do:
.. code-block:: bash
# create symbolic link in ~/public_html directory:
mkdir ~/public_html/cwb
cd ~/public_html/cwb
ln -s ~/git/cWB/documentation/_build/html documentation
# at CIT it is available on web at the following link:
https://ldas-jobs.ligo.caltech.edu/~user/cwb/documentation
Ex: `https://ldas-jobs.ligo.caltech.edu/~waveburst/doc/cwb/xman`
Useful Links
~~~~~~~~~~~~
Here is a list of usefull references to learn how to start with sphinx documentation.
- **Main**
- `Sphinx `__
- **Themes**
- `Sphinx Themes `__
- `Read the Docs Theme `__
- `TYPO3 Documentation `__
- **Extensions**
- `sphinx-git `__
- `Contentui `__
- `doxylink `__
- **Guides**
- `Python Documentation Generator `__
- `reStructuredText Primer `__
- `Documenting Your Project Using Sphinx `__
- `Sphinx and RST syntax guide `__
- `Online Sphinx editor `__
- `reStructuredText tool support `__
- `reStructuredText Format `__
- `reStructuredText Directives `__
- `awesome-sphinxdoc `__
- `The Python Packaging Authority `__
- **Examples**
- `PyCBC `__
- `GPAW `__
- `Salish Sea MEOPAR `__
- `MkDocs `__