2011-04-30 31 views
45

मैं पर जा रहा हूं, मेरे जावास्क्रिप्ट प्रोजेक्ट से स्वचालित रूप से दस्तावेज़ उत्पन्न करता हूं। कोई भी जानता है कि मैं यह कैसे कर सकता हूं?जेस्क्रिप्ट दस्तावेज उत्पन्न करना

जहाँ तक मुझे पता है, JSDoc जैसे कुछ टूल्स हैं लेकिन मैं आपकी राय, आपकी सबसे अच्छी पसंद और क्यों जानना चाहता हूं।

धन्यवाद!

संपादित करें: बस स्पष्ट होने के लिए, मुझे JavaDOC या PHPDocumentor जैसे कुछ चाहिए लेकिन मेरे जावास्क्रिप्ट स्रोत कोड के साथ उपयोग करने के लिए।

+0

आपका क्या मतलब है जब आप कहते हैं कि "डॉक्स" करते हैं? – MeLight

+0

@MeLight PHPDocumentor या JavaDoc की तरह कुछ। मैंने अपने स्रोत कोड में कुछ टिप्पणियां डाली हैं, और मुझे जो चाहिए वह स्वचालित रूप से प्रलेखन जेनरेट करना है (यानी HTML प्रारूप) –

+0

[जावास्क्रिप्ट कोड दस्तावेज] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/2351881/documenting-javascript-code) –

उत्तर

10

मुझे JSDoc का उपयोग कर जेएस दस्तावेज़ बनाने के लिए एक महान ट्यूटोरियल मिला। मुझे उम्मीद है कि यह किसी ऐसे व्यक्ति की मदद करेगी जिसकी आवश्यकता है।

Create useful relevant Javascript documentation with JSDoc

यह ठीक था कि मैं क्या जरूरत है। आपके उत्तरों स्टैकर के लिए धन्यवाद।

+4

हम्म ... विंडोज ऐप। –

0

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

12

ऐसा करने के लिए Natural Docs जैसे टूल्स हैं। मैंने व्यक्तिगत रूप से इसे अतीत में उपयोग किया है और यह जावास्क्रिप्ट के साथ ठीक काम करता है।

दस्तावेज़ स्रोत कोड के लिए docco जैसे टूल भी हैं।

सामान्य ऑटो जेनरेटेड प्रलेखन में बहुत ही प्रतिबंधक होता है और कभी-कभी हस्तनिर्मित एपीआई की तरह jQuery एपीआई का उपयोग करना आसान होता है।

गतिशील भाषाओं के लिए दस्तावेज़ीकरण स्थिर भाषाओं पर दस्तावेज़ीकरण से अलग है। चूंकि एपीआई का अलग-अलग उपयोग होता है और राज्य अधिक ढीले अर्थ में मौजूद होता है।

+0

+1 डॉक्को। जेएसडीओसी बुरी तरह से प्रलेखित है, और जावाडॉक का एक बंदरगाह है, जो कोड को संभाल नहीं सकता है जो दृढ़ता से ओओपी नहीं है - जेएस के लिए अवास्तविक है। डॉको अच्छी तरह से प्रलेखित है, जेएस को सही तरीके से संभालता है, और इसका उपयोग लोकप्रिय जेएस ऐप्स (बैकबोन, अंडरस्कोर) द्वारा किया जाता है। – mikemaccana

+4

@ नाइलर डॉक्को उप इष्टतम है। मुझे लगता है कि ग्रोक वहां बेहतर विकल्पों में से एक है लेकिन मैं इस समय डॉक्स के लिए चमकदार टेम्पलेट परत लिखने के लिए टीजे की प्रतीक्षा कर रहा हूं। – Raynos

+0

@ रेनोस: सबसे पहले मैं डॉको का उपयोग कर रहा था, लेकिन ग्रोक वास्तव में कमाल है! धन्यवाद। – asgoth

0

हाय मुझे अभी YUIDoc मिला है। मैं इसके बारे में ज्यादा पता नहीं है, लेकिन यह अच्छा लग रहा है ...

4

SmartComments + YUIDocs

का उपयोग करना है कि असाधारण जोड़ी आप कम से कम एक मिनट में एक बड़ी जावास्क्रिप्ट परियोजना दस्तावेज़ कर सकते हैं।

स्मार्टकॉममेंट्स, यह एक ऐसा टूल है जो आपको जावास्क्रिप्ट स्रोत कोड से निहित टिप्पणियां बनाने की अनुमति देता है।

आप कंसोल में या एक शानदार टेक्स्ट प्लगइन के माध्यम से उपयोग कर सकते हैं।

कृपया अधिक जानकारी के लिए http://smartcomments.github.io पर जाएं।

+0

यहां यूयूआईडीओक्स के बारे में एक 113-स्लाइड शो है: http://www.slideshare.net/ysaw/beautiful-documentation-with-yui-doc – gm2008

3

autodoc तेह डोप है; https://www.npmjs.org/package/autodoc | https://github.com/dtao/autodoc

Autodoc तुम सिर्फ अपने जावास्क्रिप्ट कार्यों ऊपर टिप्पणी में परीक्षण लिखते हैं, तो कमांड लाइन से उन परीक्षण चलाने के लिए और एक ही परीक्षण एम्बेडेड और ब्राउज़र में सही क्रियान्वित करने के साथ प्रलेखन को स्वत: जनरेट करने देता है।

साक्षर प्रोग्रामिंग सोचें, http://danieltao.com/lazy.js/docs/ पर एक अच्छा उदाहरण के लिए देखें। उन हरे रंग के चेकमार्क परीक्षण हैं।

✓ Lazy([1, 2, 4])  // instanceof Lazy.ArrayLikeSequence 
✓ Lazy({ foo: "bar" }) // instanceof Lazy.ObjectLikeSequence 
✓ Lazy("hello, world!") // instanceof Lazy.StringLikeSequence 
✓ Lazy()    // sequence: [] 
✓ Lazy(null)   // sequence: [] 

यह वही स्रोत लग रहा है github.com/../lazy.js#L86 तरह

/** 
* Wraps an object and returns a {@link Sequence}. For `null` or `undefined`, 
* simply returns an empty sequence (see {@link Lazy.strict} for a stricter 
* implementation). 
* 
* - For **arrays**, Lazy will create a sequence comprising the elements in 
* the array (an {@link ArrayLikeSequence}). 
* - For **objects**, Lazy will create a sequence of key/value pairs 
* (an {@link ObjectLikeSequence}). 
* - For **strings**, Lazy will create a sequence of characters (a 
* {@link StringLikeSequence}). 
* 
* @public 
* @param {Array|Object|string} source An array, object, or string to wrap. 
* @returns {Sequence} The wrapped lazy object. 
* 
* 
* @examples 
* Lazy([1, 2, 4])  // instanceof Lazy.ArrayLikeSequence 
* Lazy({ foo: "bar" }) // instanceof Lazy.ObjectLikeSequence 
* Lazy("hello, world!") // instanceof Lazy.StringLikeSequence 
* Lazy()    // sequence: [] 
* Lazy(null)   // sequence: [] 
*/ 

यह JSDoc https://developers.google.com/closure/compiler/docs/js-for-compiler फैली हुई है, इसलिए अलावा आप गूगल की क्लोजर संकलक की पुष्टि करने और आप के लिए चीजों की बहुत अनुकूलन के हो सकता है है।

+1

यह वास्तव में आशाजनक दिखता है। डेवलपर दस्तावेज़ों में दावा करता है कि यह अभी भी प्रगति पर काफी काम है लेकिन वर्तमान में यह क्या करता है बहुत अच्छा है। – Typo

5

यदि आप node.js के साथ काम करते हैं, तो मैंने एक मॉड्यूल बनाया जो जावास्क्रिप्ट/नोड/एचटीएमएल/सीएसएस के लिए क्लास आरेख उत्पन्न करता है। यह यूएमएल के "डब्ल्यूएई" विस्तार पर आधारित है। इसे वावी कहा जाता है। जावास्क्रिप्ट, फ़ंक्शन, चर और अन्य मॉड्यूल के उपयोग के लिए स्वचालित रूप से पहचाना जाता है। आप इसे अपने आवेदन दस्तावेज के लिए उपयोग कर सकते हैं।

https://www.npmjs.org/package/wavi

Diagram generated by wavi

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