I'm trying to reference the sphinx |version|
in a monospace block (and no spaces around it) in my .rst file like this...
You can install foo_project library with:
``pip install -U foo_project==|version|``
Cross-references with |version|
outside a monospace block work just fine, but how do I make that version number show up inline with a monospaced font?
Also if I want to reference that |version|
in a string like this, how do I get |version|
interpolated? My use-case is:
git+https://github.com/foo_username/foo_project.git@|version|
As my rst code currently stands, |version|
has to have spaces around it for it to be recognized. What should I do to fix this problem?
Nested inline markup is notoriously difficult (or impossible) in reStructuredText.
You could come up with something along the lines of the following...
In Sphinx's configuration file conf.py
:
from foo_project.__about__ import __version__
project = "foo_project"
version = f"{__version__}"
rst_prolog = f"""
.. |code_project| replace:: ``{project}``
.. |code_version| replace:: ``{version}``
.. |pip_cmd| replace:: ``pip install -U {project}=={version}``
.. |pip_git_cmd| replace:: ``pip install git+https://github.com/foo_username/{project}.git@{version}``
"""
And in a Sphinx reStructuredText document:
You can install the |code_project| library in its version |code_version| with one of the following commands:
* |pip_cmd|
* |pip_git_cmd|
References:
rst_prolog
: https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-rst_prolog