Building Ceph Documentation
===========================
Ceph utilizes Python's Sphinx documentation tool. For details on
the Sphinx documentation tool, refer to `The Sphinx Documentation Tool `_.
To build the Ceph documentation set, you must:
1. Clone the Ceph repository
2. Install the required tools
3. Build the documents
Clone the Ceph Repository
-------------------------
To clone the Ceph repository, you must have ``git`` installed
on your local host. To install ``git``, execute:
``$ sudo apt-get install git``
You must also have a github account. If you do not have a
github account, go to `github `_ and register.
You must set up SSH keys with github to clone the Ceph
repository. If you do not have SSH keys for github, execute:
``$ ssh-keygen -d``
Get the key to add to your github account:
``$ cat .ssh/id_dsa.pub``
Copy the public key. Then, go to your your github account,
click on **Account Settings** (*i.e.*, the tools icon); then,
click **SSH Keys** on the left side navbar.
Click **Add SSH key** in the **SSH Keys** list, enter a name for
the key, paste the key you generated, and press the **Add key**
button.
To clone the Ceph repository, execute:
``$ git clone git@github:ceph/ceph.git``
You should have a full copy of the Ceph repository.
Install the Required Tools
--------------------------
If you do not have Sphinx and its dependencies installed,
a list of dependencies will appear in the output. Install
the dependencies on your system, and then execute the build.
To run Sphinx, at least the following are required:
- ``python-dev``
- ``python-pip``
- ``python-virtualenv``
- ``libxml2-dev``
- ``libxslt-dev``
- ``doxygen``
- ``ditaa``
- ``graphviz``
Execute ``apt-get install`` for each dependency that isn't
installed on your host.
``$ apt-get install python-dev python-pip python-virtualenv libxml2-dev libxslt-dev doxygen ditaa graphviz``
Build the Documents
-------------------
Once you have installed all the dependencies, execute the build:
``$ cd ceph``
``$ admin/build-doc``
Once you build the documentation set, you may navigate to the source directory to view it:
``$ cd build-doc/output``
There should be an ``html`` directory and a ``man`` directory containing documentation
in HTML and manpage formats respectively.