दृश्य खींचें और छोड़ेंकस्टम घटकपुनः प्रयोज्य ब्लॉकREST & GraphQLआपका CMSआपका फ्रंटएंडआपका डेटा
हेडलेस CMS विजुअल एडिटर
Content API
अवयव
Hero
सुविधाऐं
मूल्य निर्धारण
प्रशंसापत्र
FAQ
कार्यवाई के लिए बुलावा
कैंवस
वेबसाइट पेज
ड्राफ्ट · आपकी सामग्री के माध्यम से स्वतः सहेजा गया API
गुण
मुद्रण कला
रंग की
रिक्ति
अभिन्यास
डेस्कटॉपटिकियामोबाइल
मौजूदा सामग्री पर एक दृश्य संपादन परत API: बाईं ओर घटक लाइब्रेरी, कैनवास पर पृष्ठ, दाईं ओर चयनित घटक के गुण।
हेडलेस CMS विजुअल एडिटर
Content API
अवयव
Hero
सुविधाऐं
मूल्य निर्धारण
प्रशंसापत्र
FAQ
कार्यवाई के लिए बुलावा
कैंवस
वेबसाइट पेज
ड्राफ्ट · आपकी सामग्री के माध्यम से स्वतः सहेजा गया API
गुण
मुद्रण कला
रंग की
रिक्ति
अभिन्यास
डेस्कटॉपटिकियामोबाइल
मौजूदा सामग्री पर एक दृश्य संपादन परत API: बाईं ओर घटक लाइब्रेरी, कैनवास पर पृष्ठ, दाईं ओर चयनित घटक के गुण।
इसे चलते हुए देखें
यह वह संपादन सतह है जिसे आप जोड़ रहे हैं
ऊपर दी गई स्क्रीन व्यवस्था का एक मॉक-अप है, जिसे CSS में खींचा गया है, इसलिए इसमें पृष्ठ की कोई कीमत नहीं है। इसके पीछे संपादक इंजन वास्तविक और सार्वजनिक है: आधिकारिक GrapesJS डेमो खोलें, कैनवास पर एक अनुभाग खींचें, और आप उसी कैनवास, घटक वृक्ष और शैली नियंत्रण को देख रहे हैं जो आपकी सामग्री टीम को आपके स्वयं के CMS के शीर्ष पर मिलेगा।
डेमो ब्राउज़र स्टोरेज के साथ grapesjs.com पर चलता है। इस पर कुछ भी आपकी सामग्री को नहीं छूता है।
मूल्य
अपने हेडलेस CMS को एक दृश्य संपादन अनुभव दें
एक हेडलेस CMS आपके एप्लिकेशन को API-प्रथम सामग्री नींव देता है। यह हमेशा सामग्री लिखने वाले लोगों को जो नहीं देता है, वह पृष्ठ को बनाते समय उसे देखने का एक तरीका है।
संरचित फ़ील्ड एक लेख, एक उत्पाद रिकॉर्ड या एक सेटिंग दस्तावेज़ के लिए उत्कृष्ट हैं। वे एक ऐसे पृष्ठ के लिए खराब फिट हैं जिसका अर्थ इसका लेआउट है - एक अभियान पृष्ठ, एक फीचर टूर, एक मूल्य निर्धारण तुलना। उन लोगों के लिए, काम करने वाले लोग आमतौर पर एक ही छोटी सूची मांगते हैं:
संपादक क्या मांगते हैं
एक दृश्य कैनवास
खींचें और छोड़ें
पुनः प्रयोज्य पृष्ठ अनुभाग
उत्तरदायी संपादन
टेम्पलेट्स
घटक विन्यास
लाइव पूर्वावलोकन
GrapesJS आपको अपने CMS को बदलने के लिए मजबूर किए बिना वह दृश्य संपादन परत प्रदान करता है।
हेडलेस CMS आपको सामग्री देता है। आपके उपयोगकर्ताओं को अभी भी एक संपादक की आवश्यकता है।
एक हेडलेस आर्किटेक्चर सामग्री को प्रस्तुति से अलग करता है, यही कारण है कि यह एक संपादन अंतर छोड़ देता है: CMS फ़ील्ड को जानता है, फ्रंटएंड रेंडरिंग को जानता है, और बीच में कुछ भी पृष्ठ नहीं जानता है। एक दृश्य संपादन परत जोड़ने से किसी भी पक्ष को हटाए बिना उस अंतर को बंद कर दिया जाता है।
पारंपरिक हेडलेस CMS
CMS
संरचित सामग्री
API
फ्रंटएंड
लुप्त
दृश्य संपादन
खींचें और छोड़ें
पृष्ठ संरचना
उत्तरदायी डिजाइन
बिना सिर वाला CMS + GrapesJS
CMS
संरचित सामग्री
GrapesJS दृश्य संपादक
API
फ्रंटएंड
एक ही स्टैक, एक परत के साथ। इसके ऊपर या नीचे कुछ भी नहीं बदलता है।
हेडलेस आर्किटेक्चर को छोड़े बिना विज़ुअल एडिटिंग जोड़ें।
श्रम विभाजन
बिना सिर वाले CMS में विज़ुअल एडिटर क्यों जोड़ें?
क्योंकि तीन परतों में से प्रत्येक किसी ऐसी चीज़ में अच्छा है जो अन्य दो नहीं हैं, और एक दृश्य संपादन परत उनमें से एकमात्र है जिसे कोई भी आपके लिए शिप नहीं करता है। यहां बताया गया है कि संपादक के स्थान पर आने के बाद कौन उसका मालिक है।
आपका बिना सिर वाला CMS
आपके द्वारा पहले से चलाया जा रहा सामग्री अवसंरचना.
सामग्री
संरचित डेटा
मीडिया
उपयोगकर्ता
प्रकाशन-व्यवसाय
APIs
GrapesJS
आप जिस विज़ुअल संपादन परत को जोड़ रहे हैं.
दृश्य कैनवास
खींचें और छोड़ें
अवयव
ब्लॉक
बिछाना
उत्तरदायी संपादन
दृश्य पृष्ठ संरचना
आपका फ्रंटएंड
अपरिवर्तित। यह पहले का सब कुछ अपने पास रखता है।
प्रतिपादन
रूटिंग
अनुप्रयोग तर्क
प्रयोगकर्ता का अनुभव
परिनियोजन
आर्किटेक्चर रखें। संपादन अनुभव को अपग्रेड करें।
स्थापत्यशैली
एक हेडलेस CMS विज़ुअल एडिटर कैसे काम करता है
चार परतें, क्रम में एक सेव उनके माध्यम से यात्रा करता है। संपादक कभी भी आपके डेटाबेस से बात नहीं करता है और कभी भी आपके उत्पादन पृष्ठों को प्रस्तुत नहीं करता है - यह आपके द्वारा नियंत्रित समापन बिंदु के माध्यम से एक दस्तावेज़ को पढ़ता और लिखता है।
GrapesJS
दृश्य संपादन अनुभव: कैनवास, घटक वृक्ष, ब्लॉक, शैली नियंत्रण, डिवाइस की चौड़ाई।
↓
REST / GraphQL
REST, GraphQL या अपने स्वयं के API के माध्यम से दृढ़ता। एक स्टोरेज एडाप्टर दो कार्य हैं - एक जो लोड होता है, एक जो बचाता है।
↓
बिना सिर के CMS
आपकी मौजूदा सामग्री अवसंरचना। यह स्कीमा, मीडिया लाइब्रेरी, उपयोगकर्ताओं और प्रकाशन नियमों को पहले से ही रखता है।
↓
Content API
डिलीवरी API आपके फ्रंटएंड पहले से ही पढ़ चुके हैं। एक संपादक जोड़ने से एक लेखक जुड़ता है, न कि सामग्री का दूसरा स्रोत।
संपादन परत उसी API के माध्यम से जुड़ती है जिसे आपका फ्रंटएंड पहले से ही कॉल करता है। चाहे आप Strapi, Contentful, Sanity, Directus, Hygraph, Prismic, Payload या एक CMS चला रहे हों, एकीकरण बिंदु समापन बिंदुओं की एक जोड़ी है जो एक दस्तावेज़ को लोड और सहेजता है।
इन प्लेटफार्मों को उनके APIs के माध्यम से एकीकृत किया जा सकता है, सटीक कार्यान्वयन के आधार पर CMS सामग्री मॉडल और API पर निर्भर करता है। GJS.Market उनमें से अधिकांश के लिए आधिकारिक एकीकरण प्रकाशित नहीं करता है, और यह पृष्ठ कभी भी अन्यथा नहीं होता है।
अपना CMS रखें। अपना फ्रंटएंड रखें। एक बेहतर विज़ुअल एडिटर जोड़ें।
अनुकूलता
आपके द्वारा पहले से उपयोग किए जा रहे CMS के साथ काम करता है
नीचे दिए गए कार्ड प्रत्येक प्लेटफ़ॉर्म द्वारा प्रदान की जाने वाली एकीकरण सतह का वर्णन करते हैं, न कि समर्थन दावे। उनमें से एक के पास GJS.Market कैटलॉग में एक सामुदायिक भंडारण प्लगइन है; बाकी एकीकरण हैं जिन्हें आप या एक कार्यान्वयन भागीदार उनके प्रकाशित API के खिलाफ बनाएंगे।
ST
Strapi
REST · GraphQL
स्व-होस्ट किया गया, आपके द्वारा परिभाषित सामग्री प्रकारों के साथ। संपादक दस्तावेज़ आमतौर पर पृष्ठ संग्रह प्रकार पर JSON फ़ील्ड बन जाता है।
CF
Contentful
REST · GraphQL
अलग वितरण और प्रबंधन APIs। संपादक प्रबंधन के माध्यम से लिखता है API; आपका फ्रंटएंड डिलीवरी को पढ़ता रहता है।
SN
Sanity
GROQ · GraphQL
Portable Text और एक दस्तावेज़ स्टोर। संपादक दस्तावेज़ आपके मौजूदा फ़ील्ड को बदलने के बजाय उनके साथ बैठता है।
DR
Directus
REST · GraphQL
इस सूची में एकमात्र प्लेटफ़ॉर्म सामुदायिक भंडारण प्लगइन पहले से ही GJS.Market पर प्रकाशित है।
GraphQL-पहले, इसलिए एडेप्टर दो URL के बजाय एक क्वेरी और एक उत्परिवर्तन है।
PX
Prismic
REST
स्लाइस-आधारित सामग्री। जब आप ब्लॉक सेट को उनके साथ संरेखित रखते हैं तो संपादक स्लाइस पर मैप को साफ-सुथरा ब्लॉक करता है।
PL
Payload
REST · GraphQL
कोड-परिभाषित संग्रह, इसलिए संपादक जिस फ़ील्ड को लिखता है, उसे संपादक के समान भंडार में घोषित किया जाता है।
API
कस्टम CMS
REST · GraphQL · रिवाज
कुछ भी जो लोड अनुरोध का उत्तर दे सकता है और सेव अनुरोध स्वीकार कर सकता है। दो समापन बिंदु संपूर्ण अनुबंध है।
कैटलॉग में एक CMS-नामित एडाप्टर
Directus स्टोरेज एक मुफ्त, समुदाय-प्रकाशित GrapesJS स्टोरेज प्लगइन है जिसे Silex प्रोजेक्ट से निकाला गया है। यह वास्तव में एक उपयोगी संदर्भ है कि एक एडेप्टर को कैसे आकार दिया जाता है - प्रमाणीकरण आदेश, लोड, सहेजें - लेकिन इसकी अपनी लिस्टिंग नोट करती है कि यह एक पुराने Directus SDK को लक्षित करता है, इसलिए इसे ड्रॉप करने के लिए एक समर्थित उत्पाद के बजाय पढ़ने के लिए एक प्रारंभिक बिंदु के रूप में मानें।
एक विज़ुअल एडिटर हेडलेस सेटअप में केवल तभी उपयोगी होता है जब यह जो पैदा करता है वह अभी भी आपके द्वारा डिज़ाइन किए गए स्कीमा में फिट बैठता है। GrapesJS में, एक कस्टम घटक प्रकार अपने स्वयं के संपादन योग्य traits घोषित करता है - और वे traits वे हैं जहां आपके CMS फ़ील्ड नाम जाते हैं।
GrapesJS घटक
दृश्य ब्लॉक
आपकी सामग्री स्कीमा
CMS
काम किया उदाहरण
hero-section
फ़ील्डप्रकार
titleतार
subtitleटेक्स्ट
imageमीडिया
buttonवस्तु
metadataजेएसओएन
एक घटक प्रकार, traits एक संपादक देखता है, और फ़ील्ड जो आपकी CMS प्रविष्टि पहले से ही घोषित करती है - जानबूझकर एक ही नाम।
विज़ुअल एडिटर को आपके कंटेंट मॉडल के अनुकूल होना चाहिए - अपने CMS को संपादक के अनुकूल होने के लिए मजबूर नहीं करना चाहिए।
भंडारण प्रारूप
आपको क्या स्टोर करना चाहिए?
एक ही संपादक से दो अभ्यावेदन निकलते हैं, और वे अलग-अलग सवालों के जवाब देते हैं। एक को संपादन के लिए फिर से खोला जा सकता है; दूसरे को प्रस्तुत किया जा सकता है। अधिकांश उत्पादन सेटअप दोनों को अलग-अलग कॉलम में रखते हैं, और यह एक नियम के बजाय एक डिज़ाइन निर्णय है।
परियोजना दस्तावेज़
परियोजना/घटक डेटा
→संपादन योग्य स्रोत
→बाद में खोलें
editor.getProjectData()
संरचित डेटा के रूप में घटक वृक्ष, शैलियाँ, पृष्ठ और संपत्तियां। यह वही है जो संपादक को सत्र को ठीक उसी तरह से पुनर्निर्माण करने की आवश्यकता है जैसे इसे छोड़ दिया गया था, जो एकमात्र प्रतिनिधित्व है जो संपादन के दूसरे दौर में बरकरार रहता है।
इसका उपयोग तब करें जब: कोई इस पेज को फिर से एडिटर में खोलेगा।
प्रदान किया गया मार्कअप
HTML + CSS
→रेंडर किया गया आउटपुट
→पूर्वावलोकन/प्रकाशित करें
editor.getHtml() + editor.getCss()
मार्कअप और स्टाइलशीट एक ही पेड़ से उत्पन्न होती है। यह वही है जो एक पूर्वावलोकन iframe, एक स्थिर निर्यात या एक प्रकाशन पाइपलाइन की खपत करता है, और यह एक संपादन सत्र के रूप में मज़बूती से पुनः आयात करने योग्य नहीं है।
इसका उपयोग तब करें जब: कुछ डाउनस्ट्रीम को इसे संपादक के बिना प्रस्तुत करना पड़ता है।
भविष्य के संपादन के लिए आपके संपादक को आवश्यक प्रतिनिधित्व संग्रहीत करें, और अपने फ्रंटएंड या प्रकाशन पाइपलाइन के लिए आवश्यक आउटपुट उत्पन्न करें।
बक्सों का इस्तेमाल करें
आप हेडलेस CMS विज़ुअल एडिटर के साथ क्या बना सकते हैं?
एक ही संपादन परत, आपके उत्पाद के विभिन्न हिस्सों की ओर इशारा करती है। इनमें से प्रत्येक का GJS.Market पर अपना एक पृष्ठ है, क्योंकि संपादक से आगे निकलने के बाद हर एक अलग-अलग प्रश्न उठाता है।
इंजन के साथ क्या आता है, एक प्लगइन क्या जोड़ता है, और आपके एप्लिकेशन का काम क्या रहता है। अंतर तब मायने रखता है जब आप फीचर सूची पढ़ने के बजाय काम कर रहे हों।
खींचें और छोड़ें — GrapesJS कोर
अवयव — GrapesJS कोर
ब्लॉक — GrapesJS कोर
शैली प्रबंधक — GrapesJS कोर
उत्तरदायी संपादन — GrapesJS कोर
लेयरिंग — GrapesJS कोर
संपत्ति — Plugin
टेम्पलेट्स — Plugin
पूर्वसमीक्षा — आपका आवेदन
द्वारा प्रदान किया गयाआपका आवेदनGrapesJS कोरPlugin
GrapesJS कोई CMS नहीं, कोई होस्टिंग नहीं, कोई उपयोगकर्ता खाता नहीं और कोई अनुमति मॉडल नहीं। वे आपके CMS और आपके एप्लिकेशन के साथ रहते हैं।
प्रति सामग्री प्रकार चुनना
CMS संपादक या पेज बिल्डर?
यह एक निर्णय नहीं है जो आप पूरे उत्पाद के लिए एक बार लेते हैं। यह एक निर्णय है जो आप प्रति सामग्री प्रकार करते हैं, और अधिकांश टीमें दोनों को चलाती हैं।
संरचित सामग्री संपादक
आपके CMS का अपना फॉर्म-आधारित संपादन, स्कीमा द्वारा संचालित।
के लिए सबसे अच्छा
आर्टिकल्स
टेक्स्ट
संरचित क्षेत्र
सरल सामग्री
विज़ुअल पेज बिल्डर
एक कैनवास, जहां व्यवस्था सामग्री है।
के लिए सबसे अच्छा
लैंडिंग पृष्ठ
विपणन पृष्ठ
कस्टम लेआउट
दृश्य वेबसाइटें
जटिल पृष्ठ संरचना
संरचित फ़ील्ड का उपयोग करें जहां संरचना मायने रखती है। विज़ुअल संपादन का उपयोग करें जहां लेआउट और संरचना मायने रखती है।
कार्यप्रवाह
प्रकाशन से पहले सामग्री का पूर्वावलोकन करें
संपादन और प्रकाशन अलग-अलग ईवेंट हैं, और एक हेडलेस सेटअप इसे लागू करना आसान बनाता है: ड्राफ्ट दस्तावेज़ और प्रकाशित दस्तावेज़ अलग-अलग पंक्तियाँ हैं, जिन्हें अलग-अलग टोकन द्वारा पढ़ा जाता है।
1
CMS ड्राफ्ट
प्रविष्टि ड्राफ्ट स्थिति के साथ आपके CMS में मौजूद है।
2
GrapesJS संपादक
कोई व्यक्ति कैनवास पर पेज की रचना करता है।
3
पूर्वसमीक्षा
आपका फ्रंटएंड हर डिवाइस की चौड़ाई पर ड्राफ्ट को रेंडर करता है.
4
समीक्षा
एक दूसरा व्यक्ति पृष्ठ को पढ़ता है क्योंकि आगंतुक इसे देखेंगे।
5
स्वीकृत करें
अनुमोदन आपके आवेदन द्वारा दर्ज किया जाता है, संपादक द्वारा नहीं।
6
प्रकाशित करना
आपका CMS ड्राफ्ट को बढ़ावा देता है और आपका फ्रंटएंड पुनः मान्य होता है।
मानव द्वार
एक समीक्षक को किसके बीच स्विच करने में सक्षम होना चाहिए
डेस्कटॉप
टिकिया
मोबाइल
ड्राफ्ट
प्रकाशित
संपादन को प्रकाशन से अलग करें।
मल्टी-चैनल
एक बार बनाएं। हर जगह वितरित करें।
यह वह लाभ है जिसे आपने पहले ही खरीदा था जब आपने एक हेडलेस CMS चुना था, और एक विज़ुअल एडिटर जोड़ने से इसे खर्च नहीं होता है - जब तक कि संपादक जो लिखता है वह टेम्पलेट के बजाय सामग्री API में रहता है।
बिना सिर के CMS
एक सामग्री API, हर चैनल द्वारा पढ़ी जाती है
पेज
ब्लॉक
संपत्ति
वेबसाइट
Next.js
मोबाइल
React Native
आवेदन
Nuxt
प्रत्येक चैनल अपने स्वयं के रेंडरर के साथ एक ही पेलोड की व्याख्या करता है।
एक हेडलेस आर्किटेक्चर एक ही सामग्री के बुनियादी ढांचे को अलग-अलग फ्रंटएंड की सेवा करने देता है।
बहु-किरायेदार
एक बहु-किरायेदार हेडलेस CMS संपादक बनाएं
यदि संपादक एक आंतरिक उपकरण के बजाय किसी उत्पाद का हिस्सा है, तो प्रत्येक ग्राहक संगठन को अपने स्वयं के पृष्ठों, संपत्तियों और टेम्पलेट्स की आवश्यकता होती है - और उसे कभी भी किसी और के पृष्ठों को नहीं देखना चाहिए।
आपका आवेदन
विभाजन यहां सर्वर पर लागू किया गया है
संगठन ए
पेज
संपत्ति
टेम्पलेट्स
अनुमतियां
संगठन B
पेज
संपत्ति
टेम्पलेट्स
अनुमतियां
संगठन सी
पेज
संपत्ति
टेम्पलेट्स
अनुमतियां
एक संपादक, एक सामग्री API, प्रति संगठन अलग डेटा।
GrapesJS अपनी खुद की कोई बहु-किरायेदारी प्रदान नहीं करता है। किरायेदार अलगाव, प्रति-किरायेदार ब्रांडिंग और प्रकाशन नियम आपके आवेदन की जिम्मेदारी हैं, और प्रत्येक भंडारण कॉल को सर्वर-साइड का स्कोप करना होगा।
यदि आपके ग्राहक संपादक का उपयोग करते हैं, तो यह आपके उत्पाद के हिस्से की तरह दिखना चाहिए। पैनल, आइकन सेट, ब्लॉक लाइब्रेरी और टेम्प्लेट सभी कॉन्फ़िगर करने योग्य हैं, और आसपास का एप्लिकेशन वह सब कुछ प्रदान करता है जो संपादक नहीं करता है।
कस्टम लोगो
कस्टम रंग
कस्टम इंटरफ़ेस
कस्टम ब्लॉक
कस्टम टेम्पलेट्स
भूमिकाएं
अनुमतियां
भूमिकाएं और अनुमतियां उस सूची में हैं क्योंकि एक ब्रांडेड संपादक को उनकी आवश्यकता होती है - इसलिए नहीं कि संपादक उन्हें प्रदान करता है। वे आपके बैकएंड द्वारा लागू किए जाते हैं।
इंजन स्टैक का एक पायदान है। नीचे पूरी सीढ़ी है, प्रत्येक पायदान पर एक ईमानदार लेबल के साथ: GrapesJS में ही कौन सा जहाज है, आप GJS.Market पर क्या खरीद या डाउनलोड कर सकते हैं, और आपका अपना काम क्या रहता है।
GrapesJS कोरखुला स्रोत
CMS एकीकरणआपका काम
ब्लॉकGJS.Market
टेम्पलेट्सGJS.Market
संपत्तिGJS.Market
भंडारGJS.Market
फार्मGJS.Market
SEOGJS.Market
निर्यातित मालGJS.Market
प्रकाशन-व्यवसायGJS.Market
अनुमतियां और लेखा परीक्षाआपका काम
दो पायदानों को उद्देश्य पर आपके अपने काम के रूप में चिह्नित किया गया है। CMS एकीकरण आपके सामग्री मॉडल के लिए विशिष्ट है, और कैटलॉग में कोई अनुमति या ऑडिट-लॉग प्लगइन नहीं है - एक कार्यान्वयन भागीदार दोनों का निर्माण कर सकता है, लेकिन यहां कोई भी उत्पाद नहीं होगा।
वास्तविक लिस्टिंग
प्लगइन्स जो हेडलेस सेटअप के लिए मायने रखते हैं
नीचे दी गई प्रत्येक लिस्टिंग को लाइव कैटलॉग के खिलाफ जांचा गया था और यह प्रकाशित और खरीदने योग्य है। कीमतें निर्माण समय पर बाज़ार से पढ़ी जाती हैं, इसलिए आप जो देखते हैं वह वही है जो आज लिस्टिंग कहती है।
भंडारण और दृढ़ता
प्रोजेक्ट दस्तावेज़ कहां जाता है, और क्या होता है जब कोई ब्राउज़र वहां पहुंचने से पहले मर जाता है।
पांच शुरुआती सेट, एक ही सत्यापित लिस्टिंग से तैयार किए गए हैं। उनमें से कोई भी एक बंडल नहीं है जिसे आप एक क्लिक में खरीदते हैं - वे ऐसे संयोजन हैं जो प्रत्येक प्रकार के उत्पाद के लिए आते रहते हैं।
विपणन CMS
ब्लॉक, टेम्प्लेट, एक प्रपत्र घटक और एक SEO पैनल — डेवलपर के बिना एक टीम शिपिंग अभियान पृष्ठों के लिए पर्याप्त है।
स्क्रैच बनाम GrapesJS से एक हेडलेस CMS संपादक बनाएं
विक्रेता तुलना नहीं - एक गुंजाइश तुलना। प्रत्येक पंक्ति एक सबसिस्टम है जिसकी एक विज़ुअल एडिटर को आवश्यकता होती है, और एकमात्र सवाल यह है कि क्या आपकी टीम इसे लिखती है।
योग्यता
खरोंच से
GrapesJS
कैंवस
निर्माण
शामिल
खींचें और छोड़ें
निर्माण
शामिल
अवयव
निर्माण
शामिल
ब्लॉक
निर्माण
एक्स्टेंसिबल
बिछाना
निर्माण
शामिल
उत्तरदायी संपादन
निर्माण
शामिल
लेयरिंग
निर्माण
शामिल
संपत्ति
निर्माण
एक्स्टेंसिबल
टेम्पलेट्स
निर्माण
एक्स्टेंसिबल
भंडार
निर्माण
एक्स्टेंसिबल
निर्यातित माल
निर्माण
एक्स्टेंसिबल
"एक्स्टेंसिबल" का अर्थ है कि सबसिस्टम मौजूद है और इसमें एक एक्सटेंशन बिंदु है - ब्लॉक सेट, टेम्पलेट लाइब्रेरी, एसेट बैकएंड, स्टोरेज लक्ष्य और निर्यात प्रारूप कैटलॉग या आपके स्वयं के कोड से आपूर्ति करने के लिए आपका है। कैटलॉग के दावे सत्यापित 2026-09-03।
अपना CMS उत्पाद बनाएं। विज़ुअल एडिटर इंजन का पुनर्निर्माण न करें।
आपत्ति
क्यों न केवल मेरे CMS के अंतर्निहित संपादक का उपयोग किया जाए?
अक्सर आपको चाहिए। एक अंतर्निहित संपादक पहले से ही एकीकृत है, पहले से ही अनुमति दी गई है और पहले से ही परिचित है, और संरचित सामग्री के लिए यह आमतौर पर सही उत्तर है। एक समर्पित दृश्य संपादन परत अपनी जगह तब अर्जित करती है जब आपको उन चीजों की आवश्यकता होती है जिन्हें करने के लिए अंतर्निहित संपादक नहीं बनाया गया था:
पृष्ठ पर ही समृद्ध दृश्य संपादन
कस्टम ब्लॉक जो आपके डिज़ाइन सिस्टम से मेल खाते हैं
प्रत्येक डिवाइस की चौड़ाई पर उत्तरदायी लेआउट की जाँच की गई
कस्टम घटक आपके स्वयं के सामग्री प्रकारों से बंधे हैं
आपके बाकी उत्पाद के साथ गहरा एकीकरण
एक व्हाइट-लेबल इंटरफ़ेस जिसका उपयोग आपके ग्राहक कर सकते हैं
कस्टम समीक्षा और प्रकाशन वर्कफ़्लोज़
किसी एक मोर्चे से स्वतंत्रता
यह दावा नहीं है कि अंतर्निहित संपादक हीन हैं। यह दावा है कि संपादन सतह और सामग्री अवसंरचना अलग-अलग निर्णय हैं।
अपना CMS रखें। अपना संपादन अनुभव चुनें।
कार्यान्वयन
हेडलेस CMS विज़ुअल एडिटर कैसे बनाएं
1
चरण 1
अपने सामग्री मॉडल को परिभाषित करें
तय करें कि संपादक को क्या बनाने की अनुमति है, और यह किन मौजूदा सामग्री प्रकारों में लिखता है। यह निर्णय आने वाले सभी लोगों को बाधित करता है, इसलिए किसी भी संपादक कोड को लिखने से पहले इसे बना लें।
ड्राफ्ट को अपने वास्तविक फ्रंटएंड के साथ प्रस्तुत करें, एक ऐसे मार्ग पर जिस तक केवल एक प्रमाणित समीक्षक ही पहुंच सकता है। और कुछ भी एक अलग साइट का पूर्वावलोकन है।
GrapesJS को इस बात की परवाह नहीं है कि दूसरा सिरा REST, GraphQL है या आपकी टीम ने आविष्कार किया है। एक स्टोरेज एडाप्टर एक लोड फ़ंक्शन और एक स्टोर फ़ंक्शन है, और नीचे दी गई हर चीज़ आपके अंदर एक विकल्प है।
GrapesJS
↓→
भंडारण एडाप्टर
↓→
REST / GraphQL
↓→
बिना सिर के CMS
एडॉप्टर को क्या कवर करना है
लोड प्रोजेक्ट
संग्रहीत दस्तावेज़ को एक पृष्ठ के लिए प्राप्त करें और इसे स्टार्ट-अप पर संपादक को सौंप दें।
प्रोजेक्ट सहेजें
इसे वापस लिखें, आदर्श रूप से प्रकाशित प्रविष्टि के बजाय मसौदे के अपडेट के रूप में।
स्वतः सेव
परिवर्तन गणना या टाइमर पर बचत करें, और समापन बिंदु को अक्सर कॉल किए जाने को सहन करें।
संपत्ति
अपनी मीडिया पाइपलाइन के माध्यम से अपलोड करें और वह URL लौटाएं जिसे एसेट मैनेजर को दिखाना चाहिए।
पूर्वसमीक्षा
ड्राफ्ट को टोकन के पीछे अपने फ्रंटएंड पर उजागर करें, और किसी और के लिए।
प्रकाशित करना
एक अलग, अधिकृत समापन बिंदु। सेव के रूप में कभी भी एक ही कॉल नहीं।
एक ही एडाप्टर, GraphQL के खिलाफjavascript
// A storage adapter is just two functions, so GraphQL needs no extra plugin.
editor.Storage.add('cms', {
async load() {
const res = await gql(`query Page($id: ID!) { page(id: $id) { project } }`);
return res.page.project;
},
async store(data) {
await gql(`mutation Save($id: ID!, $project: JSON!) {
updatePage(id: $id, data: { project: $project }) { id }
}`, { project: data });
},
});
कोई GraphQL एडाप्टर पैकेज GJS.Market पर प्रकाशित नहीं हुआ है - ऊपर दिया गया स्निपेट संपूर्ण एकीकरण है, यही कारण है कि किसी की आवश्यकता नहीं है।
दो कार्य एक दृश्य संपादक और एक सामग्री API के बीच संपूर्ण अनुबंध है।
उत्पादन
उत्पादन-तैयार हेडलेस CMS संपादक
एक टीम जिस सूची के माध्यम से काम करती है वह एक कार्यशील प्रोटोटाइप और ग्राहकों द्वारा स्पर्श की जाने वाली किसी चीज़ के बीच काम करती है। यहां कुछ भी विदेशी नहीं है; यह सब कम से कम एक बार छोड़ दिया जाता है।
Editor
✓संपादक जीवनचक्र: मार्ग परिवर्तन पर साफ-सुथरी शुरुआत और नष्ट करें
✓किसी भी प्रोजेक्ट लोड से पहले पंजीकृत कस्टम घटक प्रकार
✓केवल इस संपादक द्वारा वास्तव में उपयोग किए जाने वाले प्लगइन्स को बंडल किया जाता है
डाटा
✓परियोजना की दृढ़ता एक वास्तविक API के खिलाफ साबित हुई, नकली नहीं
✓ऑटोसेव अंतराल ट्यून किया गया, और एक दृश्यमान सहेजी गई स्थिति
✓संशोधन रखे गए, इसलिए एक खराब बचत पुनर्प्राप्त करने योग्य है
सामग्री
✓कुछ भी लिखने से पहले सर्वर पर स्कीमा सत्यापन
✓सामग्री मॉडल को घटक प्रकारों के साथ प्रलेखित और संस्करण किया गया है
✓संरचित आउटपुट को प्रकाशित करने पर पुनः उत्पन्न किया गया, संपादक से कैश नहीं किया गया
प्रतिभूति
✓API प्रत्येक लोड पर प्रमाणीकरण, सहेजें और अपलोड करें
✓विशिष्ट पृष्ठ के लिए सर्वर-साइड की जाँच की गई प्राधिकरण
✓अपलोड सत्यापन: प्रकार, आकार और गंतव्य
✓क्वेरी में लागू किया गया टेनेंट अलगाव इंटरफ़ेस में नहीं
कार्यप्रवाह
✓CMS में प्रकाशित राज्य से अलग ड्राफ्ट राज्य
✓पूर्वावलोकन मार्ग प्रमाणित और अनुक्रमण से बाहर रखा गया
✓किसके साथ और कब रिकॉर्ड किए गए चरण की समीक्षा करें
✓समापन बिंदु को अलग, अधिकृत और ऑडिट करने योग्य प्रकाशित करना
प्रतिभूति
सुरक्षा के मनन
एक विज़ुअल एडिटर आपकी सामग्री के बुनियादी ढांचे में एक लेखन पथ है, इसलिए यह हर नियम को विरासत में लेता है जो पथ पहले से था - और सतह पर फ़ाइल अपलोड और मनमाने ढंग से मार्कअप जोड़ता है।
सर्वर पर अधिकृत करें
प्रत्येक लोड, सहेजें, अपलोड करें और प्रकाशित करें की जाँच सत्र के खिलाफ, उस विशिष्ट पृष्ठ के लिए, सर्वर पर की जाती है।
क्वेरी में किरायेदारों को अलग करें
डेटाबेस क्वेरी में ही टेनेंट द्वारा स्कोप। पढ़ने के बाद लागू किया गया फ़िल्टर अलगाव नहीं है।
API प्रमाणित करें
संपादक आपके CMS द्वारा जारी किए गए सत्र का उपयोग करता है। ब्राउज़र कोड में कोई प्रबंधन या व्यवस्थापक टोकन नहीं है।
अपलोड की पुष्टि करें
प्रकार, आकार और गंतव्य सर्वर-साइड की जाँच करें, और उपयोगकर्ता मीडिया को एक अलग मूल से परोसें जहाँ आप कर सकते हैं।
सामग्री को साफ करें
संपादक कस्टम कोड रख सकते हैं। जानबूझकर तय करें कि कौन कर सकता है, और आगंतुकों को जो प्रदान किया जाता है उसे साफ करें।
प्रकाशन को सुरक्षित रखें
अपनी स्वयं की अनुमति जांच के साथ एक अलग समापन बिंदु, इसलिए संपादित करने में सक्षम होना प्रकाशित करने में सक्षम होने के समान नहीं है।
कभी भी केवल क्लाइंट-साइड अनुमतियों पर भरोसा न करें। पैनल छिपाना एक उपयोगकर्ता-इंटरफ़ेस निर्णय है, सुरक्षा नियंत्रण नहीं।
प्रदर्शन
प्रदर्शन के विचार
संपादक रनटाइम एक डेवलपर टूल है और केवल संपादन मार्ग पर संबंधित है। इस आर्किटेक्चर में लगभग हर प्रदर्शन समस्या इसे आगंतुकों द्वारा लोड किए गए पृष्ठों में लीक होने देने से आती है।
संपादक को आलस्य से लोड करें
इसे संपादन मार्ग पर आयात करें। विज़िटर-फ़ेसिंग पेज के बारे में कुछ भी संपादन बंडल की आवश्यकता नहीं है।
पृष्ठ बड़ी संपत्ति लाइब्रेरी
एक मीडिया लाइब्रेरी बिना किसी सीमा के बढ़ती है। इसे पूरा लोड करने के बजाय इसे सर्वर-साइड पर खोजें।
केवल आपके द्वारा उपयोग किए जाने वाले प्लगइन्स को बंडल करें
प्रत्येक प्लगइन स्टार्ट-अप पर घटकों, कमांड और पैनलों को पंजीकृत करता है। अप्रयुक्त लोगों को हर खुले पर समय लगता है।
रनटाइम को प्रकाशित पृष्ठों से बाहर रखें
प्रकाशित आउटपुट मार्कअप होना चाहिए और शैलियों को आपके फ्रंटएंड द्वारा प्रस्तुत किया जाना चाहिए, जिसमें कोई संपादक कोड नहीं भेजा गया है।
कैश API जानबूझकर प्रतिक्रियाएँ
डिलीवरी API को कड़ी मेहनत से कैश किया जा सकता है; पूर्वावलोकन के पीछे पढ़ा गया मसौदा आमतौर पर नहीं हो सकता। उनके साथ अलग से व्यवहार करें।
यहां कोई समय उद्धृत नहीं किया गया है क्योंकि इस पृष्ठ के लिए कोई भी मापा नहीं गया है। अपने स्वयं के ब्लॉक सेट के साथ अपने स्वयं के संपादक को मापें - ब्लॉक लाइब्रेरी और संपत्ति की संख्या संख्याओं पर हावी है।
इन्हें कौन बनाता है
हेडलेस CMS संपादक कौन बनाता है?
पांच आवर्ती आकार। वे एक ही वास्तुकला के अलग-अलग प्रश्न पूछते हैं, और प्रत्येक के पास यहां एक पृष्ठ है जो अपने स्वयं के उत्तर देता है।
यह वह इंटरफ़ेस है जिसका उपयोग लोग हेडलेस CMS में सामग्री बनाने के लिए करते हैं - वह परत जो सामग्री API के ऊपर बैठती है। हेडलेस आर्किटेक्चर में संपादन इंटरफ़ेस फ्रंटएंड से बंधा नहीं होता है, इसलिए यह CMS का अपना फॉर्म-आधारित संपादक, आपके द्वारा जोड़ा गया एक विज़ुअल एडिटर, या विभिन्न सामग्री प्रकारों के लिए दोनों हो सकता है।
हेडलेस CMS विज़ुअल एडिटर क्या है?
एक दृश्य संपादक वह है जहां संपादन करने वाला व्यक्ति पृष्ठ को लिखते समय देखता है: फ़ील्ड की सूची के बजाय एक कैनवास, draggable अनुभाग, शैली नियंत्रण और डिवाइस की चौड़ाई। यह अभी भी सामग्री API के माध्यम से लिखता है, इसलिए सामग्री बिना सिर के रहती है।
क्या मैं हेडलेस CMS के साथ GrapesJS का उपयोग कर सकता हूँ?
हाँ। GrapesJS एक स्टोरेज एडाप्टर के माध्यम से बना रहता है - एक लोड फ़ंक्शन और एक स्टोर फ़ंक्शन जिसे आप अपने API पर इंगित करते हैं। कोई भी CMS जो किसी दस्तावेज़ को वापस कर सकता है और अपडेट स्वीकार कर सकता है, वह उसका समर्थन कर सकता है।
क्या मैं GrapesJS के साथ Strapi का उपयोग कर सकता हूँ?
Strapi एकीकरण नहीं है और Strapi पर कोई GJS.Market प्लगइन नहीं है। सामान्य दृष्टिकोण पृष्ठ सामग्री प्रकार पर JSON फ़ील्ड है, जिसमें संपादक का स्टोरेज एडाप्टर कॉलर के सत्र का उपयोग करके Strapi के REST या GraphQL API को कॉल करता है।
क्या मैं GrapesJS के साथ Contentful का उपयोग कर सकता हूँ?
कोई आधिकारिक एकीकरण मौजूद नहीं है। Contentful इसकी डिलीवरी और प्रबंधन APIs को अलग करता है, इसलिए एक एकीकरण डिलीवरी के माध्यम से पढ़ता है और आपके सर्वर से प्रबंधन के माध्यम से लिखता है - ब्राउज़र में उजागर प्रबंधन टोकन के साथ कभी नहीं।
क्या मैं GrapesJS के साथ Sanity का उपयोग कर सकता हूँ?
कोई आधिकारिक एकीकरण मौजूद नहीं है। Sanity का दस्तावेज़ स्टोर संपादक के प्रोजेक्ट दस्तावेज़ को आपके मौजूदा फ़ील्ड के साथ रख सकता है, एडेप्टर उस दस्तावेज़ को Sanity के API के माध्यम से पढ़ सकता है और पैच कर सकता है।
क्या मैं GrapesJS के साथ Directus का उपयोग कर सकता हूँ?
Directus GJS.Market पर प्रकाशित सामुदायिक भंडारण प्लगइन वाला एक मंच है। यह एक संदर्भ के रूप में मुफ़्त और उपयोगी है, लेकिन इसकी अपनी लिस्टिंग नोट करती है कि यह एक पुराने Directus SDK को लक्षित करती है, इसलिए इसके कुछ हिस्सों को अपडेट या फिर से लिखने की योजना बनाएं।
क्या मैं GrapesJS के साथ Payload का उपयोग कर सकता हूँ?
कोई आधिकारिक एकीकरण मौजूद नहीं है। Payload के संग्रह कोड में परिभाषित किए गए हैं, इसलिए संपादक जिस क्षेत्र में लिखता है उसे संपादक के समान भंडार में घोषित किया जा सकता है, जो एडेप्टर को असामान्य रूप से छोटा बनाता है।
क्या मैं एक कस्टम CMS कनेक्ट कर सकता हूँ?
हां, और यह अक्सर सबसे सरल मामला होता है। यदि आपका बैकएंड लोड अनुरोध का उत्तर दे सकता है और एक दस्तावेज़ के लिए सहेजने के अनुरोध को स्वीकार कर सकता है, तो यह संपादक का समर्थन कर सकता है। संपादक के बारे में कुछ भी किसी विशेष उत्पाद को नहीं मानता है।
क्या मैं REST APIs का उपयोग कर सकता हूँ?
हाँ। अंतर्निहित रिमोट स्टोरेज एक लोड URL और एक स्टोर URL और आपके फ़ेच विकल्प लेता है, इसलिए REST एकीकरण कोड के बजाय कॉन्फ़िगरेशन हो सकता है।
क्या मैं GraphQL का उपयोग कर सकता हूँ?
हाँ। एक कस्टम स्टोरेज एडाप्टर पंजीकृत करें जिसका लोड एक क्वेरी चलाता है और जिसका स्टोर म्यूटेशन चलाता है। कोई GraphQL-विशिष्ट प्लगइन की आवश्यकता नहीं है, और कोई भी GJS.Market पर प्रकाशित नहीं हुआ है।
क्या मैं GrapesJS परियोजनाओं को JSON के रूप में संग्रहीत कर सकता हूँ?
हाँ - परियोजना दस्तावेज़ संरचित डेटा है, और एक JSON कॉलम या फ़ील्ड वह जगह है जहां यह आमतौर पर जाता है। यह वह प्रतिनिधित्व है जिसे रखना है कि क्या पृष्ठ संपादक में फिर से खोला जाएगा।
क्या मैं HTML और CSS उत्पन्न कर सकता हूँ?
हाँ। संपादक एक ही घटक वृक्ष से प्रदान किए गए मार्कअप और स्टाइलशीट को उजागर करता है, जो कि एक पूर्वावलोकन iframe, एक स्थिर निर्यात या एक प्रकाशन पाइपलाइन की खपत करता है।
क्या मुझे HTML या प्रोजेक्ट डेटा संग्रहीत करना चाहिए?
प्रोजेक्ट डेटा संग्रहीत करें यदि पृष्ठ को फिर से संपादित किया जाएगा, क्योंकि यह एकमात्र प्रतिनिधित्व है जो सत्र को ईमानदारी से पुनर्निर्माण करता है। प्रतिपादन और प्रकाशन के लिए मार्कअप उत्पन्न करें। कई उत्पादन सेटअप दोनों को अलग-अलग क्षेत्रों में रखते हैं।
क्या मैं कस्टम ब्लॉक बना सकता हूँ?
हाँ। Blocks ब्लॉक मैनेजर के माध्यम से पंजीकृत हैं, और एक ब्लॉक आपके द्वारा परिभाषित किसी भी घटक प्रकार को सम्मिलित कर सकता है - जिसमें आपकी अपनी सामग्री स्कीमा से बंधा हुआ एक भी शामिल है।
क्या मैं अपने CMS स्कीमा में ब्लॉक मैप कर सकता हूं?
हाँ। एक घटक प्रकार को परिभाषित करें जिसका traits आपके CMS फ़ील्ड नामों का उपयोग करता है, फिर एडॉप्टर को उन traits को एक प्रविष्टि में पढ़ने के लिए कहें। दोनों तरफ नामों को समान रखना ही मैपिंग को तुच्छ रखता है।
क्या मैं एक विज़ुअल लैंडिंग पेज बिल्डर बना सकता हूँ?
हां, और यह सबसे आम पहले उपयोग का मामला है। एक अभियान पृष्ठ वह जगह है जहां संरचित फ़ील्ड सबसे कमजोर होते हैं और एक कैनवास सबसे मजबूत होता है।
क्या मैं एक बहु-किरायेदार CMS संपादक बना सकता हूँ?
हां, लेकिन किरायेदारी आपके आवेदन की है, संपादक का नहीं। GrapesJS में किरायेदार की कोई अवधारणा नहीं है; प्रत्येक भंडारण और संपत्ति कॉल को सर्वर पर स्कोप करना होगा।
क्या मैं SaaS पेज बिल्डर बना सकता हूँ?
हाँ। इसका मतलब है कि संपादक के शीर्ष पर खातों, योजनाओं, सीमाओं और प्रकाशन को जोड़ना - ये सभी संपादन इंजन के बजाय आपके उत्पाद में रहते हैं।
क्या मैं एक व्हाइट-लेबल संपादक बना सकता हूँ?
हाँ। पैनल, आइकन, स्टाइलिंग, ब्लॉक लाइब्रेरी और टेम्प्लेट सभी कॉन्फ़िगर करने योग्य हैं, इसलिए संपादक को आपके अपने उत्पाद के हिस्से के रूप में पढ़ने के लिए बनाया जा सकता है।
क्या मैं अपना खुद का परिसंपत्ति प्रबंधन जोड़ सकता हूं?
हाँ। एसेट मैनेजर के पास एक अपलोड हुक होता है, इसलिए इसे आपकी मीडिया पाइपलाइन या CDN पर इंगित किया जा सकता है। सामान्य होस्ट किए गए अपलोडर के लिए प्लगइन्स मौजूद हैं।
क्या मैं ड्राफ़्ट बना सकता हूँ और वर्कफ़्लो प्रकाशित कर सकता हूँ?
हां, आपके CMS के पास पहले से मौजूद राज्यों का उपयोग करना। एक अलग अधिकृत समापन बिंदु के पीछे प्रकाशित करते रहें ताकि संपादित करने में सक्षम होने का मतलब प्रकाशित करने में सक्षम न हो।
क्या मैं प्लगइन्स के साथ संपादक का विस्तार कर सकता हूं?
हाँ। प्लगइन्स घटक, ब्लॉक, कमांड, पैनल और भंडारण लक्ष्य जोड़ते हैं। GJS.Market कैटलॉग में ब्लॉक, टेम्प्लेट, संपत्ति, भंडारण, प्रपत्र, SEO, निर्यात और प्रकाशन शामिल हैं; अनुमतियाँ और ऑडिट लॉगिंग कवर नहीं की गई हैं और कस्टम कार्य बनी हुई हैं।
सेवाएं
क्या आपको अपना हेडलेस CMS संपादक बनाने में सहायता चाहिए?
GrapesJS को Strapi, Contentful, Sanity, Directus, Payload या कस्टम CMS के साथ एकीकृत करने में सहायता चाहिए? संपादक एकीकरण, कस्टम घटकों, भंडारण, प्लगइन्स और उत्पादन वर्कफ़्लो के साथ सहायता प्राप्त करें।
अपने हेडलेस CMS को वह संपादन अनुभव दें जिसका वह हकदार है
अपने मौजूदा CMS, सामग्री मॉडल और फ्रंटएंड आर्किटेक्चर को बनाए रखें। दृश्य संपादन परत के रूप में GrapesJS जोड़ें, फिर जैसे-जैसे आपका उत्पाद बढ़ता है, इसे GJS.Market प्लगइन्स के साथ विस्तारित करें।
यहां से शुरू करें
अपना हेडलेस CMS संपादक बनाएं
हमें CMS, सामग्री मॉडल और आपकी टीम को लिखने के लिए आवश्यक पृष्ठ बताएं, और एक स्कोप सेटअप वापस प्राप्त करें।