Is your enhancement proposal related to a problem? Please describe.
Since Zephyr PR 105991, the Zephyr upstream documentation has been using the Sphinx extension sphinxcontrib-mermaid. Additionally, the new CMake option NO_EXTERNAL_DEPS allows associated CSS/JS artifacts to be stored locally via the Sphinx HTML static path and included in the final documentation. This generally reduces the documentation dependency on third-party providers and significantly ensures readability well into the future.
Unfortunately, this new Sphinx extension still has an issue with resolving local CSS/JS artifacts in the HTML static path, which was finally resolved there with PR 237. As soon as this change is accompanied by a new release on PyPi, the Bridle documentation workflow should be adapted and extended accordingly.
Describe the solution you'd like
New code fragments:
pip3 install --upgrade nodeenv
nodeenv --python-virtualenv --prebuilt --node lts --with-npm
npm install --prefix zephyr/doc
for pkg in mermaid d3; do
mkdir -p bridle/doc/_static/js/${pkg}
cp -av zephyr/doc/node_modules/${pkg}/dist/. bridle/doc/_static/js/${pkg}/
done
Describe alternatives you've considered
None.
Additional context
None.
Is your enhancement proposal related to a problem? Please describe.
Since Zephyr PR 105991, the Zephyr upstream documentation has been using the Sphinx extension
sphinxcontrib-mermaid. Additionally, the new CMake optionNO_EXTERNAL_DEPSallows associated CSS/JS artifacts to be stored locally via the Sphinx HTML static path and included in the final documentation. This generally reduces the documentation dependency on third-party providers and significantly ensures readability well into the future.Unfortunately, this new Sphinx extension still has an issue with resolving local CSS/JS artifacts in the HTML static path, which was finally resolved there with PR 237. As soon as this change is accompanied by a new release on PyPi, the Bridle documentation workflow should be adapted and extended accordingly.
Describe the solution you'd like
New code fragments:
Describe alternatives you've considered
None.
Additional context
None.