कोड नियंत्रण
संपादक का स्रोत पठनीय है। आप उस रेखा के लिए एक व्यवहार का पता लगा सकते हैं जो इसका कारण बनता है, इसे पैच कर सकते हैं, और यदि आपको कभी भी करना हो तो इसे फोर्क कर सकते हैं।
एक विज़ुअल पेज बिल्डर बनाएं जिसे आप स्व-होस्ट कर सकते हैं, अनुकूलित कर सकते हैं और विस्तारित कर सकते हैं। ओपन-सोर्स संपादन इंजन के रूप में GrapesJS का उपयोग करें, और प्लगइन्स के साथ अपने उत्पाद की आवश्यक कार्यक्षमता जोड़ें।
ब्लॉक, कैनवास और शैली नियंत्रण - आपके आवेदन के अंदर, आपके बुनियादी ढांचे पर चल रहे हैं।
26k+
GitHub सितारे
BSD-3-Clause
कोर लाइसेंस
1.4M+
मासिक npm डाउनलोड
100+
GJS.Market पर प्लगइन्स
ओपन सोर्स एक फीचर सूची नहीं है - यह आपके उत्पाद में संपादक पर अधिकारों का एक सेट है। ये छह हैं जो आपके निर्माण के तरीके को बदलते हैं।
संपादक का स्रोत पठनीय है। आप उस रेखा के लिए एक व्यवहार का पता लगा सकते हैं जो इसका कारण बनता है, इसे पैच कर सकते हैं, और यदि आपको कभी भी करना हो तो इसे फोर्क कर सकते हैं।
GrapesJS एक क्लाइंट-साइड लाइब्रेरी है जिसे आप बंडल करते हैं। कुछ भी घर नहीं कहता है, और संपादक किसी और के अपटाइम की परवाह किए बिना काम करता रहता है।
प्रोजेक्ट, पेज और एसेट आपके द्वारा लिखे गए स्टोरेज एडाप्टर के माध्यम से आपके डेटाबेस में जाते हैं। संपादक कभी भी उस सर्वर को नहीं देखता जिसे आप नियंत्रित नहीं करते हैं।
पैनल, बटन, सेक्टर और पूरे आसपास के खोल को व्यवस्थित करने के लिए आपका है। आपके उपयोगकर्ताओं को एक सामान्य संपादक UI से मिलने की आवश्यकता नहीं है।
आपका APIs, आपका प्रमाणीकरण, आपका परिसंपत्ति भंडारण, आपकी प्रकाशन पाइपलाइन। संपादक आपके द्वारा दिए गए कार्यों को कॉल करता है।
आपका मुख्य संपादन अनुभव किसी होस्ट किए गए प्लेटफ़ॉर्म से लाइसेंस प्राप्त नहीं है, इसलिए किसी और का मूल्य निर्धारण या रोडमैप यह तय नहीं करता है कि आपका उत्पाद अभी भी काम करता है या नहीं।
यहां टीमों द्वारा की जाने वाली सबसे महंगी गलती "हम अपने पेज बिल्डर के मालिक बनना चाहते हैं" और "हमें एक विज़ुअल एडिटर लिखना होगा" को एक ही वाक्य के रूप में मानना है। वे नहीं हैं।
खुला स्रोत
इसका मतलब यह नहीं है किखुला स्रोत
आर्थिक सामर्थ्यलक्ष्य विज़ुअल एडिटर के हर हिस्से को फिर से खोजना नहीं है। यह एक ओपन-सोर्स फाउंडेशन से शुरू करना है और अपना इंजीनियरिंग समय उस उत्पाद पर खर्च करना है जो आपके एप्लिकेशन को अद्वितीय बनाता है।
यह एक रीफ़्रेमिंग है, मुफ्त दोपहर के भोजन का वादा नहीं। एक ओपन-सोर्स फाउंडेशन आपके बैकलॉग से कैनवास, घटक मॉडल और स्टाइलिंग इंजन को हटा देता है। यह आपके बैकएंड, आपके प्रकाशन वर्कफ़्लो, या निर्भरता वर्तमान को बनाए रखने के काम को नहीं हटाता है - वे आपके द्वारा स्वयं होस्ट किए जाने के क्षण आपकी प्लेट पर चले जाते हैं।
एक उपयोगी तुलना के बारे में ईमानदार होना चाहिए कि कौन सी क्षमताएं काम करती हैं, जो एक API के रूप में आती हैं जिसे आपको अभी भी उपयोग करना है, और जो किसी भी तरह से बस आपके हैं। यह तालिका उन तीनों को अलग करती है।
| योग्यता | खरोंच से निर्माण करें | ओपन-सोर्स फाउंडेशन |
|---|---|---|
| दृश्य कैनवास | इसे बनाओ | में निर्मित |
| Component मॉडल | इसे बनाओ | में निर्मित |
| खींचें और छोड़ें | इसे बनाओ | में निर्मित |
| ब्लॉक | इसे बनाओ | API अंतर्निहित - सामग्री आपकी है |
| बिछाना | इसे बनाओ | में निर्मित |
| उत्तरदायी संपादन | इसे बनाओ | अंतर्निहित - आप इसे कॉन्फ़िगर करते हैं |
| संपत्ति | इसे बनाओ | अंतर्निहित - आप इसे कॉन्फ़िगर करते हैं |
| समृद्ध पाठ | इसे बनाओ | में निर्मित |
| पूर्ववत करें / फिर से करें | इसे बनाओ | में निर्मित |
| भंडार | इसे बनाओ | अपना बैकएंड कनेक्ट करें |
| प्रकाशन-व्यवसाय | इसे बनाओ | अपना वर्कफ़्लो बनाएँ |
| कस्टम संपादक UI | इसे बनाओ | अंतर्निहित - आप इसे कॉन्फ़िगर करते हैं |
| Plugin वास्तुकला | इसे बनाओ | में निर्मित |
| उत्पाद तर्क | इसे बनाओ | आपका आवेदन |
grapesjs 0.23.6 पर 2026-09-03 के खिलाफ एक ब्राउज़र में प्रत्येक API चलाकर सत्यापित किया जाता है, न कि एक फीचर सूची पढ़कर। "बिल्ट इन" का अर्थ है मॉड्यूल कोर पैकेज में जहाज; "API बिल्ट इन" का अर्थ है तंत्र जहाज करता है लेकिन सामग्री नहीं है।
ओपन सोर्स आपको नियंत्रण से दूर किए बिना एक शुरुआत देता है।
GrapesJS एक फ्रेमवर्क-अज्ञेयवादी विज़ुअल एडिटर है जिसे आप npm से इंस्टॉल करते हैं और अपने स्वयं के UI में माउंट करते हैं। ये इसके वे हिस्से हैं जिन पर आप वास्तव में निर्माण करेंगे - और जहां हर एक रुकता है।
कोर
एक कैनवास जिसे आपके उपयोगकर्ता सीधे लिखते हैं: इसका पूर्वावलोकन करने के बजाय वास्तविक DOM का चयन करें, स्थानांतरित करें, घोंसला बनाएं और संपादित करें।
कोर
टाइप किए गए traits के साथ पुनः प्रयोज्य सामग्री संरचनाएं, इसलिए एक बाज़ारिया एक div के बजाय एक फॉर्म फ़ील्ड में एक शीर्षक संपादित करता है।
कोर API
draggable पैनल कोर है; इसमें ब्लॉक नहीं हैं। आप अपना खुद का पंजीकरण करते हैं, या एक ब्लॉक प्लगइन स्थापित करते हैं।
कोर
क्षेत्रों और चयनकर्ताओं के साथ एक स्टाइल मैनेजर, इसलिए उपयोगकर्ता CSS को छुए बिना कुछ कैसा दिखता है, यह बदल देता है।
कोर
डिवाइस ब्रेकप्वाइंट एक कोर मॉड्यूल हैं। आप परिभाषित करते हैं कि आपका उत्पाद कौन से उपकरण प्रदान करता है और वे किस चौड़ाई के लिए मैप करते हैं।
कोर API
एक प्लगइन एक फ़ंक्शन है जो संपादक प्राप्त करता है। यही पूरा अनुबंध है, और यही कारण है कि एक पारिस्थितिकी तंत्र मौजूद है।
कोर
आउटपुट HTML और CSS है जिसे आप पढ़ सकते हैं, अलग कर सकते हैं और परोस सकते हैं। उपयोगी तब जब आप जो चीज़ बना रहे हैं वह वास्तव में वेब के लिए हो।
प्लगइन्स के माध्यम से
ईमेल कोर पैकेज में नहीं है। MJML और न्यूज़लेटर प्रीसेट इसे जोड़ते हैं - एक वास्तविक क्षमता, लेकिन एक स्थापित।
"ओपन सोर्स" और "आपके पास एक पेज बिल्डर" के बीच की हर परत किसी की है। आपके कौन से हैं, इसके बारे में स्पष्ट होना एक यथार्थवादी योजना और एक आश्चर्य के बीच का अंतर है।
ओपन-सोर्स विज़ुअल एडिटिंग फाउंडेशन: कैनवास, घटक, ब्लॉक, शैलियाँ, संपत्ति और प्लगइन अनुबंध।
प्रमाणीकरण, डैशबोर्ड, बिलिंग, उपयोगकर्ता, अनुमतियाँ और संपादक के आसपास उत्पाद अनुभव।
भंडारण, परियोजनाएं, प्रकाशन, संस्करण और व्यावसायिक तर्क जो आपके उत्पाद को भुगतान करने लायक बनाता है।
वैकल्पिक ब्लॉक, एकीकरण और विशेष कार्यक्षमता - जहां बीट्स बिल्डिंग खरीदने के लिए उपयोग किया जाता है, जहां यह नहीं करता है।
आप अपने उत्पाद को आउटसोर्स नहीं कर रहे हैं। आप कैनवास को फिर से लिखने से इनकार कर रहे हैं।
वह सब कुछ जो आपके उत्पाद को आपका बनाता है। इसमें से कोई भी संपादक से नहीं आता है।
जो कुछ भी आप पहले से ही बनाते हैं। GrapesJS फ्रेमवर्क-अज्ञेयवादी है और एक कंटेनर तत्व में माउंट होता है।
ओपन-सोर्स परत। npm से स्थापित, आपके द्वारा कॉन्फ़िगर किया गया, आपके बुनियादी ढांचे पर चल रहा है।
आपका API, आपका डेटाबेस, आपके नियम। GrapesJS आपके द्वारा लिखे गए लोड और स्टोर फ़ंक्शंस को कॉल करता है।
GrapesJS संपादन अनुभव को संभालता है। आपका एप्लिकेशन वह सब कुछ संभालता है जो आपके उत्पाद को अद्वितीय बनाता है।
देखें कि एकीकरण कैसे काम करता हैछह उत्पाद टीमें वास्तव में इस नींव पर जहाज करती हैं। हर एक एक ही संपादक के आसपास अलग-अलग काम है।
अपने ग्राहकों को अपने घटकों और अपनी अनुमतियों के साथ आपके उत्पाद के अंदर पृष्ठ बनाने और अनुकूलित करने दें।
एक SaaS पेज बिल्डर बनाएंदृश्य संपादन के साथ बहु-पृष्ठ साइटें। पेज मॉड्यूल कोर है; रूटिंग, डोमेन और होस्टिंग आपके निर्माण के लिए हैं।
एक वेबसाइट बिल्डर बनाएंविपणक को बिना किसी तैनाती के अभियान पृष्ठों को शिप करने का एक दृश्य तरीका दें - और अपने डिज़ाइन सिस्टम को छोड़े बिना।
लैंडिंग पेज बिल्डर बनाएंCMS या हेडलेस CMS में विज़ुअल संपादन जोड़ें, ताकि संपादक फ़ील्ड सूची के बजाय पृष्ठ देखें.
एक CMS संपादक बनाएंएक ही संपादक, ईमेल की ओर इशारा किया। MJML और न्यूज़लेटर प्रीसेट आउटपुट को संभालते हैं; वे प्लगइन्स हैं, कोर नहीं।
एक ईमेल बिल्डर बनाएंउस टीम के लिए कस्टम विज़ुअल संपादन जो इंजीनियरिंग को एक पैराग्राफ बदलने के लिए कहता रहता है। किसी सार्वजनिक उत्पाद की आवश्यकता नहीं है।
चार स्थितियाँ जहाँ संपादक का मालिक होना उस काम के लायक है जिसकी लागत आती है।
01
आप ग्राहकों को उस अनुभव को आउटसोर्स किए बिना एक विज़ुअल एडिटर देना चाहते हैं जिस पर आपके उत्पाद का मूल्यांकन किया जाता है।
02
आपको पहले से मौजूद एप्लिकेशन के अंदर विज़ुअल संपादन की आवश्यकता है, जो पहले से ही उपयोग किए जाने वाले ढांचे पर है।
03
आप संपादक वास्तुकला, डेटा मॉडल और हर एकीकरण बिंदु पर नियंत्रण चाहते हैं।
04
आप पुनः प्रयोज्य दृश्य संपादन बुनियादी ढांचा चाहते हैं जिसे आप प्रति साइट पुनः लाइसेंस देने के बजाय क्लाइंट प्रोजेक्ट में ले जा सकते हैं।
GrapesJS आवश्यकता के एक विशिष्ट आकार का एक अच्छा उत्तर है। यदि इस सूची में से अधिकांश आपकी सूची है, तो यह फिट बैठता है।
जब आपको आवश्यकता हो तो GrapesJS चुनें:
आप बदले में क्या लेते हैं: आप इसे होस्ट करते हैं, आप इसे अपग्रेड करते हैं, आप भंडारण और प्रकाशन परतें लिखते हैं, और जब कुछ टूटता है तो आप संपादक के व्यवहार के मालिक होते हैं। यह एक वास्तविक लागत है, और यह भुगतान करने के लिए सही है यदि ऊपर दी गई सूची वास्तव में आपकी सूची है।
GrapesJS से शुरू करेंतीन आवश्यकताएं जहां कुछ और बेहतर उपकरण है। यदि इनमें से एक आपकी स्थिति है, तो GrapesJS आपसे लड़ेगा।
एक होस्ट किया गया मंच
आपको संपादक, होस्टिंग, अपग्रेड और समर्थन एक बिल के रूप में मिलता है, और आप स्रोत नियंत्रण, स्व-होस्टिंग और संपादक को बदलने की क्षमता को छोड़ देते हैं।
एक React घटक संपादक
यदि पृष्ठ आपके स्वयं के React घटकों के पेड़ हैं और कभी भी HTML आप हाथ से संपादित नहीं करते हैं, तो एक React-पहला संपादक आपके डेटा मॉडल से HTML/CSS-उन्मुख मॉडल से अधिक सीधे मेल खाता है।
एक संपूर्ण वेबसाइट बिल्डर
यदि आप अपने द्वारा एम्बेड किए गए संपादक के बजाय एक तैयार वेबसाइट-निर्माण उत्पाद चाहते हैं, तो पूरे एप्लिकेशन को शिप करने वाली परियोजनाएं आपको वहां बहुत तेजी से पहुंचाएगी।
इनमें से कोई भी अन्य उपकरणों में कमजोरी नहीं है। वे अलग-अलग उत्पाद हैं जो अलग-अलग सवालों के जवाब देते हैं, और गलत श्रेणी चुनने में गलत लाइब्रेरी चुनने की तुलना में अधिक खर्च होता है।
ओपन-सोर्स पेज बिल्डरों की तुलना करेंये परियोजनाएं विनिमेय नहीं हैं। कुछ आपके द्वारा एम्बेड किए गए पुस्तकालय हैं, कुछ आपके द्वारा तैनात किए गए एप्लिकेशन हैं, और एक अविभाजित फीचर सूची पर उनकी तुलना करना यह है कि टीमें गलत श्रेणी के लिए कैसे प्रतिबद्ध होती हैं। वे जो करते हैं उसकी तुलना करने से पहले उन्हें समूहीकृत किया जाता है।
पुस्तकालयों आप npm से स्थापित करते हैं और आपके पास पहले से मौजूद एप्लिकेशन के अंदर माउंट करते हैं। आप UI, बैकएंड और प्रकाशन पाइपलाइन की आपूर्ति करते हैं; पुस्तकालय संपादन की आपूर्ति करता है।
इस समूह में
अपने स्वयं के React घटक वृक्ष पर एक संपादक बनाने के लिए पुस्तकालय। एक पृष्ठ घटकों का वर्णन करने वाला JSON है, मार्कअप नहीं - जो सही मॉडल है यदि आपके पृष्ठ पहले से ही React हैं।
इस समूह में
आपके द्वारा बनाए गए पुस्तकालयों के बजाय आपके द्वारा तैनात और उपयोग किए जाने वाले अनुप्रयोग। किसी कार्यशील साइट के लिए बहुत तेज़, और किसी और के उत्पाद के अंदर गायब होने के लिए डिज़ाइन नहीं किया गया है।
इस समूह में
पूर्ण सामग्री प्लेटफ़ॉर्म जहां दृश्य पृष्ठ निर्माण सामग्री मॉडलिंग, भूमिकाओं और प्रकाशन के बीच एक क्षमता है। आप मंच को अपनाते हैं, न कि केवल संपादक।
इस समूह में
| योग्यता | GrapesJS | Puck | Craft.js | Silex | Webstudio | Webiny |
|---|---|---|---|---|---|---|
| लाइसेंस | BSD-3-Clause | MIT | MIT | AGPL-3.0 | AGPL-3.0 | MIT* |
| स्व-होस्टेड | हाँ - एक क्लाइंट-साइड लाइब्रेरी जिसे आप बंडल करते हैं | हाँ | हाँ | हाँ - डॉकर, npm या स्रोत | प्रकाशित साइटें हाँ; दस्तावेज़ उत्पादन में बिल्डर को स्व-होस्टिंग के खिलाफ सलाह देते हैं | हां, लेकिन केवल एडब्ल्यूएस - दस्तावेज़ स्पष्ट हैं कि और कुछ भी समर्थित नहीं है |
| आपके ऐप में एम्बेड करने योग्य | हाँ - लाइब्रेरी को किसी भी कंटेनर तत्व में माउंट करें | हाँ - आपके पेड़ में "सिर्फ एक React घटक" | हां, लेकिन यह एक टूलकिट है: आप संपादक UI स्वयं बनाते हैं | Node सर्वर के रूप में। कोई प्रलेखित फ्रंट-एंड एडिटर माउंट नहीं | नहीं - बिल्डर पैकेज निजी है और npm पर प्रकाशित नहीं किया गया है | नहीं - एक iframe पूरी तरह से तैनात Webiny स्टैक में |
| दृश्य संपादक | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| खींचें और छोड़ें | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| कस्टम घटक | ✓ | ✓ | ✓ | ✓ | सत्यापित नहीं किया गया | ✓ |
| उत्तरदायी संपादन | ✓ | ✓ | कस्टम - आप इसे बनाते हैं | आंशिक | ✓ | ✓ |
| कस्टम बैकएंड/स्टोरेज | भंडारण API - आपका अपना लोड और स्टोर फ़ंक्शन | onPublish/onChange - आप डेटा सहेजते हैं | serialize() / deserialize() - आप JSON को सहेजते हैं | भंडारण और होस्टिंग के लिए कनेक्टर API | कोई कनेक्टर नहीं API; सीएलआई निर्यात के माध्यम से डेटा छोड़ देता है | संग्रहण परियोजना निर्माण के समय तय किया जाता है और बाद में बदला नहीं जा सकता |
| Plugin वास्तुकला | ✓ | ✓ | कोई नहीं - डिजाइन द्वारा | ✓ | सत्यापित नहीं किया गया | ✓ |
| HTML/CSS आउटपुट | ✓ | — | — | ✓ | ✓ | — |
| ईमेल वर्कफ़्लोज़ | प्लगइन के माध्यम से | — | — | — | — | — |
| React | ✓ | ✓ | ✓ | प्राथमिक फोकस नहीं | ✓ | ✓ |
| ढांचा | Framework-agnostic | React | React | Framework-agnostic (built on GrapesJS) | React (React Router v7 output) | React (Next.js supported) |
| सत्यापित संस्करण | grapesjs 0.23.6 | @puckeditor/core 0.23.0 | @craftjs/core 0.2.12 | @silexlabs/silex 3.9.0 | 0.296.0 | 6.4.9 |
| नवीनतम रिलीज़ | Released 2026-08-26 | Released 2026-08-07 | No commits on any branch since 2025-02 | Released 2026-07-26 | Released 2026-09-01 | Released 2026-08-27 |
प्रत्येक रिपॉजिटरी की अपनी लाइसेंस फ़ाइल, npm रजिस्ट्री से संस्करण और बहिष्करण, प्रत्येक परियोजना के स्वयं के दस्तावेज़ीकरण से क्षमताएं पढ़े जाते हैं। सत्यापित 2026-09-03। "सत्यापित नहीं" का मतलब है कि हमें किसी भी तरह से प्राथमिक स्रोत नहीं मिला - ऐसा नहीं है कि क्षमता गायब है। डैश का मतलब है कि परियोजना उस उपयोग के मामले को लक्षित नहीं करती है। *वेबिनी का रूट लाइसेंस एक एंटरप्राइज़ निर्देशिका बनाता है और प्रति-पैकेज लाइसेंस को स्थगित करता है; वर्तमान डिफ़ॉल्ट शाखा पर वह निर्देशिका अनुपस्थित है और प्रत्येक प्रति-पैकेज लाइसेंस MIT है।
तीन प्रश्न, उस क्रम में जो वास्तव में क्षेत्र को संकीर्ण करता है। पहला अन्य दो की तुलना में अधिक विकल्पों को समाप्त करता है।
एक उत्पाद - संपादक मेरे आवेदन के अंदर रहता है
जारी रखोआप एक नींव चाहते हैं जिसे आप एम्बेड और नियंत्रित करते हैं। प्रश्न 02 किस तरह को संकीर्ण करता है।
एक तैयार उपकरण - मैं इसके साथ साइटें बनाना चाहता हूं
वेबसाइट बिल्डरआप एक एप्लिकेशन चाहते हैं, लाइब्रेरी नहीं। तैनाती योग्य ओपन-सोर्स वेबसाइट बिल्डर आपको किसी भी ढांचे की तुलना में कहीं अधिक तेजी से वहां पहुंचाएंगे।
पूरी टीम के लिए एक सामग्री मंच
CMS मंचयदि प्रकाशन, भूमिकाओं और सामग्री मॉडलिंग के बीच पृष्ठ निर्माण एक आवश्यकता है, तो इसके बजाय एक सामग्री प्लेटफ़ॉर्म से शुरू करें।
मार्कअप मैं सेवा कर सकता हूं, निर्यात कर सकता हूं और अंतर कर सकता हूं
GrapesJSHTML और CSS आउटपुट, एक फ्रेमवर्क-अज्ञेयवादी संपादक, और आपके अपने डेटाबेस में एक स्टोरेज एडाप्टर।
मेरे अपने React घटकों का एक पेड़
React संपादकयदि पृष्ठ घटक वृक्षों को JSON के रूप में क्रमबद्ध किया जाता है और कभी भी हाथ से संपादित मार्कअप नहीं किया जाता है, तो React-प्रथम संपादक निकटतम फिट है।
दोनों, सतह के आधार पर
GrapesJS + Reactआधिकारिक React रैपर संपादक को React घटक के रूप में माउंट करता है जबकि आउटपुट HTML/CSS रहता है। यह SaaS के लिए सामान्य मामला है।
हां- हम अपना खुद का बुनियादी ढांचा चलाते हैं
इसे स्व-होस्ट करेंइंस्टॉल करें, कॉन्फ़िगर करें, स्टोरेज एडाप्टर लिखें, और संपादक वास्तव में आपका है।
अभी नहीं
होस्ट किया गया संपादकएक होस्ट किया गया प्लेटफ़ॉर्म बुनियादी ढांचे को ले जाने वाले किसी और के लिए नियंत्रण का व्यापार करता है। यह एक वैध व्यापार है, विफलता नहीं।
हां, लेकिन हम हर सुविधा का निर्माण नहीं करना चाहते हैं
फाउंडेशन + प्लगइन्ससंपादक को स्व-होस्ट करें और उन टुकड़ों को खरीदें जो आपके उत्पाद के विभेदक नहीं हैं।
सही विकल्प इस बात पर निर्भर करता है कि आपको एक पूर्ण वेबसाइट-निर्माण उत्पाद या एक संपादक नींव की आवश्यकता है जो आपके अपने आवेदन का हिस्सा बन जाता है। बाकी सब कुछ - लाइसेंस, ढांचा, प्लगइन API - केवल एक बार उस प्रश्न का उत्तर देने के बाद ही मायने रखता है।
01 - स्थापित करें
एक निर्भरता। कोई बिल्ड प्लगइन नहीं, कोई फ्रेमवर्क आवश्यकता नहीं।
npm install grapesjs02 - आरंभ करें
इसे एक कंटेनर पर इंगित करें और अपने डिवाइस ब्रेकपॉइंट चुनें। यह एक कार्यशील संपादक है।
import grapesjs from 'grapesjs';
import 'grapesjs/dist/css/grapes.min.css';
const editor = grapesjs.init({
container: '#gjs',
height: '100vh',
width: 'auto',
// Reads the markup already inside #gjs as the starting page.
fromElement: true,
// No storage yet — step 04 connects your backend.
storageManager: false,
deviceManager: {
devices: [
{ id: 'desktop', name: 'Desktop', width: '' },
{ id: 'tablet', name: 'Tablet', width: '768px', widthMedia: '992px' },
{ id: 'mobile', name: 'Mobile', width: '320px', widthMedia: '480px' },
],
},
});03 - विस्तार
एक घटक प्रकार परिभाषित करता है कि उपयोगकर्ता क्या संपादित कर सकते हैं; एक ब्लॉक इसे खींचने योग्य बनाता है। वे दो पंजीकरण हैं, एक नहीं।
// A component type owns its markup and the traits your users can edit.
editor.Components.addType('cta', {
model: {
defaults: {
tagName: 'a',
attributes: { class: 'cta', href: '#' },
components: 'Get started',
traits: [
{ name: 'href', type: 'text', label: 'Link' },
{ name: 'title', type: 'text', label: 'Title' },
],
},
},
});
// A block is what makes that type draggable from the panel — a separate,
// explicit registration, not something the type gives you for free.
editor.Blocks.add('cta-block', {
label: 'CTA',
category: 'Basic',
content: { type: 'cta' },
});04 - कनेक्ट करें
स्टोरेज एडाप्टर वह जगह है जहां संपादक रुकता है और आपका उत्पाद शुरू होता है।
// Your backend, your schema, your auth. GrapesJS calls load() and store();
// everything inside them is yours.
editor.Storage.add('your-backend', {
async load() {
const res = await fetch(`/api/pages/${pageId}`, { credentials: 'include' });
return res.ok ? res.json() : {};
},
async store(data) {
await fetch(`/api/pages/${pageId}`, {
method: 'PUT',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(data),
});
return data;
},
});
// Publishing is your workflow, not the editor's. getHtml()/getCss() give you
// the output; what happens to it is a decision only your product can make.
editor.Commands.add('publish-page', {
run: (ed) => ({ html: ed.getHtml(), css: ed.getCss() }),
});grapesjs 0.23.6 पर 2026-09-03 के खिलाफ सत्यापित।
वह पूरी सतह है: इंस्टॉल करें, माउंट करें, विस्तार करें, कनेक्ट करें। चरण 04 के पीछे सब कुछ - ऑथ, बिलिंग, संस्करण, डोमेन - आपका आवेदन है, और इसमें से कोई भी संपादक द्वारा तय नहीं किया जाता है।
परियोजना का अपना डेमो - कोर संपादक, डिफ़ॉल्ट पैनल, कुछ भी नहीं खरीदा।
iframe में एक तृतीय-पक्ष डेमो लोड करता है। जब तक आप क्लिक नहीं करते तब तक कुछ भी लोड नहीं होता है।
एक ओपन-सोर्स एडिटर कोर से शुरू करें। केवल वही कार्यक्षमता जोड़ें जिसकी आपके उत्पाद को आवश्यकता है - और बाकी को स्वयं बनाएं, जहां यह वास्तव में आपका विभेदक है।
क्षमता के आधार पर ब्राउज़ करें
बंडल नहीं - तीन सेट जो तीन सामान्य बिल्ड में से प्रत्येक में पहली वास्तविक आवश्यकता को कवर करते हैं। प्रत्येक आइटम एक लाइव लिस्टिंग है, और उनमें से प्रत्येक वैकल्पिक है।
आपका पहला विज़ुअल एडिटर
ट्यूटोरियल पढ़ेंएक ग्राहक-सामना करने वाला पेज बिल्डर
दृश्य ईमेल निर्माण
कीमतों को कैटलॉग से लाइव पढ़ा जाता है।
अधिकांश "GrapesJS X नहीं कर सकते" निष्कर्ष वास्तव में "कोर पैकेज X शिप नहीं करता है" हैं। वे अलग-अलग समस्याएं हैं, और उनमें से केवल एक को एक अलग संपादक की आवश्यकता होती है।
React एकीकरण की आवश्यकता है?
React एकीकरण
एक आधिकारिक आवरण संपादक को React घटक के रूप में माउंट करता है, इसलिए यह आपके पेड़ में किसी और चीज़ की तरह रहता है।
ईमेल की आवश्यकता है?
ईमेल प्लगइन्स
MJML और न्यूज़लेटर प्रीसेट एक ही कैनवास को ईमेल बिल्डर में बदल देते हैं।
टेम्पलेट्स की आवश्यकता है?
टेम्पलेट प्लगइन्स
प्रीसेट और टेम्पलेट प्रबंधक उपयोगकर्ताओं को एक खाली कैनवास के बजाय शुरू करने के लिए एक लाइब्रेरी देते हैं।
Tailwind की आवश्यकता है?
Tailwind ब्लॉक
Tailwind-क्लास ब्लॉक सेट करता है, इसलिए संपादक उन कक्षाओं का उत्सर्जन करता है जिनका आपका कोडबेस पहले से उपयोग करता है।
कस्टम ब्लॉक की आवश्यकता है?
Block प्लगइन्स
या उन्हें स्वयं लिखें - एक ब्लॉक एक लेबल, एक श्रेणी और कुछ सामग्री है।
भंडारण की आवश्यकता है?
भंडारण एडेप्टर
तैयार एडेप्टर, या आपके API के खिलाफ आपका अपना लोड/स्टोर जोड़ी।
संपादक को न बदलें क्योंकि एक सुविधा गायब है। इसे बढ़ाएं।
ओपन सोर्स एक पेज बिल्डर के अर्थशास्त्र को बदल देता है। यह इंजीनियरिंग को खत्म नहीं करता है, और कोई भी पेज जो आपको अन्यथा बताता है वह कुछ बेच रहा है। यहां बताया गया है कि प्रत्येक मार्ग पर आपके पास अभी भी क्या है।
आप अपने हैं:
पूर्ण नियंत्रण, और पहले काम करने वाले संपादक के लिए सबसे लंबा रास्ता। इसके लायक तभी जब संपादक स्वयं आपके उत्पाद का विभेदक हो।
आप अभी भी निर्माण करते हैं:
विज़ुअल एडिटिंग फाउंडेशन पहले से मौजूद है। उपरोक्त सब कुछ अभी भी आपका बनाना है - यह सूची रूट ए से छोटी है, खाली नहीं है।
आप अभी भी निर्माण करते हैं:
ब्लॉक सेट या स्टोरेज एडाप्टर खरीदना एक कार्य को हटाता है, निर्भरता नहीं। हर एक कोड है जिस पर आप अब भरोसा करते हैं और आपको काम करते रहना है।
हम जानबूझकर "खरोंच से पेज बिल्डर बनाने" के लिए कोई डॉलर का आंकड़ा प्रकाशित नहीं करते हैं। इसके लिए कोई विश्वसनीय सार्वजनिक बेंचमार्क नहीं है, ईमानदार उत्तर पूरी तरह से आपकी टीम और दायरे पर निर्भर करता है, और एक आविष्कृत संख्या इस पृष्ठ पर सबसे कम भरोसेमंद चीज होगी। इसके बजाय ऊपर की सतहों की गणना करें - वे वह चीज हैं जो आप वास्तव में व्यापार कर रहे हैं।
यह एक व्यापार है, रैंकिंग नहीं। ओपन सोर्स आपको अधिक नियंत्रण देता है; होस्ट किया गया आपको संचालित करने के लिए कम देता है। दोनों कॉलम में ऐसी चीजें हैं जो आपके लिए मायने रखेंगी।
| आयाम | खुला स्रोत | होस्ट किया गया |
|---|---|---|
| स्रोत नियंत्रण | पढ़ने के लिए तुम्हारा, पैच और कांटा | प्लेटफ़ॉर्म जो उजागर करता है उस तक सीमित |
| स्व-होस्टिंग | आमतौर पर संभव | आमतौर पर नहीं |
| डेटा स्थान | आपका बुनियादी ढांचा | प्रदाता का |
| UI अनुकूलन | उच्च - खोल तुम्हारा है | मंच पर निर्भर करता है |
| विक्रेता निर्भरता | निचला | उच्चतर |
| रखरखाव | आपकी जिम्मेदारी | प्रदाता का |
| अवसरंचना | आपकी जिम्मेदारी | प्रदाता का |
| एक्स्टेंसिबिलिटी | परियोजना के प्लगइन पर निर्भर करता है API | प्लेटफ़ॉर्म के विस्तार बिंदुओं पर निर्भर करता है |
| एक कार्यशील संपादक के लिए समय | कुछ भी प्रयोग करने योग्य होने से पहले एकीकरण कार्य | कोई भी कोड लिखने से पहले प्रयोग करने योग्य |
ओपन सोर्स आपको अधिक नियंत्रण देता है, लेकिन आप बुनियादी ढांचे और रखरखाव की जिम्मेदारी भी लेते हैं। यदि आपकी टीम में कोई भी वह जिम्मेदारी नहीं चाहता है, तो होस्ट करना ईमानदार उत्तर है।
एक विज़ुअल पेज एडिटर जिसका सोर्स कोड ओपन-सोर्स लाइसेंस के तहत प्रकाशित होता है, ताकि आप इसे पढ़ सकें, इसे अपने स्वयं के बुनियादी ढांचे पर चला सकें, इसे संशोधित कर सकें और इसके ऊपर एक उत्पाद बना सकें। यह एक लाइब्रेरी हो सकती है जिसे आप अपने एप्लिकेशन में एम्बेड करते हैं, या आपके द्वारा तैनात एक पूर्ण वेबसाइट-बिल्डिंग एप्लिकेशन हो सकता है - वे बहुत अलग चीजें हैं जो एक ही लेबल साझा करती हैं।
एक सर्वश्रेष्ठ नहीं है - आपकी आवश्यकता के लिए एक सर्वश्रेष्ठ है। यदि आप एक संपादक को अपने स्वयं के एप्लिकेशन में एम्बेड कर रहे हैं और HTML/CSS आउटपुट चाहते हैं, तो GrapesJS फिट बैठता है। यदि पृष्ठ आपके React घटकों के पेड़ हैं, तो एक React-पहला संपादक बेहतर फिट बैठता है। यदि आप नींव के बजाय एक तैयार वेबसाइट-निर्माण एप्लिकेशन चाहते हैं, तो एक तैनाती योग्य वेबसाइट बिल्डर तेज़ होगा। उत्तर "पुस्तकालय या आवेदन?" पहले; यह किसी भी सुविधा तुलना की तुलना में अधिक विकल्पों को समाप्त करता है।
हाँ। कोर grapesjs पैकेज BSD-3-Clause लाइसेंस के तहत प्रकाशित किया जाता है, और आधिकारिक @grapesjs/react रैपर MIT के तहत प्रकाशित किया जाता है। दोनों अनुमेय लाइसेंस हैं। ध्यान दें कि GrapesJS कोर MIT नहीं है, इसके बावजूद कि बहुत सारे तुलनात्मक लेख क्या कहते हैं।
हाँ। GrapesJS एक क्लाइंट-साइड जावास्क्रिप्ट लाइब्रेरी है जिसे आप npm से इंस्टॉल करते हैं और अपने एप्लिकेशन के साथ बंडल करते हैं। कॉल करने के लिए कोई सेवा नहीं है और बनाने के लिए कोई खाता नहीं है, इसलिए यह वहां चलता है जहां आपका फ्रंटएंड चलता है।
हां, और यह सबसे आम उपयोगों में से एक है। BSD-3-Clause एक अनुमेय लाइसेंस है जो वाणिज्यिक और मालिकाना उपयोग की अनुमति देता है, बशर्ते आप अपने वितरण में कॉपीराइट नोटिस और लाइसेंस पाठ रखें। प्रतिबद्ध होने से पहले प्रत्येक प्रोजेक्ट के लाइसेंस की व्यक्तिगत रूप से जांच करें - कुछ ओपन-सोर्स पेज बिल्डर्स AGPL-3.0 का उपयोग करते हैं, जो उन दायित्वों को वहन करता है जो विशेष रूप से होस्ट किए गए उत्पादों के लिए मायने रखते हैं।
हाँ। पैनल, बटन, स्टाइल सेक्टर और आसपास के शेल सभी कॉन्फ़िगर करने योग्य हैं, और कई प्रकाशित संपादक एक ही कोर चलाते हुए डिफ़ॉल्ट लेआउट को पूरी तरह से बदल देते हैं। यदि आप चाहते हैं कि संपादक GrapesJS के बजाय आपके उत्पाद की तरह दिखे, तो यह एक समर्थित परिणाम है, हैक नहीं।
हाँ। GrapesJS में एक स्टोरेज API है जहां आप लोड और स्टोर फ़ंक्शंस के साथ एक एडाप्टर पंजीकृत करते हैं। उनके अंदर क्या होता है - कौन सा समापन बिंदु, कौन सा प्रमाणीकरण, कौन सा स्कीमा - पूरी तरह से आपका है, इसलिए प्रोजेक्ट डेटा किसी और के बजाय आपके अपने डेटाबेस में जाता है।
हाँ। आधिकारिक @grapesjs/react रैपर संपादक को React घटक के रूप में माउंट करता है, इसलिए यह आपके घटक वृक्ष के अंदर आपके राज्य के साथ रहता है और इसके चारों ओर घूमता है। संपादक कोर स्वयं ढांचा-अज्ञेयवादी रहता है - आवरण एक एकीकरण परत है, पुनर्लेखन नहीं।
हां, एक चेतावनी के साथ जिसके बारे में स्पष्ट होना चाहिए। मल्टी-पेज एडिटिंग एक कोर मॉड्यूल है, इसलिए एडिटिंग साइड को कवर किया गया है। सब कुछ जो इसे पेज एडिटर के बजाय वेबसाइट बिल्डर बनाता है - रूटिंग, डोमेन, होस्टिंग, डिप्लॉय, उपयोगकर्ता खाते - आपके द्वारा लिखा गया एप्लिकेशन कोड है। GrapesJS आपको संपादक देता है, प्लेटफ़ॉर्म नहीं।
हाँ, प्लगइन्स का उपयोग करना। ईमेल आउटपुट मुख्य पैकेज में नहीं है: MJML और न्यूज़लेटर प्रीसेट ईमेल-विशिष्ट ब्लॉक और आउटपुट पाइपलाइन जोड़ते हैं जो वास्तविक ईमेल क्लाइंट से बचते हैं। यह एक वास्तविक, उत्पादन-उपयोग की जाने वाली क्षमता है, लेकिन यह एक स्थापित क्षमता है, ऐसा कुछ नहीं जो आपको डिफ़ॉल्ट रूप से मिलता है।
मुख्य पैकेज BSD-3-Clause है और React रैपर MIT है, और दोनों वाणिज्यिक उपयोग की अनुमति देते हैं, जिसमें बंद-स्रोत उत्पाद भी शामिल हैं, जब तक कि आप कॉपीराइट और लाइसेंस नोटिस को बनाए रखते हैं। यह लाइसेंस पाठ का सारांश है, कानूनी सलाह नहीं - रिपॉजिटरी में लाइसेंस फ़ाइल पढ़ें, और अपने स्वयं के वकील से पूछें कि क्या उत्तर किसी अनुबंध के लिए मायने रखता है।
वे विभिन्न श्रेणियों में बैठते हैं। GrapesJS एक BSD-3-Clause लाइब्रेरी है जिसे आप अपने स्वयं के एप्लिकेशन के अंदर इंस्टॉल और एम्बेड करते हैं, जहां आप UI, बैकएंड और प्रकाशन की आपूर्ति करते हैं। वेबस्टूडियो एक AGPL-3.0 विज़ुअल वेबसाइट बिल्डर है - अपने आप में एक एप्लिकेशन, एक होस्ट की गई पेशकश के साथ। लाइसेंस भी इस तरह से भिन्न होते हैं जो होस्ट किए गए उत्पादों के लिए मायने रखता है: AGPL-3.0 स्रोत-उपलब्धता दायित्वों को वहन करता है जो BSD-3-Clause नहीं करता है।
डेटा मॉडल और ढांचा। Puck एक MIT-लाइसेंस प्राप्त React संपादक है: एक पृष्ठ आपके JSON घटकों का एक React पेड़ है, जिसे React द्वारा प्रस्तुत किया गया है। GrapesJS फ्रेमवर्क-अज्ञेयवादी है और HTML और CSS आउटपुट के साथ काम करता है, जो मार्कअप परोसने या निर्यात करने वाले उत्पादों के लिए उपयुक्त है। यदि आपके पृष्ठ React घटक हैं, तो Puck उन्हें अधिक सीधे मानचित्र बनाते हैं; यदि वे वेब पेज हैं, तो GrapesJS करता है।
जो काम करता है। ओपन सोर्स के साथ आपको स्रोत, सेल्फ-होस्टिंग, अपना स्वयं का डेटा स्थान और गहरा यूआई नियंत्रण मिलता है - और आप होस्टिंग, अपग्रेड और रखरखाव पर लेते हैं। एक होस्ट किए गए बिल्डर के साथ प्रदाता यह सब करता है, और आप उनके मूल्य निर्धारण, रोडमैप और अनुकूलन पर सीमाओं को स्वीकार करते हैं। न तो सार्वभौमिक रूप से बेहतर है; यह इस बात पर निर्भर करता है कि संपादक का संचालन करना एक लागत है जो आप चाहते हैं।
नहीं, GrapesJS कुछ भी खरीदे बिना पूरी तरह से प्रयोग करने योग्य है, और बहुत सारे प्रोडक्शन एडिटर पूरी तरह से कोर प्लस कोड पर बनाए गए हैं जो टीम ने लिखा है। प्लगइन्स इसके लायक होते हैं जब एक क्षमता आपके उत्पाद का विभेदक नहीं होती है - एक ईमेल प्रीसेट, एक ब्लॉक सेट, एक स्टोरेज एडाप्टर - और जब यह होता है तो इसके लायक नहीं होता है।
हां, और यह संपादक का उपयोग करने का सामान्य तरीका है। आप एक घटक प्रकार पंजीकृत करते हैं जो मार्कअप को परिभाषित करता है और traits उपयोगकर्ता संपादित कर सकते हैं, फिर एक ब्लॉक पंजीकृत करते हैं जो इसे पैनल से draggable बनाता है। वे दो अलग-अलग पंजीकरण हैं, जो यह जानने योग्य है कि इससे पहले कि आप आश्चर्यचकित हों कि आपका नया घटक पैनल में क्यों नहीं है।
GrapesJS से प्रारंभ करें, अपने एप्लिकेशन पर नियंत्रण रखें, और संपादक को अपने उत्पाद की आवश्यकता की कार्यक्षमता के साथ विस्तारित करें।
ब्राउज़र में एक वास्तविक संपादक लोड करें, फिर इसे इंस्टॉल करें और इसे अपने ऐप में माउंट करें।
GrapesJS आज़माएंब्लॉक, भंडारण एडेप्टर, React गोले और ईमेल प्रीसेट - केवल वहीं स्थापित होते हैं जहां वे आपको वास्तविक काम बचाते हैं।
GJS.Market प्लगइन्स ब्राउज़ करेंदेखें कि उनमें से किसी एक के लिए आर्किटेक्चर करने से पहले ओपन-सोर्स विकल्प कैसे भिन्न होते हैं।
पेज बिल्डरों की तुलना करेंसंपादक के मालिक हैं। डेटा के मालिक हैं। उत्पाद के मालिक हैं।