Les Hazlewood
Les Hazlewood

Reputation: 19497

Sphinx variable substitution in code blocks

Using Sphinx 1.2.3 and given this RST snippet:

.. code-block:: xml

    <foo>
        <bar>|version|</bar>
    </foo>

and in conf.py I have:

version = '1.0.2'

How do you ensure that the above RST snippet renders as:

<foo>
    <bar>1.0.2</bar>
</foo>

This previous question indicates that we should use .. parsed-literal:: instead of .. code-block::, but that does not work, nor does the referenced link in that question work either.

I also want to retain syntax highlighting.

Upvotes: 11

Views: 3411

Answers (1)

mzjn
mzjn

Reputation: 50947

You can get the wanted output by using backslash-escaped whitespace:

.. parsed-literal::

  <foo>
       <bar>\ |release|\ </bar>
  </foo>

Unfortunately it is not possible to also retain syntax highlighting (you can get that with the code-block directive of course, but then the substitution won't work).

Upvotes: 8

Related Questions