2017-10-23 2 views
1

Zum Beispiel:Wie lege ich Highlight oder Code-Block in Sphinx-artige Docstrings?

def foo(): 
    ''' 
    .. highlight:: python 
    import sys 
    ''' 

produzieren nicht gewünschte Ausgabe (druckt das Wort „Highlights“ wörtlich und nicht formatiert den folgenden Code in einer besonderen Art und Weise). Gleiches passiert für code-block.

Ich habe versucht verschiedene Einrückung usw. Egal was, Generator gelingt mit etwa gleich, aber nicht die gewünschte Ausgabe.

+1

Sie fehlen Einrückung; versuche, 4 Leerzeichen vor der Importzeile – Vinny

+0

@Vinny hinzuzufügen, ich brauche auch eine Leerzeile zwischen den beiden! – wvxvw

Antwort

1

Vergleicht man den Code mit den docs, Sie fehlen Vertiefung und eine Leerzeile zwischen dem Höhepunkt und dem eigentlichen Code. Es sollte so sein:

def foo(): 
    ''' 
    .. highlight:: python 
    .. code-block:: python 

     import sys 
     ... 
    ''' 
+0

Das ist nicht genug. Der Code muss in einem Literalblock sein (ein Block, in dem der vorhergehende Absatz mit '::' endet). – mzjn

+0

Ich habe es der Antwort hinzugefügt, danke! – Vinny

+0

Was Sie nach der Bearbeitung haben, funktioniert, ist aber redundant. '.. highlight :: python' kann entfernt werden. – mzjn