This commit adds support for PlantUML to the Documentation build
process. UML diagrams can be written in PlantUML syntax and then
rendered during the build process. Version control no longer needs to
track these UML diagrams as images, and we can modify them easily.
Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
Rewrite parts of the two ELF guides to use scripts included in the
export archive and modernize some deprecated tools and Bash idioms.
Also add the new sphinx_collapse extension to the docs build config.
Signed-off-by: Niccolò Maggioni <nicco.maggioni+nuttx@gmail.com>
Add `nuttx_versions` back into the `html_context` variable after it was
re-defined in #16440 to include more options. This fixes the failing
Pphinx autobuild.
Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
Introduces `sphinx-tags` to the documentation system, allowing
individual pages to be tagged for better searching. The examples in this
commit introduce the `chip:*` tag for indicating the chip a board uses,
as well as the `experimental` tag for indicating experimental boards and
features. Other tags indicate supported peripherals for boards, such as
`wifi` and `ethernet`.
Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
sphinx recommends myst-parser for markdown conversion:
https://www.sphinx-doc.org/en/master/usage/markdown.html
m2r2 is not supported for Python versions >= 3.12 so
we can't build Documentation for example on latest Arch Linux
by the way myst-parser detected a bad link to SECURITY.md that is now fixed
ignore known warnings:
/home/raiden00/git/RTOS/nuttx/nuttx/Documentation/reference/os/netdev.rst:61: WARNING: Duplicate C declaration, also defined at reference/os/netdev:39.
Declaration is '.. c:struct:: net_driver_s'.
/home/raiden00/git/RTOS/nuttx/nuttx/Documentation/reference/user/07_signals.rst:180: WARNING: Duplicate C declaration, also defined at reference/user/structures:112.
Declaration is '.. c:struct:: sigaction'.
This implements the changes required to genreate the pdf version
of the documentation. The pdf will be generated as a build artifact
attached to the build. This is the first patch to enable this
a follow on patch to the website repo will publish the pdf to the
NuttX website.