See the IATI Sphinx Theme Documentation for usage instructions.
If you are creating or editing an IATI documentation site, see the IATI Docs Base for relevant information.
pip install -r requirements_dev.txt
python -m piptools compile --extra=dev -o requirements_dev.txt pyproject.toml
pip install -r requirements_dev.txt
black iati_sphinx_theme/ docs/
isort iati_sphinx_theme/ docs/
flake8 iati_sphinx_theme/ docs/
mypy iati_sphinx_theme/ docs/
-
In one terminal, build the CSS in watch mode
npm run build:watch -
In a separate terminal, install the Sphinx theme then start the docs development server:
pip install -e . sphinx-autobuild -a docs docs/_build/html --watch iati_sphinx_theme/
To run a local version of the theme with another project, e.g. my-docs, take the following steps:
-
Clone the
sphinx-themerepository, and checkout the branch or tag you want to use. -
Run the following command in the
sphinx-themedirectory, to build the CSS for the theme.npm run build -
Go to
my-docsdirectory, and install the Sphinx themepip install -e /path/to/sphinx-theme -
Set the
html_themeoption in yourconf.pyhtml_theme = "iati_sphinx_theme"
-
Start the docs development server:
pip install sphinx-autobuild sphinx-autobuild docs docs/_build/html
The Sphinx theme itself contains both built-in strings that cannot be changed and strings that can be configured by the user via conf.py. To translate these, see the sphinx-theme documentation
For instructions on translating an IATI documentation site that uses this theme, see the iati-docs-base.
To publish a new version, raise a PR to main, updating the version in pyproject.toml. Once merged, create a git tag and GitHub release for the new version, with naming vX.Y.Z. This will trigger the package to be published to PyPI.