Skip to main content

Extensions for Sphinx which allow for substitutions.

Project description

Build Status codecov PyPI

Sphinx Substitution Extensions

Extensions for Sphinx which allow substitutions within code blocks.

Installation

Sphinx Substitution Extensions is compatible with Sphinx 7.2.0+ using Python 3.10+.

$ pip install Sphinx-Substitution-Extensions

rST setup

  1. Add the following to conf.py to enable the extension:

extensions += ['sphinx_substitution_extensions']
  1. Set the following variable in conf.py to define substitutions:

rst_prolog = """
.. |release| replace:: 0.1
.. |author| replace:: Eleanor
"""

This will replace |release| in the new directives with 0.1, and |author| with Eleanor.

Using substitutions in rST documents

code-block

This adds a :substitutions: option to Sphinx’s built-in code-block directive.

.. code-block:: bash
   :substitutions:

   echo "|author| released version |release|"

prompt

This adds a :substitutions: option to sphinx-prompt.

.. prompt:: bash
   :substitutions:

   echo "|author| released version |release|"

Inline :substitution-code:

:substitution-code:`echo "|author| released version |release|"`

substitution-download

:substitution-download:`|author|'s manuscript <|author|_manuscript.txt>`

MyST Markdown setup

  1. Add the following to conf.py to enable the extension:

extensions += ['sphinx_substitution_extensions']
  1. Set the following variables in conf.py to define substitutions:

myst_enable_extensions += ['substitution']
myst_substitutions = {
      "release": "0.1",
      "author": "Eleanor",
}

This will replace |release| in the new directives with 0.1, and |author| with Eleanor.

Using substitutions in MyST Markdown

code-block

This adds a :substitutions: option to Sphinx’s built-in code-block directive.

```{code-block} bash
   :substitutions:

   echo "|author| released version |release|"
```

Credits

sphinx-prompt authors

Thanks to @sbrunner and other contributors for sphinx-prompt. substitution-prompt is based on sphinx-prompt.

ClusterHQ Developers

This package is largely inspired by code written for Flocker by ClusterHQ. Developers of the relevant code include, at least, Jon Giddy and Tom Prince.

Contributing

See CONTRIBUTING.rst.

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

Built Distribution

sphinx_substitution_extensions-2024.2.25-py2.py3-none-any.whl (13.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file sphinx-substitution-extensions-2024.2.25.tar.gz.

File metadata

File hashes

Hashes for sphinx-substitution-extensions-2024.2.25.tar.gz
Algorithm Hash digest
SHA256 9d489d462343ba14dabc7f290c4d305946a54541d978a21d1d9b904f1ff7afe4
MD5 ce524f5d652c5684e884e66b1f531375
BLAKE2b-256 cf0bf0e10a452e13e96c804b61d923a08903596fbd4c7d0ca496e90c4d937ffe

See more details on using hashes here.

File details

Details for the file sphinx_substitution_extensions-2024.2.25-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for sphinx_substitution_extensions-2024.2.25-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1e22951dbe5052b5b7866897196317da3fb2640776b608828ffe6c675e607b95
MD5 37d95eee11d385689c06821bd8ca359f
BLAKE2b-256 773202ac3b25d9393c0455749d9fbc4cd4dbee3d917da1916f6a911d7e95df7b

See more details on using hashes here.

Supported by

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