2012-09-21 8 views
13

में कस्टम निर्देश कैसे बनाएं I वर्तमान में पाइथन में लिखी गई एक बाकी एपीआई दस्तावेज कर रहा हूं। सभी प्रोजेक्ट का प्रलेखन स्फिंक्स का उपयोग करके बनाया गया है, और आरईएसटी एपीआई के लिए मैं कुछ विशेष निर्देश बनाना चाहता हूं। उदाहरण के लिए, मान लीजिए कि मेरे पास यह संसाधन परिभाषित है:स्फिंक्स

@resource("/user/<email>", method="GET") 
def user_details (email): 
    """ Returns detailed information about a user account. 

    :resource GET: /user/<email> 
    :query_param a_param: Some kind of query param. 
    """ 
    # Do stuff and return user details 

मूल रूप से दस्तावेज़ वर्तमान में कैसे दिखता है। मैं स्फिंक्स के लिए निर्देश बनाने में सक्षम होना चाहता हूं जो :query_param ...: में से एक या अधिक प्रारूपित करता है जैसे कि यह नियमित :param: के साथ करता है।

मुझे भूमिकाएं बनाने के लिए मिला है, लेकिन वे केवल डेटा के ब्लॉक के लिए इनलाइन काम करते हैं।

कैसे मुझे यह बनाने के बारे में जाना चाहिए?

+1

आप [स्फिंक्स Google समूह] इन पर इसका पूछ सकते हैं (https://groups.google.com/forum/?fromgroups#!forum/स्फिंक्स-देव)। कोई भी सवाल का जवाब देने में सक्षम हो सकता है। हाथ से, मुझे यकीन नहीं है कि दस्तावेज़ीकरण ब्लॉक का इलाज कैसे किया जाता है। आप निश्चित रूप से [स्फिंक्स/डॉकुटिल्स में एक्सटेंशन बना सकते हैं] (http://sphinx.pocoo.org/extensions.html), लेकिन मुझे यकीन नहीं है कि कैसे डॉकस्ट्रिंग पार्सिंग स्फिंक्स/डॉकुटिल्स मॉडल में फिट बैठती है। – jszakmeister

+0

उत्तर में शायद आपके एक्सटेंशन में [GroupedField] (https://bitbucket.org/birkenfeld/sphinx/src/1f3a2749df39/sphinx/util/docfields.py#cl-74) का उपयोग करना शामिल है। – jszakmeister

उत्तर

10

स्फिंक्स को "Sphinx Extensions" के माध्यम से कस्टम निर्देशों के साथ बढ़ाया जा सकता है। यही है, आपको query_param कस्टम निर्देश प्रदान करने वाले स्फिंक्स एक्सटेंशन को लागू करने की आवश्यकता होगी, और इस एक्सटेंशन को अपनी स्फिंक्स प्रोजेक्ट में जोड़ें।

स्फिंक्स प्रलेखन एक्सटेंशन लागू करने पर a tutorial प्रदान करता है, जिसमें वे वास्तव में एक कस्टम निर्देश लागू करते हैं।

संदर्भ:

http://sphinx.pocoo.org/extensions.html

http://sphinx-doc.org/extdev/index.html#dev-extensions