summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rondeau2012-05-20 13:59:35 -0400
committerTom Rondeau2012-05-20 13:59:35 -0400
commit91c3d95daa974fbbab11ac26a3a30c11ca35a5cd (patch)
treeb74a3c9c785074c4b123944a6033ba4fe8c3ac02
parent6977392abb2e5ccb54c4f23c271ee84d40fb5c72 (diff)
downloadgnuradio-91c3d95daa974fbbab11ac26a3a30c11ca35a5cd.tar.gz
gnuradio-91c3d95daa974fbbab11ac26a3a30c11ca35a5cd.tar.bz2
gnuradio-91c3d95daa974fbbab11ac26a3a30c11ca35a5cd.zip
sphinx: Added a README for explaining the documentation process.
-rw-r--r--docs/sphinx/README38
1 files changed, 38 insertions, 0 deletions
diff --git a/docs/sphinx/README b/docs/sphinx/README
new file mode 100644
index 000000000..31fd47fe2
--- /dev/null
+++ b/docs/sphinx/README
@@ -0,0 +1,38 @@
+INTRODUCTION
+The Sphinx documentation system uses the fully installed Python tree
+to build a set of documents (generally in HTML). In GNU Radio, the
+documentation system is done through Doxygen in the public header
+(/include/foo.h) files. Doxygen first builds its documentation files,
+then the swig_docs program uses Doxygen's XML output and smashed the
+documentation from each header file into the SWIG'd Python
+block. Basically, using a single documentation markup, Doxygen, we
+expose the documentation strings in both the Doxygen-built manual and
+within the Python blocks themselves.
+
+Sphinx takes this process one step farther by reading the docstrings
+of all Python blocks and creating its own manual. This has two
+benefits. First, the Sphinx documentation looks nice and is formatted
+in such a way that Python users of GNU Radio can easy see the module
+structure and hierarchy. It also allows not only takes the Doxygen
+documentation from C++, but it also allows us to take any Python files
+and include their documentation.
+
+The end result is two manuals: one for Python and one for C++ users
+without having to duplicate comments, markup, or documentation.
+
+
+BUILDING THE SPHINX MANUAL
+Building the Sphinx docs takes some manual intervention as it
+requires GNU Radio to already be installed. So first follow the steps
+to build and install GNU Radio.
+
+In the build directory, a helper file is created called
+run_sphinx_build.sh. This is a Linux shell script that runs the
+sphinx-build command with all of the normal settings and important
+directories preloaded. For non Linux systems, it should be easy to
+pull out the executable and options to run it by hand.
+
+The run_sphinx_build.sh outputs the manual into
+$builddir/docs/sphinx/sphinx_out. Open up the index.html file in a
+browser to view it.
+