u-boot/doc/build/documentation.rst
Heinrich Schuchardt dc3e41ec59 doc: mention usage of .readthedocs.yml
Mention that HTML pages are published at https://u-boot.readthedocs.io/
and that the file .readthedocs.yml controls the build process.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2023-04-08 07:44:33 +02:00

93 lines
2.6 KiB
ReStructuredText

.. SPDX-License-Identifier: GPL-2.0+:
Building documentation
======================
The U-Boot documentation is based on the Sphinx documentation generator.
HTML documentation
------------------
The *htmldocs* target is used to build the HTML documentation. It uses the
`Read the Docs Sphinx theme <https://sphinx-rtd-theme.readthedocs.io/en/stable/>`_.
.. code-block:: bash
# Create Python environment 'myenv'
python3 -m venv myenv
# Activate the Python environment
. myenv/bin/activate
# Install build requirements
python3 -m pip install -r doc/sphinx/requirements.txt
# Build the documentation
make htmldocs
# Deactivate the Python environment
deactivate
# Display the documentation in a graphical web browser
x-www-browser doc/output/index.html
The HTML documentation is published at https://u-boot.readthedocs.io. The build
process for that site is controlled by the file *.readthedocs.yml*.
Infodoc documentation
---------------------
The *infodocs* target builds both a texinfo and an info file:
.. code-block:: bash
# Create Python environment 'myenv'
python3 -m venv myenv
# Activate the Python environment
. myenv/bin/activate
# Install build requirements
python3 -m pip install -r doc/sphinx/requirements.txt
# Build the documentation
make infodocs
# Deactivate the Python environment
deactivate
# Display the documentation
info doc/output/texinfo/u-boot.info
PDF documentation
-----------------
The *pdfdocs* target is meant to be used to build PDF documenation.
As v2023.01 it fails with 'LaTeX Error: Too deeply nested'.
We can use texi2pdf instead:
.. code-block:: bash
# Create Python environment 'myenv'
python3 -m venv myenv
# Activate the Python environment
. myenv/bin/activate
# Install build requirements
python3 -m pip install -r doc/sphinx/requirements.txt
# Build the documentation
make texinfodocs
# Deactivate the Python environment
deactivate
# Convert to PDF
texi2pdf doc/output/texinfo/u-boot.texi
Texinfo documentation
---------------------
To build only the texinfo documentation the *texinfodocs* target is used:
.. code-block:: bash
# Create Python environment 'myenv'
python3 -m venv myenv
# Activate the Python environment
. myenv/bin/activate
# Install build requirements
python3 -m pip install -r doc/sphinx/requirements.txt
# Build the documentation
make texinfodocs
# Deactivate the Python environment
deactivate
The output is in file *doc/output/texinfo/u-boot.texi*.