2011-11-14 8 views
7

मैं आगे प्रोसेसिंग और जांच के लिए पायथन में स्फिंक्स आधारित आरएसटी पार्स करने में सक्षम होना चाहता हूं। कुछ की तरह:स्पिंक्स-विशिष्ट निर्देशों के साथ पार्सिंग .आरएसटी फाइल प्रोग्रामेटिक

import sphinx 
p = sphinx.parse("/path/to/file.rst") 
do_something_with(p) 

ऐसा लगता है कि कुछ docutils.core.publish_file का उपयोग कर docutils में संभव है:

publish_file(open("/path/to/file.rst") 

लेकिन उस स्फिंक्स विशिष्ट निर्देशों आदि के बारे में कुछ भी पता नहीं है ...

उत्तर

8

अंतिम लेखन से पहले आप कस्टम प्रसंस्करण करने के लिए Sphinx Extensions का उपयोग कर सकते हैं। प्रलेखन में उदाहरण प्रोजेक्ट शुरू करने में बहुत अच्छी शुरुआत है जो विभिन्न हुक पर चर्चा करता है जो आपको स्फिंक्स को अनुकूलित करने की अनुमति देता है।

आप जो करने का प्रयास कर रहे हैं उसके आधार पर, आपको इन घटनाओं में से किसी एक को कॉल बैक तर्क के रूप में do_something फ़ंक्शन की आपूर्ति करने की आवश्यकता हो सकती है।

doctree-resolved(app, doctree, docname) 
html-page-context(app, pagename, templatename, context, doctree) 

और जैसा कि

def setup(app): 
    app.connect('doctree-resolved', do_something) 

स्फिंक्स ट्यूटोरियल में उदाहरण पर्याप्त विवरण नहीं है, तो इस प्रकार है तो आप स्फिंक्स का विस्तार कर सकते, डौग Hellmann भी स्फिंक्स के लिए एक वर्तनी परीक्षक बनाने के बारे में एक blog post है। मैंने इसे स्फिंक्स एक्सटेंशन के लिए एक उपयोगी संदर्भ पाया, मुझे थोड़ी देर पहले लिखना पड़ा।

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