2017-12-09 11 views
1

私はSphinxを使用して、辞書を返すメソッドを文書化しています。内部インデント付きRSTコードブロック

def do_stuff(foo, bar): 
    """Do some stuff 

    :param foo: I'm an argument 
    :param bar: So am I 

    :return: dict:: 

     { 
      "success": (Boolean) True if stuff was done 
      "meta": { 
       "aaa": A nested return value 
       "bbb": Another nested return value 
      } 
     } 
    """ 

辞書オブジェクトの書式設定はオフになります。

enter image description here

が最もよく私が言うことができ、問題がRSTでその文字列リテラルが同じレベルでインデントされると予想されています。

回避策はありますか?

答えて

2

::を字下げしてさらにインデントすると、コードブロックとして認識されます。これは、.. autofunction:: do_stuffとスフィンクス1.5.2を使用していました。

def do_stuff(foo, bar): 
    """Do some stuff 

    :param foo: I'm an argument 
    :param bar: So am I 

    :return: dict 
     :: 
      { 
       "success": (Boolean) True if stuff was done 
       "meta": { 
        "aaa": A nested return value 
        "bbb": Another nested return value 
       } 
      } 
    """ 

私がdict部分を切り離したとき、私はそのようにフォーマットしなければなりませんでした。

def do_stuff(foo, bar): 
    """Do some stuff 

    :param foo: I'm an argument 
    :param bar: So am I 
    :rtype: dict 
    :return: 
     :: 

      { 
       "success": (Boolean) True if stuff was done 
       "meta": { 
        "aaa": A nested return value 
        "bbb": Another nested return value 
       } 
      } 
    """ 

enter image description here

関連する問題