स्प्रिंग अभियान लॉन्च करें
इस पाठ पर क्लिक करें और उस पर लिखें.
पुनः प्रयोज्य अनुभागों, उत्तरदायी संपादन, कस्टम घटकों, प्रपत्रों, SEO नियंत्रणों और अपने स्वयं के प्रकाशन वर्कफ़्लो के साथ एक दृश्य, ड्रैग-एंड-ड्रॉप लैंडिंग पृष्ठ बिल्डर बनाएं।
ब्लॉक
लेयरिंग
शैलियों
एक खाली कैनवास या एक टेम्पलेट से शुरू करें, अनुभागों को जगह में खींचें, शैलियों और सामग्री को अनुकूलित करें, और अपने स्वयं के एप्लिकेशन के माध्यम से प्रकाशित करें। नीचे दिए गए कैनवास में एक ब्लॉक खींचें - या एक ब्लॉक टैप करें, फिर कैनवास पर टैप करें - यह देखने के लिए कि आपके उपयोगकर्ता क्या इशारा करेंगे।
अनुभाग
किसी अनुभाग को खींचें — या किसी अनुभाग पर टैप करें, फिर कैनवास पर टैप करें.
इस पाठ पर क्लिक करें और उस पर लिखें.
संक्षिप्त, स्कैन करने योग्य, लाभ-पहले।
तीन स्तर, एक की सिफारिश की जाती है।
शैलियों
उच्चारण
तीन सार्वजनिक GrapesJS बिल्ड होते हैं, केवल तभी लोड होते हैं जब आप एक मांगते हैं - जब तक आप क्लिक नहीं करते तब तक कुछ भी नहीं मिलता है।
एक नए टैब में खोलेंस्टॉक GrapesJS डेमो: ब्लॉक पैलेट, कैनवास, स्टाइल मैनेजर और लेयर ट्री। यहां दिखाई देने वाली हर चीज ओपन-सोर्स कोर में शिप होती है।
iframe में एक तृतीय-पक्ष डेमो लोड करता है। जब तक आप क्लिक नहीं करते तब तक कुछ भी अनुरोध नहीं किया जाता है।
एक लैंडिंग पेज बिल्डर एक विशेषता की तरह दिखता है और एक दर्जन की तरह व्यवहार करता है। इससे पहले कि कोई बाज़ारिया hero अनुभाग को जगह में खींच सके, किसी को एक कैनवास, एक घटक मॉडल, एक ड्रैग-एंड-ड्रॉप सिस्टम, एक स्टाइल मैनेजर, उत्तरदायी संपादन, पूर्ववत करें, परिसंपत्ति प्रबंधन और एक क्रमांकन प्रारूप बनाना होगा - और फिर यह सब काम करते रहें।
पहले संपादक आर्किटेक्चर डिज़ाइन करें, उत्पाद को दूसरे स्थान पर भेजें।
आप लागू करते हैं और बनाए रखते हैं
उनमें से हर एक अपने स्वयं के किनारे के मामलों के साथ एक सबसिस्टम है, और उनमें से कोई भी वह चीज नहीं है जिसके लिए आपके ग्राहक भुगतान करते हैं।
दिए गए अनुसार संपादन इंजन लें और इसे अनुकूलित करें।
पहले से ही ओपन-सोर्स कोर में
आप पैनलों को कॉन्फ़िगर करते हैं, अपने स्वयं के अनुभाग पंजीकृत करते हैं, और इसके बजाय उत्पाद पर अपना इंजीनियरिंग बजट खर्च करते हैं।
क्विकस्टार्ट देखेंमार्केटिंग-विशिष्ट टुकड़ों को लिखे बिना जोड़ें।
निर्मित के बजाय स्थापित
इंस्टॉल करें, कॉन्फ़िगर करें, कस्टमाइज़ करें, शिप करें - और अपनी टीम के कोड को उन हिस्सों के लिए रखें जिन्हें कोई और आपके लिए नहीं बना सकता है।
प्लगइन्स ब्राउज़ करेंGrapesJS आपको विज़ुअल एडिटिंग फाउंडेशन देता है ताकि आपकी टीम अपने आसपास के उत्पाद पर ध्यान केंद्रित कर सके।
उन्नीस उप-प्रणालियों, जो अंत में प्रत्येक एक के मालिक के द्वारा टैग किया गया है। मुद्दा यह नहीं है कि सूची लंबी है - यह है कि केवल अंतिम चार आपके व्यवसाय के लिए विशिष्ट हैं।
GrapesJS संपादन इंजन को कवर करता है। प्लगइन्स लैंडिंग-पेज-विशिष्ट सतहों को कवर करते हैं। अंतिम लेन में सब कुछ वह है जहां आपका उत्पाद वास्तव में हर किसी से अलग है।
एक लैंडिंग पेज बिल्डर एक विज़ुअल एडिटर है जो उपयोगकर्ताओं को हर HTML तत्व और CSS नियम को हाथ से लिखे बिना अभियान पृष्ठ बनाने देता है।
यह एक विशेषता नहीं है। एक लैंडिंग पेज बिल्डर एक एडिटर प्लस ब्लॉक प्लस टेम्प्लेट प्लस फॉर्म प्लस SEO प्लस एनालिटिक्स प्लस एक्सपेरिमेंट प्लस पब्लिशिंग - और उनमें से प्रत्येक इस बारे में निर्णय है कि किसका मालिक है।
व्यवहार में, एक आधुनिक लैंडिंग पेज बिल्डर से निम्नलिखित सभी प्रदान करने की अपेक्षा की जाती है:
टीमें एक से क्या उम्मीद करती हैं
उपयोगकर्ता सीधे रेंडर किए गए पेज में हेरफेर करता है. ड्रैग-एंड-ड्रॉप लैंडिंग पेज बिल्डर लेआउट को मर्ज अनुरोध के बजाय एक इशारा बनाता है.
विपणक नायकों, मूल्य निर्धारण तालिकाओं और अक्सर पूछे जाने वाले प्रश्नों में सोचते हैं. अनुभाग ब्लॉक के आसपास बनाया गया लैंडिंग पृष्ठ संपादक इस बात से मेल खाता है कि वास्तव में अभियानों की योजना कैसे बनाई जाती है.
आउटपुट मार्कअप है जिसे आप नियंत्रित करते हैं और कहीं भी प्रस्तुत कर सकते हैं - न कि होस्ट किए गए रनटाइम में लॉक किया गया मालिकाना स्वरूप।
GrapesJS दृश्य संपादन परत प्रदान करता है। आपका एप्लिकेशन बैकएंड, डेटा, प्रमाणीकरण और प्रकाशन वर्कफ़्लो को नियंत्रित करता है।
एक ही विज़ुअल एडिटिंग इंजन बहुत अलग उत्पादों को अंडरराइट करता है। इसके चारों ओर एप्लिकेशन क्या बदलता है - कौन लॉग इन करता है, उन्हें क्या करने की अनुमति है, और पृष्ठ कहाँ समाप्त होता है।
Launch उत्पाद और अभियान पृष्ठों को जल्दी से, प्रति शीर्षक परिवर्तन के बिना इंजीनियरिंग टिकट के बिना।
ड्रैग-एंड-ड्रॉप यांत्रिकीग्राहकों को सीधे आपके SaaS के अंदर, अपने स्वयं के खाते और अपनी ब्रांडिंग के तहत पेज बनाने दें।
SaaS बिल्डर का निर्माणएक पुनः प्रयोज्य संपादन प्रणाली बनाएं और इसे कई क्लाइंट परियोजनाओं पर लागू करें।
व्हाइट-लेबल बिल्डर्सएक पूरी तरह से ब्रांडेड पृष्ठ निर्माण अनुभव प्रदान करें जहां स्क्रीन पर कुछ भी GrapesJS नहीं कहता है।
व्हाइट-लेबल दृष्टिकोणआपके पास पहले से मौजूद सामग्री मॉडल के शीर्ष पर सामग्री टीमों को दृश्य संपादन दें।
हेडलेस CMS संपादनमार्केटिंग टीम को अपने स्वयं के टूलींग के अंदर इंजीनियरिंग समर्थन के बिना पेज बनाने की अनुमति दें।
ओपन-सोर्स दृष्टिकोणपहले पूर्ण CMS बनाए बिना अभियान पृष्ठों को शिप और पुनरावृति करें।
HTML आउटपुटविज़ुअल पेज निर्माण को सीधे किसी अन्य एप्लिकेशन में एम्बेड करें जिसका आपके ग्राहक पहले से उपयोग कर रहे हैं।
एक बिल्डर को एम्बेड करनाआपका आवेदन
परियोजना डेटा
GrapesJS
लाइव पेज के लिए लेखन
GrapesJS संपादन सतह का मालिक है। आपका एप्लिकेशन पहचान, डेटा और वितरण का मालिक है। उस लाइन को साफ रखना ही बिल्डर को बदलने योग्य, परीक्षण योग्य और आपका बनाता है।
ये GrapesJS लीक से हटकर प्रदान की जाने वाली संपादन क्षमताएं हैं, और जिन्हें इसके प्लगइन API को विस्तारित करने के लिए डिज़ाइन किया गया है।
नेत्रहीन रूप से लेआउट बनाएं। Components को कैनवास पर ही गिरा दिया जाता है, पुनः व्यवस्थित किया जाता है और नेस्टेड किया जाता है।
अपने स्वयं के अनुभागों और घटकों को एक बार पंजीकृत करें; प्रत्येक उपयोगकर्ता एक ही लाइब्रेरी को खींचता है।
संपादक में डिवाइस स्विच करें और प्रति ब्रेकपॉइंट नियम लिखें। डिफ़ॉल्ट डिवाइस सेट डेस्कटॉप, टैबलेट, मोबाइल लैंडस्केप और मोबाइल पोर्ट्रेट है।
घटक प्रकारों को उनके स्वयं के traits और व्यवहार के साथ परिभाषित करें ताकि संपादक आपके उत्पाद के डिज़ाइन सिस्टम से मेल खाता हो।
परिसंपत्ति प्रबंधक के माध्यम से छवियों और अन्य मीडिया को प्रबंधित करें, जो भी आप पहले से उपयोग कर रहे भंडारण द्वारा समर्थित है।
सेक्टर-समूहीकृत नियंत्रणों के माध्यम से टाइपोग्राफी, रिक्ति, रंग और लेआउट को नियंत्रित करें जिन्हें आप कॉन्फ़िगर कर सकते हैं।
कैटलॉग में टेम्पलेट प्लगइन्स के माध्यम से, खाली कैनवास के बजाय पुनः उपयोग किए जा सकने वाले लेआउट से अभियान शुरू करें.
getHtml() और getCss() कैनवास द्वारा प्रदान किए गए मार्कअप को वापस कर देते हैं, इसलिए प्रकाशित आउटपुट अनुकूलित करने के लिए आपका रहता है।
एक टेम्पलेट चुनें
खाली पेज के बजाय सेव किया गया लेआउट खोलें. सबसे तेज़ कैंपेन वह है जो 70% खत्म हो चुका है.
अनुभाग जोड़ें
hero, सुविधाएँ, मूल्य निर्धारण, प्रशंसापत्र और FAQ ब्लॉक को उस क्रम में खींचें जिसकी अभियान को आवश्यकता है।
सामग्री अनुकूलित करें
कैनवास पर कॉपी संपादित करें, एसेट मैनेजर के माध्यम से छवियों को स्वैप करें, लिंक सेट करें।
उत्तरदायी शैलियों को समायोजित करें
डिवाइस स्विच करें और लेआउट को प्रति ब्रेकपॉइंट ठीक करें, इससे पहले कि कोई इसे फ़ोन पर देखे।
प्रपत्र जोड़ें
कैप्चर फॉर्म में ड्रॉप करें और इसे अपने समापन बिंदु पर इंगित करें।
पूर्वसमीक्षा
प्रोजेक्ट डेटा से पेज को पूर्वावलोकन मार्ग पर रेंडर करें — वही रेंडरर जो लाइव पेज की सेवा करता है.
प्रकाशित करना
HTML, CSS और SEO रिकॉर्ड लिखें, स्लग असाइन करें, और इसे अपने स्वयं के बुनियादी ढांचे से परोसें।
एक बार बनाएं. सभी कैंपेन में फिर से इस्तेमाल करें.
GrapesJS कोर शून्य ब्लॉक जहाजों को भेजता है। यह कोई चूक नहीं है - यह विस्तार बिंदु है। आपके द्वारा पंजीकृत ब्लॉक लाइब्रेरी ठीक वही है जो एक सामान्य विज़ुअल एडिटर को एक उद्देश्य-निर्मित लैंडिंग पेज बिल्डर में बदल देती है, और यह आपके द्वारा लिखा जाने वाला उच्चतम-लीवरेज कोड है।
शीर्षक, उपशीर्षक और कार्रवाई के लिए प्राथमिक कॉल।
आइकन के साथ दो से चार लाभ कॉलम।
सामाजिक प्रमाण के रूप में ग्राहक या एकीकरण लोगो।
रूपांतरण बिंदु के पास उद्धरण, नाम और अवतार।
एक अनुशंसित कॉलम के साथ स्तरीय योजनाएं।
विकल्प के खिलाफ फ़ीचर टेबल आगंतुक वजन कर रहा है।
आगंतुक के अपने शब्दों में आपत्ति से निपटना।
लीड कैप्चर सतह, आपके API पर पोस्ट करना।
एकल-फ़ील्ड सदस्यता लें, उस आगंतुक के लिए जो अभी तक तैयार नहीं है।
बार-बार पूछना, पृष्ठ के निचले भाग में।
नेविगेशन, कानूनी और विश्वास संकेत।
कोर स्थापित करें, इसे माउंट करें, और उन अनुभागों को पंजीकृत करें जो इसे लैंडिंग पेज बिल्डर बनाते हैं। इस पृष्ठ पर बाकी सब कुछ इन पंक्तियों के शीर्ष पर स्तरित एक निर्णय है।
पदासीन करना
npm install grapesjsimport grapesjs from 'grapesjs';
import 'grapesjs/dist/css/grapes.min.css';
const editor = grapesjs.init({
container: '#editor',
height: '100vh',
// The core ships no blocks at all — the section library below is what
// turns a generic visual editor into a *landing page* builder.
blockManager: { appendTo: '#blocks' },
storageManager: false,
});
const SECTIONS = [
{ id: 'hero', label: 'Hero', html: '<section class="hero">…</section>' },
{ id: 'features', label: 'Features', html: '<section class="features">…</section>' },
{ id: 'logos', label: 'Logo cloud', html: '<section class="logos">…</section>' },
{ id: 'pricing', label: 'Pricing', html: '<section class="pricing">…</section>' },
{ id: 'faq', label: 'FAQ', html: '<section class="faq">…</section>' },
{ id: 'cta', label: 'Call to action', html: '<section class="cta">…</section>' },
];
SECTIONS.forEach(({ id, label, html }) => {
editor.Blocks.add(id, { label, category: 'Landing page', content: html });
});प्रत्येक ब्लॉक एक लेबल, एक श्रेणी और मार्कअप का एक हिस्सा है। मार्कअप को एक घटक प्रकार दें और इसे traits, बाधाएं और अपना टूलबार भी मिलता है।
एक टेम्पलेट एक सहेजा गया प्रोजेक्ट है जिसे उपयोगकर्ता एक खाली कैनवास के बजाय खोलता है। नीचे दी गई श्रेणियां लेआउट प्रकार हैं जो मार्केटिंग टीमें मांगती हैं - नीचे दिए गए प्लगइन्स वे हैं जो आपके उपयोगकर्ताओं को उन्हें सहेजने, प्रबंधित करने और फिर से खोलने देते हैं।
लेआउट प्रकार टीमें मांगती हैं
ये लेआउट प्रकार हैं, कैटलॉग लिस्टिंग नहीं: GJS.Market पर कोई टेम्पलेट उत्पाद प्रकार नहीं है। नीचे दिए गए टेम्पलेट और पेज मैनेजर वास्तविक प्लगइन्स हैं जो आपके बिल्डर को उन्हें रखने के लिए कहीं देते हैं।
कैप्चर सतह के बिना एक लैंडिंग पृष्ठ एक ब्रोशर है। प्रपत्र घटक एक संपादक चिंता है; सबमिट बटन के बाद सब कुछ आपका है।
सबमिशन पथ
प्रत्येक सबमिशन को अपने स्वयं के समापन बिंदु के माध्यम से रूट करें। यही वह जगह है जहां सत्यापन, दर सीमित करना, स्पैम हैंडलिंग, सहमति और सीआरएम रूटिंग है - और उनमें से कोई भी ऐसी चीज नहीं है जो एक पृष्ठ संपादक को तय करनी चाहिए।
// The form component is editor-side. The submission is yours.
// Never let the published page post straight to a third party you do not
// control — route it through your own endpoint so you keep the lead.
app.post('/api/leads', async (req, res) => {
const parsed = leadSchema.safeParse(req.body); // validate server-side
if (!parsed.success) return res.status(422).json({ error: 'invalid' });
await rateLimit(req.ip); // forms get abused
const lead = await db.leads.create({
data: { ...parsed.data, pageSlug: req.body.pageSlug, utm: pickUtm(req.body) },
});
await crm.upsertContact(lead); // your CRM, your rules
res.json({ ok: true });
});नाम, कार्य ईमेल, संदेश. B2B अभियान पृष्ठ पर डिफ़ॉल्ट बिक्री पथ.
एकल क्षेत्र, कम घर्षण, उन आगंतुकों के लिए जो रुचि रखते हैं लेकिन तैयार नहीं हैं।
सीधे उत्पाद में, अभियान मापदंडों के माध्यम से किया जाता है।
कंपनी का आकार, भूमिका, बजट — पहली कॉल से पहले बिक्री के लिए आवश्यक फ़ील्ड.
एक अभियान पृष्ठ जिसे एक विपणक डेवलपर के बिना शीर्षक, वर्णन या विहित नहीं कर सकता है, समाप्त नहीं हुआ है। GrapesJS दस्तावेज़ के मुख्य भाग को संपादित करता है; हेड आपके एप्लिकेशन से संबंधित है - इसलिए SEO रिकॉर्ड को शुरू से ही आपके पेज मॉडल का हिस्सा होना चाहिए।
पृष्ठ SEO
<title>meta[name=description]link[rel=canonical]meta[property^=og:]og:imagemeta[name=robots]application/ld+jsonप्रोजेक्ट डेटा के बगल में संग्रहीत, एक ही स्क्रीन में संपादित, प्रकाशित पर आपके रेंडरर द्वारा उत्सर्जित किया गया।
SEO मेटाडेटा को पेज रिकॉर्ड पर प्रथम श्रेणी के फ़ील्ड के रूप में मानें, न कि लॉन्च के बाद बोल्ट किए गए किसी चीज़ के रूप में। विपणक को पुल अनुरोध खोले बिना शीर्षक बदलने में सक्षम होना चाहिए।
// SEO belongs to your application, not to the canvas.
// Keep the marketing metadata beside the project data, so a marketer can
// edit it in the same screen and your renderer can emit it on publish.
type LandingPage = {
slug: string;
project: unknown; // editor.getProjectData()
seo: {
title: string;
description: string;
canonical?: string;
ogImage?: string;
robots?: 'index,follow' | 'noindex,nofollow';
jsonLd?: Record<string, unknown>;
};
};
// On publish, your renderer — not GrapesJS — writes the <head>.
function renderHead(page: LandingPage) {
return [
`<title>${escapeHtml(page.seo.title)}</title>`,
`<meta name="description" content="${escapeHtml(page.seo.description)}">`,
page.seo.canonical && `<link rel="canonical" href="${page.seo.canonical}">`,
page.seo.robots && `<meta name="robots" content="${page.seo.robots}">`,
].filter(Boolean).join('\n');
}लैंडिंग पेज बिल्डर तब अधिक मूल्यवान हो जाता है, जब टीमें पृष्ठों को स्थिर संपत्ति के रूप में मानने के बजाय अभियानों पर पुनरावृति कर सकती हैं. एक बार जब कोई पृष्ठ फ़ाइल के बजाय डेटा होता है, तो एक प्रकार सस्ता होता है: यह एक ही स्लग की ओर इशारा करते हुए एक और प्रोजेक्ट पंक्ति होती है.
निर्माण
संपादक में पृष्ठ को डुप्लिकेट करें और एक चीज़ बदलें - शीर्षक, ऑफ़र, फ़ॉर्म की लंबाई।
प्रकाशित करना
दोनों प्रकार एक ही स्लग पर प्रकाशित होते हैं, जिसका वजन आपका एप्लिकेशन तय करता है।
माप
एक बार एक विज़िटर असाइन करें, असाइनमेंट जारी रखें और अपने रूपांतरण ईवेंट के साथ इसकी रिपोर्ट करें।
सुधार
विजेता को डिफ़ॉल्ट रूप से प्रचारित करें और उससे अगला परीक्षण शुरू करें।
असाइनमेंट, वेटिंग और महत्व एप्लिकेशन लॉजिक हैं। GrapesJS उस बिंदु से आगे शामिल नहीं है जहां दो वेरिएंट लिखे गए थे - यही कारण है कि यह सेवा पथ से बाहर रह सकता है।
GJS.Market कैटलॉग में कोई A/B परीक्षण प्लगइन नहीं है, और GrapesJS में कोई प्रयोग सुविधा नहीं है। यह आपके एप्लिकेशन में लागू करने के लिए एक पैटर्न है, इंस्टॉल करने के लिए उत्पाद नहीं - और एक पेज बिल्डर ही इसे सस्ता बनाता है।
// A/B testing is an application concern, not an editor feature.
// A landing page builder makes it cheap because a variant is just
// another project row pointing at the same slug.
const variants = await db.pageVariants.findMany({
where: { slug, status: 'running' },
});
// Assign once, persist the choice, and report it to your analytics.
const variant = pickWeighted(variants, hash(visitorId));
res.setHeader('Set-Cookie', `exp_${slug}=${variant.id}; Path=/; Max-Age=2592000`);
res.setHeader('Vary', 'Cookie'); // or the page will be cached for everyone
return renderPublishedPage(variant);आपको अपने पेज बिल्डर के अंदर एक एनालिटिक्स प्लेटफॉर्म बनाने की आवश्यकता नहीं है। आपको उन घटनाओं को उत्सर्जित करने के लिए प्रकाशित पृष्ठों की आवश्यकता है जिन्हें आपका मौजूदा स्टैक पहले से ही समझता है।
उन इंटरैक्शन पर फायर करें जो मायने रखते हैं - फॉर्म सबमिट करता है, CTA क्लिक, लंबे पृष्ठों पर गहराई से स्क्रॉल करता है।
सबमिशन को वापस उस पेज, वैरिएंट और उसे बनाने वाले कैंपेन से टाई करें.
आधार रेखा हर दूसरी संख्या का अनुपात है।
UTM मानों को CRM रिकॉर्ड के माध्यम से पहले क्लिक से सुरक्षित रखें।
रिपोर्टिंग परत का आविष्कार करने के बजाय उस कंटेनर या टैग को शिप करें जिसका उपयोग आपकी टीम पहले से कर रही है.
अपने स्वयं के विश्लेषिकी बुनियादी ढांचे का उपयोग करें। बिल्डर का काम यह सुनिश्चित करना है कि प्रत्येक प्रकाशित पृष्ठ में सही टैग और पैरामीटर हों, बिना किसी बाज़ारिया को उन्हें याद रखने की आवश्यकता हो।
संपादक दो चीजें तैयार करता है: प्रोजेक्ट डेटा जिसे आप इसे फिर से खोलते हैं, और HTML प्लस CSS आप सेवा करते हैं। दोनों आपके हैं, प्रारूपों में आप पढ़ सकते हैं।
संपादन इंजन। स्व-होस्टेड, BSD-3-Clause लाइसेंस प्राप्त, पथ में कोई होस्ट की गई सेवा नहीं।
आपके पृष्ठ JSON के रूप में संग्रहीत हैं। पठनीय, विसारणीय, और माइग्रेट करने के लिए आपका।
getHtml() और getCss() क्या लौटाते हैं - कैनवास द्वारा प्रदान किया गया सटीक मार्कअप।
प्रमाणीकरण, संस्करण, अनुमतियाँ और प्रकाशन समापन बिंदु। वह हिस्सा जो वास्तव में आपका उत्पाद है।
जहां से प्रकाशित पृष्ठ परोसे जाते हैं, आपके स्वयं के प्रदर्शन और कैशिंग शर्तों पर।
अपने प्रोजेक्ट डेटा, HTML/CSS और प्रकाशन बुनियादी ढांचे पर नियंत्रण रखें। स्व-होस्टिंग इस बात की गारंटी नहीं है कि माइग्रेशन मुफ़्त है - आप अभी भी आपके द्वारा लिखे गए एकीकरण के मालिक हैं - लेकिन इसका मतलब यह है कि आप जो कुछ भी बनाते हैं वह किसी और के निर्यात बटन के पीछे नहीं बैठता है।
वही चौदह क्षमताएं, दो बार पढ़ें। बाईं ओर, प्रत्येक पंक्ति एक परियोजना है। दाईं ओर, उनमें से अधिकांश कॉन्फ़िगरेशन हैं - और जो तीन नहीं हैं उन्हें ईमानदारी से लेबल किया गया है।
| योग्यता | खरोंच से | GrapesJS |
|---|---|---|
| कैंवस | निर्माण | शामिल |
| खींचें और छोड़ें | निर्माण | शामिल |
| अवयव | निर्माण | शामिल |
| ब्लॉक | निर्माण | एक्स्टेंसिबल |
| बिछाना | निर्माण | शामिल |
| उत्तरदायी संपादन | निर्माण | शामिल |
| संपत्ति | निर्माण | एक्स्टेंसिबल |
| भंडार | निर्माण | एक्स्टेंसिबल |
| टेम्पलेट्स | निर्माण | एक्स्टेंसिबल |
| प्लगइन आर्किटेक्चर | निर्माण | शामिल |
| फार्म | निर्माण | एक्स्टेंसिबल |
| SEO नियंत्रण | निर्माण | अपने स्टैक के साथ एकीकृत करें |
| ए/बी परीक्षण | निर्माण | अपने स्टैक के साथ एकीकृत करें |
| प्रकाशन-व्यवसाय | निर्माण | अपने स्टैक के साथ एकीकृत करें |
GrapesJS दस्तावेज़ीकरण और GJS.Market कैटलॉग के विरुद्ध 2026-09-03 के विरुद्ध सत्यापित। "एक्स्टेंसिबल" का अर्थ है कि इसके लिए API और मौजूदा प्लगइन्स हैं; "इंटीग्रेट" का अर्थ है कि संपादक जानबूझकर ऐसा नहीं करता है और आपके एप्लिकेशन को ऐसा करना चाहिए।
संपादक इंजन के लिए GrapesJS का उपयोग करें। अपने व्यवसाय के लिए विशिष्ट हर चीज़ के लिए अपने स्वयं के एप्लिकेशन का उपयोग करें।
GJS.Market कैटलॉग से वास्तविक लिस्टिंग, चार क्षमता क्षेत्रों द्वारा समूहीकृत की जाती है जहां से एक लैंडिंग पेज बिल्डर को इकट्ठा किया जाता है। कीमतें और उपलब्धता निर्माण समय पर कैटलॉग से पढ़ी जाती है।
ब्लॉक, अनुभाग और टेम्पलेट - आपके उपयोगकर्ता क्या खींचते हैं, और वे किससे शुरू करते हैं।
श्रेणी ब्राउज़ करेंआपके लैंडिंग पृष्ठ अनुभाग लाइब्रेरी के शीर्ष पर बनाने के लिए एक प्रारंभिक ब्लॉक सेट किया गया है।
पूर्वनिर्मित Tailwind अनुभाग - नायक, सुविधाएँ, मूल्य निर्धारण - Tailwind पर पहले से ही टीमों के लिए।
एक कॉन्फ़िगर करने योग्य हेडर अनुभाग, प्रत्येक अभियान पृष्ठ से शुरू होने वाले ब्लॉक अनुभाग।
नेविगेशन, कानूनी और विश्वास संकेतों के साथ एक कॉन्फ़िगर करने योग्य पाद लेख अनुभाग।
आपके बिल्डर को अभियान टेम्पलेट्स को सहेजने, सूचीबद्ध करने और फिर से खोलने के लिए कहीं देता है।
उन अभियानों के लिए बहु-पृष्ठ प्रोजेक्ट, जिन्हें एक से अधिक URL की आवश्यकता होती है.
कैप्चर, खोजने की क्षमता और माप: वे भाग जो किसी पृष्ठ को दस्तावेज़ के बजाय एक अभियान बनाते हैं।
श्रेणी ब्राउज़ करेंसंपादन योग्य प्रपत्र घटक उपयोगकर्ता किसी पृष्ठ पर जा सकते हैं और आपके समापन बिंदु पर इंगित कर सकते हैं.
इन-एडिटर एक्सेसिबिलिटी और SEO ऑडिटिंग, इसलिए प्रकाशित होने से पहले समस्याएं सामने आती हैं।
तार Google Analytics संपादक में निर्मित पृष्ठों में।
टाइम-बॉक्स ऑफ़र, लॉन्च और वेबिनार के लिए एक उलटी गिनती घटक।
गति, टाइपोग्राफी और वे घटक जो किसी पृष्ठ को डिफ़ॉल्ट थीम के बजाय आपके ब्रांड की तरह बनाते हैं।
श्रेणी ब्राउज़ करेंप्रशंसापत्र, लोगो क्लाउड और स्क्रीनशॉट गैलरी के लिए हिंडोला।
hero सुर्खियों के लिए एनिमेटेड टाइपिंग, कैनवास में हाथ से लिखे जावास्क्रिप्ट के बिना।
स्टाइल मैनेजर में नियंत्रण को आसान बनाना, उन संक्रमणों के लिए जो डिज़ाइन किए गए महसूस करते हैं।
संपादक में ब्रांड टाइपोग्राफी, इसलिए एक बाज़ारिया जो देखता है वह वही है जो जहाज है।
प्रोजेक्ट कहां रहता है, एसेट कैसे मिलता है, और पेज संपादक को कैसे छोड़ता है।
श्रेणी ब्राउज़ करेंप्रोजेक्ट लिस्टिंग और प्रबंधन — एकल संपादन सत्र के ऊपर की परत।
उन टीमों के लिए सीधे Netlify पर प्रकाशित करता है जो पहले दिन एक होस्टिंग लक्ष्य चाहते हैं।
पृष्ठ को HTML, CSS और संपत्तियों के डाउनलोड करने योग्य संग्रह के रूप में निर्यात करता है।
स्थानीय अपलोड के बजाय Cloudinary के साथ परिसंपत्ति प्रबंधक का समर्थन करता है।
तीन खरीदारी सूचियाँ, जो आप कैटलॉग श्रेणी के बजाय निर्माण कर रहे हैं, उसके आधार पर तैयार की गई हैं।
अपने स्वयं के पृष्ठ प्रकाशित करने वाली मार्केटिंग टीम के लिए
ड्रैग-एंड-ड्रॉप यांत्रिकीएक उत्पाद टीम के लिए एक सुविधा के रूप में शिपिंग पृष्ठ निर्माण
सभी खातों में एक प्रणाली का पुनः उपयोग करने वाली एजेंसी के लिए
कीमतें निर्माण समय पर कैटलॉग से पढ़ी जाती हैं और बदल सकती हैं - उत्पाद पृष्ठ आधिकारिक है।
GrapesJS विज़ुअल एडिटिंग फाउंडेशन प्रदान करता है। GJS.Market प्लगइन्स आपको हर सुविधा को स्वयं बनाए बिना विशेष क्षमताएं जोड़ने देते हैं।
प्रत्येक क्षमता एक टिकट, एक समीक्षा और एक रखरखाव प्रतिबद्धता बन जाती है।
चार कदम, प्रति क्षमता दोहराया, एक इंजन के शीर्ष पर आप नहीं लिखा था.
किसी उत्पाद के अंदर पेज बिल्डर डालना ज्यादातर संपादक की समस्या नहीं है। संपादक एक मार्ग है; बाकी इसके चारों ओर बहु-किरायेदार मशीनरी है।
संपादक कहाँ बैठता है
संपादक कौन खोल सकता है, और जब वे ऐसा करते हैं तो वे किसके पृष्ठ देखते हैं।
एक पृष्ठ जिस इकाई से संबंधित है। आमतौर पर उसी इकाई को आप बिल करते हैं।
संपादित करें, प्रकाशित करें और हटाएं तीन अलग-अलग अधिकार हैं। प्रकाशन की रक्षा करना उचित है।
पृष्ठ गणना, सीट गणना या प्रकाशित मात्रा - जिनमें से सभी से संपादक अनजान होने के लिए खुश है।
आपका क्रोम, आपके फ़ॉन्ट, आपके आइकन। संपादक UI कॉन्फ़िगरेशन है, कोई निश्चित इंटरफ़ेस नहीं।
स्लग, कस्टम डोमेन, संस्करण और रोलबैक, आपके बुनियादी ढांचे से सेवा करते हैं।
संपादक आपके उत्पाद में एक स्क्रीन है। किरायेदारी, अनुमतियाँ और बिलिंग ही इसे एक ऐसी सुविधा बनाते हैं जिसे आप बेच सकते हैं।
एक एजेंसी की समस्या एक पेज बिल्डर का निर्माण नहीं कर रही है। यह ग्यारहवें ग्राहक के लिए एक ही चीज़ का पुनर्निर्माण नहीं कर रहा है।
या ग्राहक का। संपादक क्रोम, आइकन और टाइपोग्राफी प्रति किरायेदार सेट करने के लिए आपके हैं।
एक अनुभाग पुस्तकालय, एक बार बनाए रखा जाता है, प्रत्येक खाते में तैनात किया जाता है।
एक स्थापना के तहत अलग-अलग परियोजनाएं, प्रति-ग्राहक संपत्ति और टेम्पलेट्स के साथ।
पिछले एक के लिए काम करने वाले लेआउट के साथ एक नए क्लाइंट को किक करें।
क्लाइंट को पृष्ठ का पुनर्गठन करने या समीक्षा न किए प्रकाशित करने दिए बिना प्रतिलिपि संपादित करने दें.
क्लाइंट के डोमेन और होस्टिंग पर तैनात करें, एजेंसी को होस्टिंग कंपनी बनाए बिना।
एक संपादन प्रणाली बनाएं और इसे कई क्लाइंट परियोजनाओं में पुनः उपयोग करें। ब्लॉक और टेम्पलेट एजेंसी की संपत्ति बन जाते हैं; ग्राहक केवल अपना ब्रांड ही देखता है।
GrapesJS कोर BSD-3-Clause लाइसेंस के तहत प्रकाशित किया जाता है और आधिकारिक React रैपर MIT के तहत प्रकाशित किया जाता है। दोनों व्यावसायिक उपयोग की अनुमति देते हैं। व्यावहारिक परिणाम:
संपादक आपके एप्लिकेशन के अंदर चलता है। आपके और आपके उपयोगकर्ताओं के बीच कोई होस्ट की गई संपादक सेवा नहीं है।
पैनल, कमांड और घटक प्रकार सभी बदली जा सकते हैं, न कि केवल थीम योग्य।
प्रोजेक्ट डेटा आपके डेटाबेस में रहता है, एक प्रारूप में जिसे आप पढ़ सकते हैं और माइग्रेट कर सकते हैं।
अपने उपयोगकर्ताओं को विक्रेता द्वारा भेजे जाने वाले के बजाय अपने उपयोगकर्ताओं की आवश्यकता का संपादक इंटरफ़ेस बनाएं।
आपका सीआरएम, आपका परिसंपत्ति भंडारण, आपका परिनियोजन लक्ष्य - प्लगइन API के माध्यम से वायर्ड।
एक प्रलेखित प्लगइन आर्किटेक्चर और एक मौजूदा कैटलॉग आकर्षित करने के लिए।
आपके द्वारा बनाया गया कुछ भी होस्ट किए गए संपादक पर निर्भर करता है जो अपनी वर्तमान शर्तों पर मौजूद रहता है।
एक पेज बिल्डर के पास दो बहुत अलग प्रदर्शन बजट होते हैं, और उन्हें भ्रमित करना इस आर्किटेक्चर में सबसे आम गलती है।
इसे गतिशील रूप से आयात करें ताकि यह कभी भी साझा बंडल में न उतरे।
एक संपादक उदाहरण, संलेखन मार्ग पर, क्लाइंट-साइड पर घुड़सवार था।
संपादक का अपना DOM है। हर कीस्ट्रोक पर रैपर को फिर से प्रस्तुत करना इससे लड़ता है।
प्रत्येक अपलोड को सूचीबद्ध करने के बजाय परिसंपत्ति प्रबंधक को पृष्ठांकित करें और आलसी लोड करें।
एक प्लगइन लोड करें जब पैनल जिसे इसकी आवश्यकता होती है, वह खुलता है, संपादक init पर नहीं।
दो प्रवेश बिंदु, दो बजट। प्रकाशित पृष्ठ को संपादक को बिल्कुल भी आयात नहीं करना चाहिए।
आउटपुट पर छवियाँ, फ़ॉन्ट और महत्वपूर्ण CSS, किसी भी अन्य उत्पादन पृष्ठ की तरह ट्यून किए गए।
// The editor is an authoring environment. Keep it out of the bundle
// that a visitor downloads to read a published landing page.
// /admin/editor — loaded only for authenticated authors.
const PageBuilder = dynamic(() => import('@/components/page-builder'), {
ssr: false, // GrapesJS measures the DOM on init
loading: () => <EditorSkeleton />,
});
// Heavy, optional plugins load when the panel that needs them opens.
async function openAssetManager(editor) {
const { default: cloudinary } = await import('grapesjs-cloudinary');
cloudinary(editor, { cloudName: process.env.NEXT_PUBLIC_CLOUDINARY });
editor.runCommand('open-assets');
}संपादक एक संलेखन वातावरण है। प्रकाशित लैंडिंग पृष्ठों को आवश्यक रूप से पूर्ण संपादक रनटाइम की आवश्यकता नहीं होती है - और एक अभियान पृष्ठ जो प्रत्येक आगंतुक को एक संपादक बंडल भेजता है, उसने एक निर्माण का कारण फेंक दिया है।
एक विज़ुअल बिल्डर ब्राउज़र से संरचित इनपुट स्वीकार करता है और इसे आपके द्वारा प्रदान किए जाने वाले मार्कअप में बदल देता है। नीचे दिया गया प्रत्येक आइटम उस एक वाक्य का अनुसरण करता है।
लोड करें, सहेजें और प्रकाशित करें समापन बिंदु विशेषाधिकार प्राप्त हैं। उनके साथ ऐसा व्यवहार करें।
किसी पृष्ठ को संपादित करने की अनुमति दिया जाना इसे प्रकाशित करने की अनुमति देने के समान नहीं है।
प्रकार, आकार और सामग्री सर्वर-साइड की जाँच करें, और उपयोगकर्ता अपलोड को उस मूल से परोसें जिसे आप अलग करना चाहते हैं।
जहां पृष्ठ लेखकों पर पूरी तरह से भरोसा नहीं किया जाता है, sanitize बाहर और साथ ही अंदर भी।
प्रोजेक्ट JSON आपके API पर पहुंचना अविश्वसनीय इनपुट है। इसे पार्स करें, इसे केवल स्टोर न करें।
प्रकाशन से जनता जो देखती है उसे बदल जाता है। इसे दर-सीमित करें, इसे लॉग करें और इसे वापस लाने योग्य बनाएं।
संपादक जो कुछ भी भेजता है वह जाली हो सकता है। सर्वर पर स्वामित्व और सीमाएं पुनः प्राप्त करें।
यह एक प्रारंभिक चेकलिस्ट है, गारंटी नहीं। अपनी खुद की तैनाती को खतरा-मॉडल करें - खासकर यदि पृष्ठ संपादित करने वाले लोग डोमेन के मालिक नहीं हैं।
तीन चरण, प्रत्येक शिप करने योग्य। गलती यह है कि किसी ने पहले से एक पृष्ठ प्रकाशित करने से पहले तीसरे तक पहुंचने की कोशिश की है।
एक व्यक्ति एक पृष्ठ बना और प्रकाशित कर सकता है।
एक टीम कमरे में आपके बिना इस पर भरोसा कर सकती है।
बिल्डर कुछ ऐसा बन जाता है जिसे आप बेच सकते हैं।
पहले के बाद हर चरण एक उत्पाद निर्णय है, न कि संपादक का निर्णय - यही कारण है कि संपादक वह चीज नहीं होनी चाहिए जिसे आप अभी भी बना रहे हैं।
GrapesJS विज़ुअल एडिटिंग इंजन से शुरुआत करें, इसे अपने उत्पाद के लिए कस्टमाइज़ करें और GJS.Market प्लगइन्स के साथ अपनी ज़रूरत की क्षमताएं जोड़ें।
कोर स्थापित करें, अपनी पहली अनुभाग लाइब्रेरी पंजीकृत करें, और प्रोजेक्ट डेटा से एक पृष्ठ प्रतिपादन करें।
शुरू हो जाओब्लॉक, टेम्प्लेट, फॉर्म, SEO ऑडिटिंग और उन्हें स्वयं लिखे बिना लक्ष्य प्रकाशित करें।
प्लगइन्स ब्राउज़ करेंहमें बताएं कि बिल्डर को क्या करना है और हम संपादक, प्लगइन स्टैक और एकीकरण का दायरा बनाएंगे।
अपना लैंडिंग पेज बिल्डर बनाएंसंपादक को अपने उत्पाद की आवश्यकता है - संपादक इंजन को खरोंच से पुनर्निर्माण करने के बजाय।