Skip to main content

A sphinx theme for IATI documentation sites.

Project description

IATI Sphinx Theme

How do I use IATI Sphinx Theme?

Please see the IATI Sphinx Theme Documentation for usage instructions.

How do I contribute to IATI Sphinx Theme?

Install dependencies

pip install -r requirements_dev.txt

Update dependencies

python -m piptools compile --extra=dev -o requirements_dev.txt pyproject.toml
pip install -r requirements_dev.txt

Run linting

black iati_sphinx_theme/ docs/
isort iati_sphinx_theme/ docs/
flake8 iati_sphinx_theme/ docs/
mypy iati_sphinx_theme/ docs/

Documentation with live preview

  1. In one terminal, build the CSS in watch mode

    npm run build:watch
    
  2. 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/
    

Testing a local version of the theme against another project

To run a local version of the theme with another project, e.g. my-docs, take the following steps:

  1. Clone the sphinx-theme repository, and checkout the branch or tag you want to use.

  2. Run the following command in the sphinx-theme directory, to build the CSS for the theme.

    npm run build
    
  3. Go to my-docs directory, and install the Sphinx theme

    pip install -e /path/to/sphinx-theme
    
  4. Set the html_theme option in your conf.py

    html_theme = "iati_sphinx_theme"
    
  5. Start the docs development server:

    pip install sphinx-autobuild
    sphinx-autobuild docs docs/_build/html
    

Translation

Follow the steps below to translate the theme's built-in strings from the HTML templates in the iati_sphinx_theme directory. The message catalog name is sphinx.[pot|po|mo] and is found in the iati_sphinx_theme/locale directory. These are bundled with the published theme in order for consumers to have access to the translations.

A Makefile exists to make running the commands easier:

  1. Extract text into .pot files

    make extract
    
  2. Update existing .po files based on .pot files

    make update
    
  3. Optionally, initialise a .po file for a new language

    make init lang=es
    
  4. Add translations to the .po files

  5. Compile to .mo files (only applies to the theme's built-in strings, so that they can be bundled with the theme)

    make compile
    

Release process

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iati_sphinx_theme-2.0.0.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iati_sphinx_theme-2.0.0-py2.py3-none-any.whl (30.5 kB view details)

Uploaded Python 2Python 3

File details

Details for the file iati_sphinx_theme-2.0.0.tar.gz.

File metadata

  • Download URL: iati_sphinx_theme-2.0.0.tar.gz
  • Upload date:
  • Size: 26.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for iati_sphinx_theme-2.0.0.tar.gz
Algorithm Hash digest
SHA256 53e9addf99997fdd1e1194c3b505c05efca61f33f3e1f2330d84a396ac86c470
MD5 c18231b8e39a274442d757618559b92c
BLAKE2b-256 55b6cc3a479d3b29b7fbe47859338c0fb9327c437acfbd277ce35a7565d7c5e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for iati_sphinx_theme-2.0.0.tar.gz:

Publisher: publish.yml on IATI/sphinx-theme

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iati_sphinx_theme-2.0.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for iati_sphinx_theme-2.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6da29a956071498a01735ac7ddd68b4ad5884ce2a2af82c2f0b27a192fccd986
MD5 76d7c940d6197e769481afeb23e7bd7a
BLAKE2b-256 8d68149249b1db6fb88b2fa51500e260dfc5b42968a08db816a777c8f1ccde41

See more details on using hashes here.

Provenance

The following attestation bundles were made for iati_sphinx_theme-2.0.0-py2.py3-none-any.whl:

Publisher: publish.yml on IATI/sphinx-theme

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page