2011-09-06 10 views
18

के साथ जावास्क्रिप्ट दस्तावेज़ उत्पन्न करें मैं अपने प्रोजेक्ट में PHP और जावास्क्रिप्ट का उपयोग करता हूं, जिसे मैं नेटबीन्स 7.0.1 के साथ पूरी तरह से कोड करता हूं। मुझे वास्तव में पसंद है कि नेटबीन में PHP और जेएस कोड दोनों के लिए जावाडॉक टिप्पणी शैली का उपयोग और उपयोग कैसे किया जाता है।डॉक्सिजन

अब, मैं PHP के साथ-साथ जेएस कोड से कोड प्रलेखन जेनरेट करना चाहता हूं। मुझे पता है कि ऐसा करने के कई तरीके हैं, लेकिन मेरा मुख्य उद्देश्य एक दस्तावेज दोनों भागों के लिए प्रलेखन करना है।

इसे और समझाने के लिए: इसलिए, मैं डॉक्सीजन का उपयोग कर सकता हूं और जेएस फाइलों को संसाधित करने के लिए PHP फ़ाइलों और जेएसडोक को संसाधित कर सकता हूं। नतीजा यह होगा कि अब मेरे पास दो अलग-अलग फ़ोल्डर में दो अलग-अलग दस्तावेज़ हैं - एक नतीजा जो मुझे पसंद नहीं है। जैसा कि मैंने उल्लेख किया है, मैं दोनों एक दस्तावेज में चाहता हूं।

तो, सबसे पहले मैं डॉक्सिजन सहायक जेएस 2doxy.pl (http://jsunit.berlios.de/internal.html) का उपयोग करके रास्ता चला गया, लेकिन यह पर्याप्त लचीला नहीं था। यह "सामान्य" परिभाषित कार्यों के साथ अच्छी तरह से काम करता है, लेकिन अज्ञात जेएस कार्यों के साथ नहीं।

बहुत कोशिश करने के बाद मैंने सोचा कि क्यों .js फ़ाइलों को संसाधित करने के लिए दस्तावेज़ के FILE_PATTERNS विकल्प को परिवर्तित नहीं करते हैं, क्योंकि टिप्पणियों की JavaDoc शैली लगभग PHP के साथ उपयोग की जाती है। और अच्छी तरह से, परिणाम आशाजनक लग रहा है, लेकिन दस्तावेज़ में कुछ फ़ंक्शन गायब हैं।

/** 
* Definitions for the languages. 
* @memberof Language 
*/ 
Language.Definitions = (function() 
{ 
... 
} 

यह बहुत अच्छी तरह से काम करता है, मैं प्रलेखन देख सकते हैं:

यहाँ उदाहरण हैं। लेकिन:

** 
* Definitions for the languages 
* @memberof Language 
*/ 
Language.Definitions = (function() 
{ 
    var Translations = {}; 

    /** 
    * Replaces strings. 
    * @memberof Language 
    * @param string translation Translation string 
    * @param array parameters (optional) List of parameters 
    * 
    * @return string replaced string 
    */ 
    function replaceStrings(translation, parameters) 
    { 
     ... 
    } 

इस उदाहरण में मैं भाषा के लिए दस्तावेज़ देखता हूं। परिभाषाएं लेकिन प्रतिस्थापन() के लिए नहीं। क्या आपके पास कोई विचार है, मैं क्या गलत कर रहा हूं? जेएसडोक द्वारा एक ही निर्माण प्रक्रिया बहुत अच्छी तरह से है।

इसके अलावा (Language.Definitions का हिस्सा) ...

... 
return { 
     /** 
     * Initialize translations 
     * 
     * @memberof Language 
     */ 
     initTranslations: function() 
     { 
      ... 
     } 
... 
} 

... दस्तावेज में नहीं दिखाया गया है।

मुझे कोई फर्क नहीं पड़ता कि कोई मुझे दिखाएगा कि डॉक्सिजन और जेएसडोक के दो आउटपुट को एक दस्तावेज़ीकरण में कैसे सर्वोत्तम तरीके से मर्ज करना है।

बहुत पहले से धन्यवाद!

नमस्ते!

उत्तर

9

स्पष्ट Doxygen में समारोह की घोषणा करने के, इस तरह विशेष आदेश \fn देखें अधिमानतः स्रोत के शीर्षक में:

/*! 
* Language 
* Declare the root class 
* \Class Language 
*/ 

/*! 
* definitions is a property in the Language class 
* \property Definitions definitions 
*/ 

/*! 
* Document the Definitions static class that used as property in the Language class 
* \Class Definitions 
*/ 

/*! 
* Replaces strings 
* Document the static method for the Definitions class 
* \fn string replaceStrings(translation, parameters) 
* \memberof Definitions 
* \param string translation Translation string 
* \param array parameters (optional) List of parameters 
* \return string replaced string 
*/ 

Language.definitions = (function() 
{ 
    var Translations = {}; 

    function replaceStrings(translation, parameters) 
    { 
     ... 
    } 
+0

धन्यवाद एक बहुत! इस सप्ताह के अंत में इस पर एक विस्तृत नजरिया होगी! –

+2

उस लंबे समय के बाद, मैं अंत में इसका परीक्षण कर सकता था और ऐसा लगता है कि यह काम करता है। मुझे दो चीजों को बदलना पड़ा: '\ class'' \ class' (निचला मामला) होना चाहिए और '\ संपत्ति परिभाषा परिभाषाएं' \ संपत्ति परिभाषा परिभाषाएं होनी चाहिए। दुर्भाग्यवश कक्षा पदानुक्रम पर विचार नहीं किया जाता है। मैंने '\ property Language.Definitions Language.Definitions' और' \ class Language.Definitions' जैसी चीजों की कोशिश की जो आंशिक रूप से काम करता है, लेकिन अभी भी quirks बाकी हैं (उदा। डॉक्सिजन कंपाइलर चेतावनियां)। –

+0

डॉक्सिजन पेजों की जांच करें, जावास्क्रिप्ट के लिए समर्थन है। इसके अलावा, मेरे लिए काम करता है। – Zane

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