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-3.0.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-3.0.0-py2.py3-none-any.whl (31.9 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: iati_sphinx_theme-3.0.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-3.0.0.tar.gz
Algorithm Hash digest
SHA256 8fa03468cdb13b2696dcdeb59712c8058e22222dc933361df5f27f787cfb4bfe
MD5 23d0bdcecdc4c7a695dfbcac5187862d
BLAKE2b-256 f98449d339eedcc27e69a98fde68088a226dcb287d206ce5038d14cc7bed7e25

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iati_sphinx_theme-3.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e26ee0293b7fdd7b0292757bf1a45c93889212b7752843bc45b7d89c802e9288
MD5 4c958d4228ea25653b3a2662b88591eb
BLAKE2b-256 db42828870b6e2c078b52349c87bd3b264dd4d1db82ac21aafd95bc2658163c8

See more details on using hashes here.

Provenance

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