2014-12-10 8 views
5

Mit Sphinx 1.2.3 und dem RST-Schnipsel gegeben:Sphinx Variablensubstitution in Codeblöcken

.. code-block:: xml 

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

und in conf.py ich habe:

version = '1.0.2' 

Wie stellen Sie sicher, dass der oben RST-Schnipsel macht wie:

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

Diese previous question zeigt an, dass wirverwenden solltenanstelle von .. code-block::, aber das funktioniert nicht, noch funktioniert der referenzierte Link in dieser Frage.

Ich möchte auch Syntax-Highlighting beibehalten.

+0

Hier ist, wie Sie die Substitution arbeiten können: http://StackOverflow.com/A/25557867/407651. Es ist jedoch nicht möglich, Syntax-Highlighting beizubehalten (siehe http://stackoverflow.com/q/27185467/407651). – mzjn

+0

@mzjn danke für den Kommentar - wenn Sie eine normale Antwort geben möchten, werde ich es vergeben. Vielen Dank! –

Antwort

3

Sie können die gewünschte Ausgabe erhalten durch backslash-escaped whitespace mit:

.. parsed-literal:: 

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

Leider ist es nicht möglich, auch Syntax beibehalten markieren (Sie können das mit der code-block Richtlinie natürlich, aber dann die Substitution wird nicht Arbeit).