Analog Devices Inc. central repository to host tooling for automated documentation builds. It includes Sphinx extensions, themes, and tools for multiple repositories in the organization.
All tools, directives and roles are documented in this repository documentation.
Guarantee to work with Python newer than 3.8 and distros released on or after 20H1 (e.g. Ubuntu 20.04 LTS).
Ensure pip is newer than 23.0 [1]:
pip install pip --upgrade
Install the documentation tools, which will fetch this repository release:
(cd docs ; pip install -r requirements.txt)
Build the documentation with Sphinx:
(cd docs ; make html)
The generated documentation will be available at docs/_build/html
and it
provides information about the adoc
command line tool and general documentation
guidelines.
In summary, the author-mode
allows to live reload the documentation when editing
the docs, and aggregate
to generate an aggregated documentation of the multiple
repositories.
[1] There is a known bug with pip shipped with Ubuntu 22.04
Installing packages at user level through pip is not always recommended, instead,
consider using a Python virtual environment (python3-venv
on ubuntu 22.04).
To create and activate the environment, do before the previous instructions:
python3 -m venv ./venv
source ./venv/bin/activate
Use deactivate
to exit the virtual environment.
For next builds, just activate the virtual environment:
source ./venv/bin/activate
Development mode allows to edit the source code and apply the changes without
reinstalling.
Also extends Author Mode to watch changes on the webpage source code
(use --dev
/-r
option to enable this).
If you care about the web scripts (js modules
) and style sheets (sass
),
install npm
first, if not, just skip this section.
NOTE: If the
npm
provided by your package manager is too old and updating withnpm install npm -g
fails, consider installing with NodeSource.
At the repository root, install the npm
dependencies locally:
npm install rollup \
@rollup/plugin-terser \
rollup-plugin-scss \
sass \
--save-dev
Fetch third-party fonts:
./ci/fetch-fonts.sh
Finally, do a symbolic install of this repo:
pip install -e . --upgrade
To remove, either release or development, do:
pip uninstall adi-doctools