Doxygen के साथ एक परिचय पृष्ठ कैसे बनाया जाए


102

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


जवाबों:


95

mainpageकमांड पर एक नजर है ।

इसके अलावा, किसी अन्य थ्रेड के लिए इस उत्तर पर एक नज़र डालें: Doxygen में कस्टम फ़ाइलों को कैसे शामिल करें । इसमें कहा गया है तीन एक्सटेंशन जो आपको अतिरिक्त दस्तावेज़ फ़ाइलों के रूप में कक्षाएं Doxygen देखते हैं कि: .dox, .txtऔर .doc। इन एक्सटेंशन वाली फाइलें फ़ाइल इंडेक्स में दिखाई नहीं देती हैं, लेकिन इसका उपयोग आपके अंतिम दस्तावेज़ में अतिरिक्त जानकारी को शामिल करने के लिए किया जा सकता है - प्रलेखन के लिए बहुत उपयोगी है जो आवश्यक है लेकिन यह आपके स्रोत कोड (उदाहरण के लिए, अक्सर पूछे जाने वाले प्रश्न) के साथ शामिल करने के लिए उपयुक्त नहीं है

इसलिए मैं mainpage.doxआपको एसडीके से परिचित कराने के लिए आपकी परियोजना निर्देशिका में एक (या इसी तरह नाम वाली) फाइल रखने की सलाह दूंगा। ध्यान दें कि इस फ़ाइल के अंदर आपको एक या एक से अधिक C / C ++ शैली टिप्पणी ब्लॉक करने की आवश्यकता है।


3
कम से कम मार्कडाउन फाइल ( .mdऔर .markdown) को अतिरिक्त डॉक्यूमेंटेशन फाइल माना जाता है। मैं उन्हें पसंद करता हूं .doxक्योंकि उन्हें आस-पास की कोड टिप्पणियों की आवश्यकता नहीं होती है और बिना किसी कमियां के संपादक के साथ अच्छी तरह से संपादित किया जा सकता है - बिना कमियां के।
पास्कल

56

V1.8.8 तक विकल्प भी है USE_MDFILE_AS_MAINPAGE। इसलिए अपनी इंडेक्स फ़ाइल, जैसे README.md , को जोड़नाINPUT और इसे इस विकल्प के मान के रूप में सेट करना सुनिश्चित करें :

INPUT += README.md
USE_MDFILE_AS_MAINPAGE = README.md

4
इसके अतिरिक्त, यदि आप README.md को मुख्य पृष्ठ के रूप में उपयोग करने जा रहे हैं, तो सुनिश्चित करें कि यह INPUT सूची में पहले नंबर पर आता है। जब कई मुख्य पृष्ठ के उम्मीदवार होते हैं, तो पार्सिंग का चयन करते समय पहला सामना होता है, या ऐसा लगता है।
लेस्टर पीबॉडी

2
वैसे, doxygen gui में आपको केवल अपनी .md फाइल को विशेषज्ञ> इनपुट> इनपुट के तहत शामिल करना होगा।
एड्रियन लोपेज

USE_MDFILE_AS_MAINPAGEमेरे लिए काम नहीं किया। प्रलेखन के अनुसार, आपको {#mainpage}मार्कडाउन दस्तावेज़ के शीर्षक के बाद शामिल करना होगा । इसने काम किया।
संवत २०'१६

2
@samvv मैंने मार्कडाउन दस्तावेज़ में कोई अतिरिक्त नहीं जोड़ा। मैं सिर्फ इस्तेमाल किया INPUT = README.mdतो INPUT += src(पालन करने के लिए @ लेस्टर के सुझाव) और USE_MDFILE_AS_MAINPAGE = README.mdऔर यह एक आकर्षण की तरह काम किया। संस्करण: मेरे पास $ doxygen --versionलौटता 1.8.11है।
Xavi मॉन्टेरो

1
Doxygen 1.8.2 में, केवल एक चीज जो काम करती है, वह \mainpageअंदर जोड़ रही है (एक टिप्पणी में ऐसा कर सकते हैं ( मार्कडाउन में टिप्पणियों के बारे में इस लिंक को देखें )। यह अभी भी संबंधित पेज क्षेत्र को एक प्लेसहोल्डर (खाली) के साथ बनाया गया है, जो कि कष्टप्रद है, लेकिन कम से कम मैं मुख्य पृष्ठ मिला
Evgen

55

ध्यान दें कि Doxygen रिलीज 1.8.0 के साथ आप Markdown तैयार किए गए पेज भी जोड़ सकते हैं। इसे काम करने के लिए आपको एक .mdया .markdownएक्सटेंशन के साथ पेज बनाने की जरूरत है , और निम्न को फाइल में जोड़ें:

INPUT += your_page.md
FILE_PATTERNS += *.md *.markdown

देखें http://www.doxygen.nl/manual/markdown.html#md_page_header जानकारी के लिए।


6
वास्तव में वर्तमान 1.8.0 संस्करण समर्थन मार्कडाउन BUT उन्हें प्रलेखन के रूप में नहीं मानता है। तो आप फ़ाइलें और निर्देशिका अनुभाग में सूचीबद्ध मार्कडाउन कक्षाओं के साथ समाप्त करेंगे। समाधान के dox=mdरूप में जोड़ने के लिए EXTENSION_MAPPINGऔर अपने मार्कडाउन एक्सटेंशन को फिर से नाम देना है। इसके .doxलिए विन्यास इस तरह दिखाई देगा:INPUT += your_page.dox EXTENSION_MAPPING += dox=md
एंटीटॉक्सिक

6
अच्छी बात। मैं इसे इस तरह सही करूँगा कि .Md और .Dadd .dox के समान व्यवहार किया जाता है।
doxygen

4
दुर्भाग्य से, यह संबंधित पेजों के तहत समाप्त होता है, मुख्य पृष्ठ के रूप में नहीं
2

7

सिंटैक्स निम्नलिखित मुख्य पृष्ठ जोड़ने और doxygen के लिए संबंधित उपपृष्ठों के लिए मदद कर सकता है:

/*! \mainpage Drawing Shapes
 *
 * This project helps user to draw shapes.
 * Currently two types of shapes can be drawn:
 * - \subpage drawingRectanglePage "How to draw rectangle?"
 *
 * - \subpage drawingCirclePage "How to draw circle?"
 *
 */ 

/*! \page drawingRectanglePage How to draw rectangle?
 *
 * Lorem ipsum dolor sit amet
 *
 */

/*! \page drawingCirclePage How to draw circle?
 *
 * This page is about how to draw a circle.
 * Following sections describe circle:
 * - \ref groupCircleDefinition "Definition of Circle"
 * - \ref groupCircleClass "Circle Class"
 */

निम्नलिखित समूहों के रूप में बनाना भी पृष्ठों को डिजाइन करने में मदद करता है:

/** \defgroup groupCircleDefinition Circle Definition
 * A circle is a simple shape in Euclidean geometry.
 * It is the set of all points in a plane that are at a given distance from a given point, the centre;
 * equivalently it is the curve traced out by a point that moves so that its distance from a given point is constant.
 * The distance between any of the points and the centre is called the radius.
 */

एक उदाहरण यहां पाया जा सकता है


@FelixSFD आपकी प्रतिक्रिया के लिए धन्यवाद। मैंने आपके जवाब के अनुसार अपना उत्तर अपडेट कर दिया।
Birol Capa

5

दस्तावेज़ीकरण में कोई भी फ़ाइल जोड़ें जिसमें आपकी सामग्री शामिल होगी, उदाहरण के लिए inhh :

@ mainpage Manual SDK
<hr/>
@ section pageTOC Content
  -# @ref Description
  -# @ref License
  -# @ref Item
...

और अपने में Doxyfile:

INPUT = toc.h \

उदाहरण (रूसी में):


1
स्केल-टेक लिंक अब मृत हैं।
बेन फुल्टन

3

मैंने वी 1.8.13 से ऊपर कोई फायदा नहीं हुआ। मेरे लिए क्या काम किया (macOS पर) USE_MD_FILE_AS_MAINPAGEसेटिंग को भरने के लिए doxywizard-> विशेषज्ञ टैग का उपयोग करना था ।

इसने मेरे Doxyfile में निम्नलिखित परिवर्तन किए:

USE_MDFILE_AS_MAINPAGE = ../README.md
...
INPUT                  = ../README.md \
                         ../sdk/include \
                         ../sdk/src

के लिए लाइन समाप्ति पर ध्यान दें INPUT, मैं केवल प्रलेखन में निर्दिष्ट विभाजक के रूप में स्थान का उपयोग कर रहा था। AFAICT यह Doxyfile के काम नहीं करने वाले और वर्किंग वर्जन के बीच एकमात्र बदलाव है।


1
स्पष्टीकरण - doxywizard GUI फ्रंट एंड है जो macOS पर इंस्टॉल होता है।
वोरप्लसवर्ड २17

मुझे README.md को मुख्यपृष्ठ के रूप में मान्यता प्राप्त करने के लिए \ mainpage जोड़ना पड़ा
JBaczuk
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.