2015-11-10 7 views
8

मेरे पास एक TOC (index.rst) के साथ Sphinx project है जिसमें :maxdepth: 2 शामिल है। समस्या यह है कि मैं गहराई को 1 पर release सेक्शन में कम करना चाहता हूं ताकि इसमें मुख्य टीओसी में रिलीज नोट्स की सूची शामिल न हो (सूची बहुत लंबी है)।स्पिंक्स टीओसी पेड़ संशोधित करें

ऐसा लगता है कि टीओसी सूची एक doctree-resolved ईवेंट हैंडलर का उपयोग कर संशोधित किया जा सकता है, लेकिन मैं समझ नहीं कैसे ईवेंट हैंडलर में टीओसी पेड़ संशोधित करने के लिए:

from sphinx import addnodes 

def setup(app): 
    def update_toctree(app, doctree, docname): 
     if docname != 'index': 
      return 

     node = doctree.traverse(addnodes.toctree)[0] 
     toc = app.env.resolve_toctree(docname, app.builder, node) 

     # do something with "toc" here 

    app.connect('doctree-resolved', update_toctree) 
+0

आपके जैसा ही मुद्दा है - मैं टीओसी नोड्स को पढ़ने और संशोधित करने में सक्षम हूं, लेकिन परिवर्तनों को जारी रखने के लिए प्रतीत नहीं होता। – geographika

उत्तर

1

मुझे एक निम्न तकनीक समाधान मिला: सीएसएस का उपयोग कर अंतिम आइटम के बच्चों को छुपाएं।

div.toctree-wrapper > ul > li:last-child > ul { 
    display: none; 
} 
4
शायद नहीं

एक आदर्श समाधान, लेकिन मैं कई toctree प्रविष्टियों एक ही पृष्ठ पर, कुछ की तरह उपयोग करने से पहले कुछ इस तरह किया है:

#################### 
Presto Documentation 
#################### 

.. toctree:: 
    :maxdepth: 2 

    overview 
    installation 

.. toctree:: 
    :maxdepth: 1 

    release 

यह आदर्श के बाद से सबसे अधिक विषयों पेड़ों के बीच अतिरिक्त गद्दी जोड़ देगा नहीं है, लेकिन मेरे मामले में उस से बेहतर था वें कुछ पृष्ठों के लिए नेस्टेड वस्तुओं की विशाल सूची।

+0

यह एक दिलचस्प समाधान है, लेकिन यह मेरे मामले में मदद नहीं करता है क्योंकि हम "क्रमांकित" का उपयोग करते हैं, इसलिए एक नया टीओसी शुरू करना संख्या को रीसेट करेगा। –

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