Table of contents can't be hidden based on tags, so we just remove them.
Instead, add a note in the body of the standalone version.
Fixes: https://github.com/pybricks/support/issues/839
Previously, all renders were created and added manually when a newly
supported device was added to the documentation.
This commit revisits all diagrams by creating them using a single
LDRAW multi-file part model and LPUB3D building instructions file.
This makes perspective and resolution consistent across all images, and
we could update them all at once if needed.
It also removes the background from all images so they can be used
with different documentation themes.
This will help us review the pages as we add typing to the documentation. Then they will be hidden again.
This commit can be cherry-picked later on if we ever enable NXT and EV3 content again.
This was the only remaining section under "extras", so it is better to have it elsewhere. Since it only applies to the Pybricks package, put it there.
Also rename Pybricks Modules heading to Pybricks Package, since it behaves more like a package in contrast with the MicroPython modules that we now document as well.
Based on user feedback, we learned that the control attribute is used more frequently than anticipated. Therefore it makes sense to document it here, just like we do with instances of pybricks.common classes in hubs.
This makes it a bit easier to find and see how it is used, along with some of the existing examples.
The `only` directive can be used to include content selectively. It cannot be used to select a different TOC, which is why we resorted to separate doc builds before.
Now that we have dropped EV3 references from the docs, we can use a single build and just customize the content on the landing page with the only directive.
The docs can now be built with:
# Main docs:
make -C doc html SPHINXOPTS=-tmain
# IDE docs:
make -C doc html SPHINXOPTS=-tide
List all functions and classes explicitly so we can organize them by category in later commits.
Also split out exceptions and uerrno to dedicated page because the builtins page was getting very long and hard to navigate.
The doc/api is a legacy name, which is confusing in the current use, since all build targets are now APIs.
Today we have:
doc/common: Common configuration and settings between all targets.
doc/main: Main Pybricks documentation at docs.pybricks.com.
doc/ide: Documentation shipped with the Pybricks Code IDE.