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 4. Demo the documents (Optional) .. highlight:: bash 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 To clone the Ceph repository, execute:: git clone git://github.com/ceph/ceph You should have a full copy of the Ceph repository. Install the Required Tools -------------------------- To build the Ceph documentation, some dependencies are required. To know what packages are needed, you can launch this command:: cd ceph admin/build-doc If dependencies are missing, the command above will fail with a message that suggests you a command to install all missing dependencies. Build the Documents ------------------- Once you have installed all the dependencies, execute the build (the same command as above):: 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. ``admin/build-doc`` takes a long time to prepare the environment and build the document. But you can just rebuild the document on changes using:: admin/build-doc livehtml This feature uses ``sphinx-autobuild`` under the hood. You can also pass options to it. For instance, to open the browser after building the documentation:: admin/build-doc livehtml -- --open-browser Please see `sphinx-autobuild `_ for more details. Demo the Documents ------------------- Once you build the documentation, as described above, you can demo the rendered documents by running ``serve-doc``:: cd ceph admin/serve-doc This will serve the ``build-doc/output/html`` directory over port 8080 via Python's ``SimpleHTTPServer`` module.