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-1.10.1.tar.gz (26.5 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-1.10.1-py2.py3-none-any.whl (30.6 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: iati_sphinx_theme-1.10.1.tar.gz
  • Upload date:
  • Size: 26.5 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-1.10.1.tar.gz
Algorithm Hash digest
SHA256 7cfc373d21a7235aaba4146cee2402ee1410db82dbfe2434d1601441b133c967
MD5 94b04b86ec5347ebf5a7c7f8d4e4e5cc
BLAKE2b-256 ddb4ef5aea9546897e1e95b108d44720f6b913b7783c50f060517b3c1a0093fe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iati_sphinx_theme-1.10.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 dc1b0fd8a4c3f73391306ff6dfdb0e54f727d62c32f8a536c36f5eb1065ff4e9
MD5 90b58512c0fece577a2fe7b2e048219b
BLAKE2b-256 98e5a3c49950ae53f1e75180ed399c04813e497189fc43b9a30757324caa2e9e

See more details on using hashes here.

Provenance

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