Start here for your first website build. It is helpful to clear out any issues with a simple website build with one version before you try to tackle a more complicated website build with multiple versions.
The following describes how the website and docs are generated. You have two entry points that do the same thing:
Sphinx is the primary engine that controls the site template, calling external docs generators for certain APIs, and normalizing the content for the website. The output is a full website that is static html. You can find it in the /docs/_build/html folder.
Figure 1. Diagram of the website build flow process using Sphinx and Sphinx extensions
Walkthrough of the Build Steps
git clone --recursive
https://github.com/<your-fork>/incubator-mxnet
git clone --recursive https://github.com/apache/incubator-mxnet
cd incubator-mxnet/docs/build_version_doc/ && ./setup_docs_ubuntu.sh
For a development fork and branch, the "document_sets_default" section will apply. Turn on the APIs you want to run. The Python API runs no matter what. Turn all the others off. For your final test it is a good idea to turn everything back on. For example, this is a configuration to run Python plus the Scala docs:
[document_sets_default]
clojure_docs = 0
doxygen_docs = 0
r_docs = 0
scala_docs = 1
Find the public IP for your instance on your EC2 console and copy it. If you didn't open it up for HTTP yet, now's the time. You can view the site in your browser by the visiting the IP you copied.
At this point you may not have the required dependencies to generate R docs. On Ubuntu these would be:
sudo apt-get install \
texinfo \
texlive \
texlive-fonts-extra
You will also need to enable R docs in settings.ini. For your own dev branch you would change the default section like so:
[document_sets_default]
clojure_docs = 0
doxygen_docs = 0
r_docs = 1
scala_docs = 0
The output is a .pdf file that can be found at docs/api/r/mxnet-r-reference-manual.pdf.
Assuming you have the setup defined previously, and say you're testing the settings file and you want to make sure it is running the right API docs for that version:
Sometimes the submodules get updated in master and you have to specifically update them yourself. If you see a build error that crashes on mshadow or another submodule's build you likely need to run the following command in your MXNet repo:
git submodule update --init --recursive
Another more rare occurrence is someone did something fairly major and you get a build error in MXNet like "no rule to make target...". Try running the following in the MXNet repo root:
make clean
For other issues, please open a GitHub issue, or try one of the other communication methods to seek help.
Production website build pipeline - shows you how to build the full site with the "Versions" dropdown.