इस प्रोजेक्ट के बारे में

Gatsby React पर आधारित एक मुफ्त और ओपन-सोर्स वेब फ्रेमवर्क है, जिसे MIT लाइसेंस के तहत जारी किया गया है और npm पर `gatsby` पैकेज के रूप में वितरित किया गया है। इसके README के अनुसार, इसका उद्देश्य गतिशील रूप से रेंडर की गई साइटों के नियंत्रण और स्केलेबिलिटी को स्टैटिक-साइट जनरेशन की गति के साथ जोड़ना है, जिससे डेवलपर्स उच्च प्रदर्शन वाली, कंटेंट-रिच वेबसाइट और ऐप्स बना सकें। **डेटा लेयर (Data layer)** Gatsby किसी भी डेटा स्रोत से कंटेंट खींच सकता है: Markdown फाइलें, Contentful या WordPress जैसे हेडलेस CMS सिस्टम, या REST और GraphQL APIs। सोर्स प्लगइन्स डेटा लोड करते हैं, और डेवलपर्स बैकएंड की परवाह किए बिना एक समान GraphQL इंटरफेस के साथ काम करते हैं। **रेंडरिंग विकल्प (Rendering options)** यह प्रोजेक्ट तीन रेंडरिंग दृष्टिकोणों का दस्तावेजीकरण करता है जिन्हें प्रति-पेज आधार पर चुना जा सकता है: Static Site Generation (SSG), Deferred Static Generation (DSG) और Server-Side Rendering (SSR)। README इस ग्रैनुलैरिटी को वैश्विक स्तर के बजाय प्रति पेज प्रदर्शन और उत्पादकता के बीच संतुलन बनाने के तरीके के रूप में प्रस्तुत करता है। **स्टैटिक साइटों से परे (Beyond static sites)** Gatsby साइटों को पूरी तरह कार्यात्मक React ऐप्स के रूप में वर्णित किया गया है, इसलिए एक ही फ्रेमवर्क का उपयोग ब्लॉग, ई-कॉमर्स साइटों और यूजर डैशबोर्ड के लिए किया जा सकता है। चूंकि आउटपुट स्टैटिक होता है, इसलिए साइटों को बिना सर्वर के CDN पर होस्ट किया जा सकता है, और README नोट करता है कि कई साइटों को Netlify और समान सेवाओं पर मुफ्त में होस्ट किया जा सकता है। **परफॉरमेंस फीचर्स (Performance features)** README बताता है कि Gatsby कोड स्प्लिटिंग, इमेज ऑप्टिमाइज़ेशन, क्रिटिकल स्टाइल्स की इनलाइनिंग, लेज़ी-लोडिंग और रिसोर्सेज की प्रीफेचिंग को ऑटोमेट करता है, ताकि परफॉरमेंस ट्यूनिंग काफी हद तक इन-बिल्ट हो न कि मैनुअल। **शुरुआत करना (Getting started)** दो त्वरित रास्ते दस्तावेजीकृत हैं। ऑनलाइन: एक "Deploy to Netlify" बटन एक वर्किंग साइट और एक लिंक रिपॉजिटरी बनाता है जो पुश करने पर स्वचालित रूप से रीबिल्ड होती है। स्थानीय रूप से: प्रोजेक्ट को स्कैफोल्ड करने के लिए `npm init gatsby` चलाएं, फिर `cd my-gatsby-site/` और `npm run develop` चलाएं ताकि `http://localhost:8000` पर डेवलपमेंट सर्वर शुरू हो सके, जिसमें `src/pages/index.js` जैसी फाइलों को एडिट करने पर लाइव अपडेट मिलते हैं। README के शीर्ष से अलग क्विकस्टार्ट, ट्यूटोरियल, प्लगइन, स्टार्टर और शोकेस पेज लिंक किए गए हैं। **दस्तावेज़ीकरण और समुदाय (Documentation and community)** README एक गहन ट्यूटोरियल की ओर इशारा करता है जिसमें किसी पूर्व क्षमता की आवश्यकता नहीं है, साथ ही हाउ-टू गाइड, रेफरेंस मटेरियल और कॉन्सेप्चुअल गाइड के लिए दस्तावेज़ीकरण सेक्शन हैं। रिलीज़ नोट्स और प्रति-वर्जन सपोर्ट दस्तावेज़ लिंक किए गए हैं, और माइग्रेशन गाइड v2 से v3, v3 से v4 और v4 से v5 में अपग्रेड करने को कवर करते हैं। एक कोड ऑफ कंडक्ट और योगदान गाइड प्रदान की गई है, और रिपॉजिटरी को Lerna-managed मोनोरेपो के रूप में व्यवस्थित किया गया है जिसमें कई पैकेज शामिल हैं जो npm पर अलग-अलग प्रकाशित होते हैं। इश्यूज़, चर्चाएं और पुल रिक्वेस्ट वर्णित सामुदायिक वर्कफ़्लो का हिस्सा हैं।