1

Ich habe ein Dokumentationsprojekt mit Sphinx gemacht. Ich verwende globale Variablen mit dem Konfigurationsschlüssel . Meine conf.py Datei enthält folgende Komponenten:Variable Substitution funktioniert nicht richtig in Sphinx

rst_epilog = """ 
.. |MY_VERSION| replace:: 2.1.0 
""" 

Dann in einer ersten Seite, ich bin mit dem früher definierten Variablen (VERSION) wie folgt:

The version of my repo is: |MY_VERSION| 

.. sourcecode:: bash 

    git clone https://github.com/my-organization/my-repo.git 
    cd my-repo 
    git checkout |MY_VERSION| 

Nach der Dokumentation Gebäude, in dem sich ergebenden HTML, die erste Variable ist korrekt substituiert, aber nicht die zweite:

Offensichtlich funktioniert die Substitution nicht innerhalb formatierter Quellcode-Blöcke, die sehr in praktisch.

Ist es möglich, dieses Problem zu umgehen?

PS: Ich versuchte auch mit rst_prolog mit dem gleichen Ergebnis.

+1

Versuchen Sie 'analysierte-literal'. Siehe http://docutils.sourceforge.net/docs/ref/rst/directives.html#parsed-literal-block – mzjn

+0

Ja, vielen Dank, es hat funktioniert! Wissen Sie, ob es möglich ist, "geparsed-literal" mit "sourcecode" zu kombinieren? –

+0

Nein, Sie können sie nicht kombinieren. – mzjn

Antwort

2

Dies wird die Substitution Arbeit machen:

.. parsed-literal:: 

    git clone https://github.com/my-organization/my-repo.git 
    cd my-repo 
    git checkout |MY_VERSION| 

Mit der parsed-literal Richtlinie können Sie Ersetzungen (und anderen Inline-Markup), aber es gibt keine Syntaxhervorhebung.

Mit code-block (oder sourcecode oder highlight) können Sie die Syntax hervorheben, aber Inline-Markup wird nicht verarbeitet.

Verwandte Themen