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.1.0.tar.gz (28.0 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.1.0-py2.py3-none-any.whl (31.9 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: iati_sphinx_theme-2.1.0.tar.gz
  • Upload date:
  • Size: 28.0 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.1.0.tar.gz
Algorithm Hash digest
SHA256 26b612fa4bb1d3cf55de64ca75755fe3faffaf0b89de9b08ca021f7d51a0d74c
MD5 331c5024d5fcde10dd1d5a3b3b4ba4e1
BLAKE2b-256 3006ce79e19692b62826cad1b66a30192bc52ff17ccf627316dfe144ed4e96b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for iati_sphinx_theme-2.1.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.1.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for iati_sphinx_theme-2.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4d1086f20f10b29b4572916603f349bb51ddb3555b000029ddcd5d2b69373e99
MD5 471ef728ac4a5489d653af5ee86f4a76
BLAKE2b-256 25a1016da76d81b3b549b5a93f86978d15e3f4513adec16183a75370ccd57de2

See more details on using hashes here.

Provenance

The following attestation bundles were made for iati_sphinx_theme-2.1.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