Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 501
Les Hazlewood Avatar asked Dec 10 '14 03:12

Les Hazlewood


1 Answers

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).

like image 125
mzjn Avatar answered Nov 15 '22 03:11

mzjn