For local development you need a system with Node v12.x, Yarn, Python3, Git and make. It is strongly recommended to use a Python virtual environment (venv). The build process derives the version from repository data, so it’s necessary to clone the repository and not just download a single snapshot.
Start with make:
# show all available tasks make
Install requirements and fulfill Python and Node demands (repeatable):
When doing frontend development compile your changes at any time:
Build and install the package:
Don’t forget to update the docs. Render the documentation and show in browser:
Without opening the browser:
non_interactive=1 make docs
Check the Python code. The CI workflow requires lint-minimal to succeed:
# for local use make lint # used in the workflow make lint-minimal
Run Python unit tests:
Rebuild and install from Python wheel package:
make install # then verify the module can be imported and used make test-import
To find out whether the created wheel package passes the twine check test and can be uploaded to PyPi run:
make build test
More commands are available by means of grunt. Run:
and check the gruntfile.js.
Theme stress test¶
There is a demo manual t3SphinxThemeRtdDemoDocs under construction. It serves as a “stress test” for this sphinx_typo3_theme and tries to use as many reStructuredText examples as possible and covered by the theme. Documentation writers may want to have a look at those pages to understand what reST markup can be used and what the visual effect will be. Theme contributors should use the demo manual for testing and visually check the rendering.
Use yarn for package management.
# ATTENTION: Select only those with reasonable version numbers. # Be very careful if the MAJOR number would change yarn upgrade-interactive --latest