2011-08-11 15 views
37

मैं एक अजगर परियोजना के लिए किए गए दस्तावेज़ों पैदा करने के लिए स्फिंक्स उपयोग कर रहा हूँ का उपयोग कर अजगर डॉक्स पैदा पंक्ति विराम को बचाने के लिये। आउटपुट एचटीएमएल डॉकस्ट्रिंग में मौजूद लाइन ब्रेक को संरक्षित नहीं कर रहा है। उदाहरण:कैसे जब स्फिंक्स

कोड

def testMethod(arg1,arg2): 
    """ 
    This is a test method 

    Arguments: 
    arg1: arg1 description 
    arg2: arg2 description 

    Returns: 
    None 
    """ 
    print "I am a test method" 

स्फिंक्स ओ/पी:

TestModule.testMethod(arg1, arg2) 

This is a test method 

Arguments: arg1: arg1 description arg2: arg2 description 

Returns: None 

किसी भी विचार है कि यह कैसे तय करने के लिए?

+0

उदाहरण की जरूरत कुछ हो जाता है। पुनर्गठित पाठ प्रारूप सही ढंग से स्फिंक्स द्वारा संरक्षित है। –

+0

जोड़ा गया उदाहरण। –

+0

ऐसा करने के तरीके जब अपने docstrings गूगल प्रारूप में हैं और \ N के का एक समूह जोड़ने से बचना चाहते हैं पर कोई विचार? –

उत्तर

31

पुनर्गठन पाठ में सामान्य तौर पर

| Vertical bars 
| like this 

लाइन रखने के लिए का उपयोग

+8

न केवल जोड़ें दो अलग-अलग लाइनों पर (कहें कि क्या आप दो लाइन ब्रेक चाहते हैं) ... सुनिश्चित करें कि आपके पास 2 खाली रिक्त स्थान हैं तो यह हो जाता है: | (स्थान) (स्थान) एक नई लाइन के लिए । – Augiwan

5

टूट जाता है मेरी विशेष मामले में, मैं भी एक दस्तावेज़ स्ट्रिंग (""" my doc string """) को पढ़ने के लिए autodoc पाने के लिए कोशिश कर रहा था। मैं हर जगह \n का उपयोग कर समाप्त हो गया मैं एक लाइन ब्रेक जोड़ने के लिए की जरूरत:

.. |br| raw:: html 

    <br /> 

फिर अपने मार्कअप में आप |br| में करने के लिए जोड़ सकते हैं: आप अपने मुख्य .rst फ़ाइल में निम्न जोड़ देते हैं तो

This is the first line\n 
and this is the second line\n 
+0

जब आपका डॉकस्ट्रिंग Google प्रारूप में होता है तो यह कैसे करें? –

18

केवल HTML के लिए लाइनब्रैक बनाएं।

I want to break this line here: |br| after the break. 

से: http://docutils.sourceforge.net/FAQ.html#how-to-indicate-a-line-break-or-a-significant-newline

+0

यह आंकड़े कैप्शन के साथ काम करता है, जबकि मुझे वर्टिकल बार काम करने के लिए नहीं मिल सका। – Dennis

+3

सावधान रहें कि | br | पाठ में रिक्त स्थान से घिरा होना चाहिए। –

8

अपने मामले में आप लिख सकते हैं:

def testMethod(arg1,arg2): 
    """ 
    This is a test method 

    | Arguments: 
    | arg1: arg1 description 
    | arg2: arg2 description 

    | Returns: 
    | None 
    """ 
    print "I am a test method" 
10

इस उत्तर देर से आता है, लेकिन हो सकता है यह अभी भी दूसरों के लिए उपयोगी हो जाएगा।

आप अपने docstrings में reStructuredText इस्तेमाल कर सकते हैं। जैसे

:param arg1: arg1 description 
:type arg1: str 
:param arg2: arg2 description 
:type arg2: str 

अपने उदाहरण के दिखता से यह कुछ ऐसा दिखाई देगा लेकिन यह आप docstrings (http://google-styleguide.googlecode.com/svn/trunk/pyguide.html?showone=Comments#Comments) के लिए गूगल शैली का प्रयोग कर रहे है।

स्फिंक्स देशी रूप से उन का समर्थन नहीं करता। लेकिन वहाँ एक विस्तार napoleon नामित कि https://pypi.python.org/pypi/sphinxcontrib-napoleon पर गूगल और Numpy शैली docstrings पार्स करता है।

अपने स्फिंक्स conf.py (आमतौर पर doc/source/conf.py) में extension -List को 'sphinxcontrib.napoleon' संलग्न करने के लिए विस्तार आप का उपयोग करने के, तो यह की तरह

extensions = [                 
'sphinx.ext.autodoc',              
'sphinxcontrib.napoleon',             
'sphinx.ext.doctest',                            
] 
+0

यह सटीक उत्तर था जिसे मैं समझने की कोशिश कर रहा था कि क्यों स्पिंक्स Google स्टाइल कोर्रेक्टी को प्रस्तुत नहीं करेगा हालांकि मार्गदर्शिका लाइनें स्फिंक्स का उपयोग करने की भी सिफारिश करती हैं। –

+2

स्फिंक्स 1.3 के रूप में, नैपोलियन एक्सटेंशन sphinx.ext.napoleon के तहत स्फिंक्स के साथ पैक किया जाएगा। Sphinxcontrib.napoleon एक्सटेंशन स्फिंक्स <= 1.2 के साथ काम करना जारी रखेगा। – ash84

+1

लाइन ब्रेक इश्यू को कैसे हल करता है? – minerals

संबंधित मुद्दे