3.3 KiB
Building the manual with Sphinx
This page explains how to build a local copy of the Pandemonium manual using the Sphinx docs engine. This allows you to have local HTML files and build the documentation as a PDF, EPUB, or LaTeX file, for example.
To get started, you need to:
- Clone the
pandemonium-docs repository ( https://github.com/Relintai/pandemonium_engine-docs/ )
. - Install
Sphinx ( https://www.sphinx-doc.org/ )
- To build the docs as HTML files, install the
readthedocs.org theme ( https://github.com/snide/sphinx_rtd_theme )
. - Install the Sphinx extensions defined in the
pandemonium-docs repository ( https://github.com/Relintai/pandemonium_engine-docs/ )
requirements.txt
file.
We recommend using pip ( https://pip.pypa.io )
, Python’s package manager to
install all these tools. It comes pre-installed with Python ( https://www.python.org/ )
. Ensure that you install and use Python 3. Here are
the commands to clone the repository and then install all requirements.
Note:
You may need to write python3 -m pip
(Unix) or py -m pip
(Windows) instead of pip3
.
If both approaches fail, check that you have pip3 installed ( https://pip.pypa.io/en/stable/installation/ )
.
git clone https://github.com/Relintai/pandemonium_engine-docs.git
pip3 install -r requirements.txt
With the programs installed, you can build the HTML documentation from the root folder of this repository with the following command:
# On Linux and macOS
make html
# On Windows, you need to execute the `make.bat` file instead.
make.bat html
If you run into errors, you may try the following command:
make SPHINXBUILD=~/.local/bin/sphinx-build html
Building the documentation requires at least 8 GB of RAM to run without disk swapping, which slows it down. If you have at least 16 GB of RAM, you can speed up compilation by running:
# On Linux/macOS
make html SPHINXOPTS=-j2
# On Windows
set SPHINXOPTS=-j2 && make html
The compilation will take some time as the classes/
folder contains hundreds
of files.
You can then browse the documentation by opening build/html/index.html
in
your web browser.
In case you of a MemoryError
or EOFError
, you can remove the
classes/
folder and run make
again. This will drop the class references
from the final HTML documentation but will keep the rest intact.
Note:
If you delete the classes/
folder, do not use git add .
when
working on a pull request or the whole classes/
folder will be
removed when you commit. See #3157 ( https://github.com/Relintai/pandemonium_engine-docs/issues/3157 )
for more
detail.
Alternatively, you can build the documentation by running the sphinx-build program manually:
.. code:: sh
sphinx-build -b html ./ _build
You can also specify a list of files to build, which can greatly speed up compilation:
.. code:: sh
sphinx-build -b html ./ _build classes/class_node.rst classes/class_resource.rst
Building with Sphinx and virtualenv
If you want your Sphinx installation scoped to the project, you can install sphinx-build using virtualenv. To do so, run this command from this repository's root folder:
.. code:: sh
virtualenv --system-site-packages env/
. env/bin/activate
pip3 install -r requirements.txt
Then, run make html
as shown above.