With EV3 dropped from the 3.X documentation, the main docs are now nearly identical to the IDE docs, save for some layout changes.
Having just one set of docs is easier to maintain. This drops the IDE doc target.
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
This can be traced back to 0013a74d72 and 92e3735d63.
It was used to work around things like
sound.beeps(number)
Description
being incorrectly displayed as
classmethod sound.beeps(number)
Description
But the current version of sphinx appears to display this correctly even without the hack. We want to reduce the number of hacks because they tend to break updates (https://github.com/pybricks/pybricks-api/issues/69#issuecomment-879822417).
Though it is technically its own type in MicroPython, this change follows the CPython documentation. Essentially this just drops the class prefix and leaves everything else unchanged.
This makes more sense when organizing this module by classes and functions. It's also a bit more logical since the equivalent example we provoide is a function definition, not a class definition.
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.
Just list what each level does instead of a complicated if-then bullet list. It's still shorter anyway.
Also add a note that this only applies to REPL code in case of Pybricks.
This merges the useful information from two different places:
- The original docstring for const.
- Writing MicroPython code for constrained devices.
Also reduce type to just int, because only ints are supported.
TConst does not exist, so adding it makes it a bit harder to read than needed. The const() "function" will take int or float, and the return value can be used as such, even if it is optimized out. This is described in the docstring, so we can leave out the additional type.
Also adds autofunctions in place of one auto module so we can move things around as needed. Also fix cross links with usys to get the build to pass before we update that module.
When this file is present, the settings in the online dashboard will be ignored.
This lets us explicitly set the Python version, in this case to 3.8 to match pyproject.toml.
Fixes https://github.com/pybricks/pybricks-api/issues/68.
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.
There is no ubuiltins module, so we shouldn't mention it.
Also reduce size of other module titles so they fit on one line in the
menu. This makes it easier to read and get an overview.