docs: use 'exec' directive to generate content in examples.rst #739
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is based on #730, so I'll keep it as a draft until that one is merged.
Currently, we build the documentation by executing
tools/build_docs.py
. That importsdocs_utils.py
, where functionexamples
is used for generatingdocs/examples.rst
. All of that is done before executing Sphinx.In this PR, an alternative solution is proposed. A generic
exec
directive is added to Sphinx, which allows executing arbitrary Python code somewhere "inside" an.rst
source. Hence,docs/examples.rst
is created, and theexec
directive is used for executingexamples()
in there. In order to do so, theexamples()
function was changed for usingprint
instead of writing to a file.By the way, function
get_theme
is moved totools/build_docs.py
andtools/build_utils.py
is removed.