2013-08-09 13 views
5

साथ reStructuredText में ब्लॉग शैली टैग जोड़ने के लिए कैसे एक प्रोग्रामिंग भाषा प्रलेखन परियोजना reStructuredText में लिखा और स्फिंक्स के साथ HTML को प्रदान की गई के लिए, मैं की तरह तार्किक समूहों में मेरी कार्यों समूह हैं: स्ट्रिंग (सभी स्ट्रिंग कार्यों), वेब (सभी वेब के कार्य), सूची (सूची से निपटने के साथ कुछ भी), आदि .. अब, के बाद से काम करता है कई समूहों मैं किसी तरह से टैग जोड़ना चाहते हैं के सदस्यों, जैसे आप पोस्ट ब्लॉग करने के लिए होगा हो सकता है।स्फिंक्स

टैग जोड़ने के लिए स्फिंक्स एक्सटेंशन (उदाहरण के लिए डोमेन का उपयोग करने का तरीका) होने पर यह वास्तव में साफ होगा और फिर उन सभी कार्यों का संदर्भ देने वाला प्रति पृष्ठ एक पृष्ठ उत्पन्न करेगा, सभी टैग का एक सिंहावलोकन और एक क्रॉस-रेफरेंस प्रत्येक समारोह पृष्ठ के नीचे। क्या यह व्यवहार्य है और यदि हां, तो कैसे?

उदाहरण:

--------- 
substring 
--------- 

**substring (**\ *<string,number>* **text,** *number* **start,** *number* **end*)** 

Description 
----------- 

Returns the substring of string ``text`` between integer positions ``start`` and position ``end``. The first character in the string is numbered 0. The last character returned by ``substring`` is the character before position ``end``. Optionally ``end`` can be left out, which means the returned string will end at the last position of ``text``. 

Example 
------- 

- 

    Executing the following code: 

    :: 

     log(substring("Welcome to our site!", 0, 7)); 
     log(substring("Welcome to our site!", 0)); 

    will print: 

    :: 

     Welcome 
     Welcome to our site! 

Tags 
---- 

String 

उत्तर

4

मैं कुछ कस्टम preprocessing और एक कस्टम के निर्देश के साथ इस समाधान कर लिया है। मेरी व्यक्तिगत वेबसाइट स्फिंक्स के साथ बनाई गई है, जैसा कि मेरा वेबलॉग है। और एक वेबलॉग टैग का मतलब है।

पहले कस्टम स्फिंक्स निर्देश "टैग" है कि मैं इस तरह का उपयोग करें:

My blog entry header 
==================== 

.. tags:: python, django 

Bla bla bla bla 

निर्देश खुद ही प्रपत्र ../../tags/python.html है, जो काम करता है क्योंकि ब्लॉग प्रविष्टियों रहे हैं के रिश्तेदार लिंक का एक समूह के लिए अनुवाद हमेशा yyyy/mm/dd/ निर्देशिका में।

दूसरा छोटी प्रीप्रोकैसिंग स्क्रिप्ट जिसे मैं स्फिंक्स मेकफ़ाइल से कॉल करता हूं। यह स्क्रिप्ट बस tags/TAGNAME.txt फ़ाइल उत्पन्न करती है। स्फिंक्स इसे एक नियमित स्फिंक्स फ़ाइल के रूप में संसाधित करता है, इसलिए आपको केवल कुछ वैध पुनर्गठित पाठ उत्पन्न करना होगा। उदाहरण के लिए:

python 
###### 

.. toctree:: 
    :maxdepth: 1 

    2013-08-23 Praise for github pull requests <../2013/08/23/praise-for-pull-requests.txt> 
    2013-08-21 How to say ``[:]`` programmatically in Python <../2013/08/21/programmatical-all-range.txt> 
    2013-08-15 Handy tracebacks instead of uninformative segfaults <../2013/08/15/handy-tracebacks-with-faulthandler.txt> 

तो मूल विचार टैग फ़ाइलों को उत्पन्न करना और जितना संभव हो उतना नियमित स्फिंक्स व्यवहार का पुन: उपयोग करना है। (मैं index.txt, yyyy/index.txt, yyyy/mm/index.txt और इतने पर के लिए एक ही दृष्टिकोण का उपयोग)। https://github.com/reinout/reinout.vanrees.org/blob/master/rvo/weblog.py

+0

अरे, जवाब के लिए धन्यवाद, हम है कि क्या यह काम करता है के रूप में हम यह करना चाहता था की जांच करने के लिए है। यद्यपि बहुत आशाजनक लग रहा है। – titusn

6

आप स्फिंक्स का अनुक्रमण सुविधा का उपयोग कर सकते:

मामले में आप कुछ उदाहरण कोड की जरूरत है।

बाकी:

.. index:: BNF, grammar, syntax, notation 

Some rest goes here. 

conf.py:

html_use_index = True 
+0

वाह, यह और भी आशाजनक लगता है! बहुत आसन। इसे आजमाएं, लेकिन पहले से ही इसे वोट दिया है। – titusn

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