ब्लॉक संदर्भ
यह पृष्ठ एडिटर के साथ आने वाले हर ब्लॉक प्रकार का दस्तावेज़ है। हर ब्लॉक का एक JSON आकार, एक रेंडरर और editor.blocks.insert के जरिए प्रोग्रामेटिक इंसर्ट पथ होता है।
सीरियलाइज़ होने पर सभी ब्लॉक एक ही एनवलप साझा करते हैं: id, type, data और एक वैकल्पिक tunes रिकॉर्ड।
ब्लॉक की संरचना
हर ब्लॉक एक ही JSON एनवलप में सीरियलाइज़ होता है। id एडिटर द्वारा असाइन किया जाता है और प्रोग्रामेटिक रूप से डेटा बनाते समय इसे छोड़ा जा सकता है।
{
"id": "abc123",
"type": "paragraph",
"data": { "html": "Hello <b>world</b>" },
"tunes": {}
}alert
4 वेरिएंट वाला हाइलाइटेड कॉल-आउट बॉक्स।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| html | string | हाँ | अलर्ट संदेश का HTML कन्टेन्ट। इनलाइन टूल मार्कअप समर्थित है। |
| variant | 'error' | 'info' | 'success' | 'warning' | हाँ | अलर्ट की विज़ुअल शैली। इनमें से एक: error, info, success, warning। |
{
"type": "alert",
"data": { "html": "Your session will expire in 5 minutes.", "variant": "warning" }
}audio
ऑडियो ब्लॉक। Editor.create पर audioUploader callback के माध्यम से उपयोग होता है।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| url | string | हाँ | एम्बेड करने के लिए ऑडियो फ़ाइल का URL। |
| caption | string | नहीं | प्लेयर के नीचे प्रदर्शित सादा-पाठ कैप्शन। |
| alt | string | नहीं | ऑडियो एलिमेंट के लिए एक्सेसिबल लेबल। |
| alignment | 'center' | 'left' | 'right' | नहीं | प्लेयर का क्षैतिज संरेखण। इनमें से एक: center, left, right। |
{
"type": "audio",
"data": { "url": "/media/podcast.mp3", "caption": "Episode 12", "alignment": "center" }
}checklist
प्रति-आइटम चेक्ड स्थिति वाली इंटरैक्टिव चेकबॉक्स सूची।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| items | ChecklistItem[] | हाँ | चेकलिस्ट आइटम की एरे, प्रत्येक में एक text और checked स्थिति है। |
| items[].text | string | हाँ | आइटम लेबल का HTML कन्टेन्ट। |
| items[].checked | boolean | हाँ | चेकबॉक्स चेक है या नहीं। |
{
"type": "checklist",
"data": {
"items": [
{ "text": "Install the package", "checked": true },
{ "text": "Mount the editor", "checked": false }
]
}
}code
सिंटैक्स-हाइलाइटिंग वाला कोड ब्लॉक। 50 भाषाएँ समर्थित हैं, जिनमें typescript, python, rust, go, ruby, swift और kotlin शामिल हैं।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| code | string | हाँ | प्रदर्शित करने के लिए कच्ची कोड स्ट्रिंग। |
| language | CodeLanguage | नहीं | सिंटैक्स हाइलाइटिंग भाषा। डिफ़ॉल्ट typescript है। |
| theme | CodeTheme | नहीं | एडिटर रंग थीम। डिफ़ॉल्ट github-dark है। |
| showCopy | boolean | नहीं | रेंडर किए गए आउटपुट में एक कॉपी बटन दिखाएँ। |
| syncKey | string | नहीं | एक ही की साझा करने वाले ब्लॉक साथ में भाषा बदलते हैं। |
| variants | CodeVariant[] | नहीं | खाली न होने पर वैरिएंट की टैब पट्टी रेंडर करता है और आधिकारिक स्रोत होता है। |
{
"type": "code",
"data": { "code": "const x = 42;", "language": "typescript", "theme": "github-dark", "showCopy": true }
}collapsible
शीर्षक और नेस्टेड चाइल्ड ब्लॉक वाला एक संकुचित होने वाला खंड। अज्ञात चाइल्ड ब्लॉक प्रकार ज्यों के त्यों सुरक्षित रहते हैं, इसलिए नए दस्तावेज़ पुराने रेंडरर में भी सुरक्षित रहते हैं।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| html | string | हाँ | इनलाइन HTML के रूप में खंड का शीर्षक। |
| open | boolean | नहीं | क्या खंड विस्तारित रूप में रेंडर होता है। |
| children | Block[] | नहीं | नेस्टेड चाइल्ड ब्लॉक। |
{
"type": "collapsible",
"data": {
"html": "Details",
"open": true,
"children": [{ "type": "paragraph", "data": { "html": "Hidden until opened." } }]
}
}collection
आईडी से एक लाइव कलेक्शन व्यू एम्बेड करता है। ब्लॉक केवल कलेक्शन की पहचान संग्रहीत करता है; आकार और डेटा सर्वर के पास होते हैं।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| collectionId | string | हाँ | एम्बेड किए गए कलेक्शन की आईडी। केवल यही संग्रहीत होता है। |
{
"type": "collection",
"data": { "collectionId": "c-42" }
}columns
2 से 4 कॉलम वाला मल्टी-कॉलम लेआउट, प्रत्येक कॉलम अपनी चाइल्ड ब्लॉक सूची रखता है।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| columns | Block[][] | हाँ | कॉलम, प्रत्येक चाइल्ड ब्लॉक की एक सूची। दो से चार कॉलम। |
{
"type": "columns",
"data": {
"columns": [
[{ "type": "paragraph", "data": { "html": "Left" } }],
[{ "type": "paragraph", "data": { "html": "Right" } }]
]
}
}date
एक कैलेंडर तिथि, बिना टाइमज़ोन संग्रहीत, ताकि हर सहयोगी उस पर सहमत रहे।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| date | string | हाँ | yyyy-MM-dd रूप में ISO तिथि, बिना टाइमज़ोन। |
{
"type": "date",
"data": { "date": "2026-08-31" }
}delimiter
सेक्शनों के बीच दृश्य विभाजक।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| variant | 'line' | 'stars' | हाँ | डिवाइडर की विज़ुअल शैली। इनमें से एक: line, stars। |
{
"type": "delimiter",
"data": { "variant": "line" }
}doc_card
दूसरे दस्तावेज़ के लिए एक समृद्ध लिंक कार्ड। यह संदर्भित पेज की आईडी और एक डिस्प्ले स्नैपशॉट संग्रहीत करता है, जिसे नाम बदलने पर होस्ट ताज़ा करते हैं।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| pageId | string | हाँ | संदर्भित पेज की आईडी; कार्ड की पहचान। |
| title | string | हाँ | पेज शीर्षक का डिस्प्ले स्नैपशॉट। |
| icon | string | नहीं | कार्ड पर दिखाया जाने वाला वैकल्पिक आइकन। |
| description | string | नहीं | शीर्षक के नीचे दिखाया जाने वाला वैकल्पिक विवरण। |
{
"type": "doc_card",
"data": { "pageId": "p-7", "title": "Release notes", "icon": "📄" }
}embed
एक एम्बेड किया गया लिंक। ब्लॉक URL संग्रहीत करता है; प्रोवाइडर और एम्बेड मार्कअप रेंडर के समय निकाले जाते हैं, और अनफर्ल फ़ील्ड फ़ॉलबैक कार्ड का काम करते हैं।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| url | string | हाँ | एम्बेड किया गया लिंक। प्रोवाइडर और एम्बेड मार्कअप रेंडर के समय इसी से निकाले जाते हैं। |
| title | string | नहीं | लिंक कार्ड के लिए अनफर्ल स्नैपशॉट। |
| description | string | नहीं | लिंक कार्ड के लिए अनफर्ल विवरण। |
| imageUrl | string | नहीं | लिंक कार्ड के लिए अनफर्ल पूर्वावलोकन छवि। |
| display | 'card' | नहीं | लाइव व्यू उपलब्ध होने पर भी लिंक कार्ड दिखाने के लिए "card"। |
| file | object | नहीं | Drive फ़ाइल का नाम, प्रकार और आइकन, पेस्ट करने वाले के Google खाते से। |
| gist | object | नहीं | पेस्ट किए गए gist की फ़ाइलें, जहाँ GitHub का व्यू लोड नहीं हो सकता वहाँ कोड के रूप में दिखाई जाती हैं। |
| reason | string | नहीं | लाइव व्यू क्यों नहीं दिखाया गया: connect_google, no_access, provider_unreachable या switched_off। |
| issue | object | नहीं | कार्ड के रूप में दिखाया गया इश्यू लिंक: आख़िरी पढ़ा गया स्नैपशॉट (tool, key, title, stateName, category, assigneeName, updatedAt, reason)। |
{
"type": "embed",
"data": { "url": "https://www.youtube.com/watch?v=abc123" }
}file
डाउनलोड लिंक, नाम और वैकल्पिक आकार व कंटेंट टाइप वाला एक फ़ाइल अटैचमेंट।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| url | string | हाँ | फ़ाइल कहाँ से परोसी जाती है। |
| name | string | हाँ | अटैचमेंट पर दिखाया जाने वाला फ़ाइल नाम। |
| size | number | नहीं | बाइट में फ़ाइल का आकार। |
| contentType | string | नहीं | फ़ाइल का MIME प्रकार। |
{
"type": "file",
"data": { "url": "/files/notes.pdf", "name": "notes.pdf", "size": 2048, "contentType": "application/pdf" }
}glance
लेबल और मान का सारांश पैनल: एक नज़र में पढ़ी जाने वाली तथ्य पंक्तियाँ, वैकल्पिक कैप्शन और बैकग्राउंड वैरिएंट के साथ।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| rows | GlanceRow[] | हाँ | दिखाए जाने वाले तथ्य: प्रत्येक पंक्ति एक लेबल और एक इनलाइन HTML मान है। |
| caption | string | नहीं | पंक्तियों के ऊपर वैकल्पिक कैप्शन। |
| variant | 'plain' | 'error' | 'info' | 'success' | 'warning' | नहीं | बैकग्राउंड वैरिएंट; plain बिना स्टाइल का है, बाकी अलर्ट पैलेट से मेल खाते हैं। |
{
"type": "glance",
"data": {
"caption": "Facts",
"rows": [{ "label": "Version", "html": "<b>1.0</b>" }],
"variant": "plain"
}
}header
शीर्ष-स्तरीय और सेक्शन शीर्षक (h1 से h6)। इनलाइन टूल html पेलोड के भीतर काम करते हैं।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| html | string | हाँ | शीर्षक का HTML कन्टेन्ट। इनलाइन टूल मार्कअप समर्थित है। |
| level | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | नहीं | शीर्षक स्तर। इनमें से एक: h1, h2, h3, h4, h5, h6। डिफ़ॉल्ट h1 है। |
{
"type": "header",
"data": { "html": "Getting started", "level": "h2" }
}image
कैप्शन और alt टेक्स्ट वाला इमेज ब्लॉक। Editor.create पर imageUploader callback के माध्यम से उपयोग होता है।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| url | string | हाँ | एम्बेड करने के लिए छवि का URL। |
| caption | string | नहीं | छवि के नीचे प्रदर्शित सादा-पाठ कैप्शन। |
| alt | string | नहीं | छवि एलिमेंट के लिए Alt टेक्स्ट। |
| alignment | 'center' | 'left' | 'right' | नहीं | छवि का क्षैतिज संरेखण। इनमें से एक: center, left, right। |
{
"type": "image",
"data": { "url": "/img/hero.jpg", "caption": "Hero image", "alt": "A hero", "alignment": "center" }
}issues
पेज के इश्यू चिप और कार्ड से रेंडर के समय बनी लिंक किए गए इश्यू की तालिका (इश्यू, शीर्षक, स्थिति, ज़िम्मेदार)। यह अपना कोई डेटा संग्रहीत नहीं करती।
यह ब्लॉक कोई फ़ील्ड संग्रहीत नहीं करता; पंक्तियाँ रेंडर के समय पेज के इश्यू चिप और कार्ड से बनती हैं।
{
"type": "issues",
"data": {}
}latex
LaTeX गणित, स्रोत रूप में संग्रहीत और रेंडर के समय टाइपसेट। बाद में बेहतर रेंडरर हर मौजूदा दस्तावेज़ को सुधार देता है।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| source | string | हाँ | LaTeX स्रोत। स्रोत रूप में संग्रहीत, कभी रेंडर किए गए आउटपुट के रूप में नहीं। |
{
"type": "latex",
"data": { "source": "\\frac{a}{b}" }
}list
क्रमबद्ध या अक्रमित सूची। प्रत्येक आइटम html है।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| type | 'ordered' | 'unordered' | हाँ | सूची प्रकार। इनमें से एक: ordered, unordered। |
| items | string[] | हाँ | HTML स्ट्रिंग की एरे, प्रत्येक सूची आइटम के लिए एक। |
{
"type": "list",
"data": { "type": "unordered", "items": ["First item", "Second item"] }
}mermaid
एक Mermaid आरेख, स्रोत रूप में संग्रहीत और प्रदर्शन के समय बनाया गया, कभी रास्टर के रूप में नहीं।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| source | string | हाँ | Mermaid स्रोत। स्रोत रूप में संग्रहीत, कभी बनाए गए आउटपुट के रूप में नहीं। |
{
"type": "mermaid",
"data": { "source": "flowchart TD\n A --> B" }
}openapi
OpenAPI 3.x दस्तावेज़ से इंटरैक्टिव API संदर्भ रेंडर करता है, इनलाइन या URL से लाया गया, सर्वर चयनकर्ता और कोड स्निपेट के साथ।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| spec | object | नहीं | एक इनलाइन OpenAPI 3.x दस्तावेज़। दोनों सेट होने पर url पर वरीयता पाता है। |
| url | string | नहीं | रेंडर के समय OpenAPI दस्तावेज़ कहाँ से लाया जाए। |
| include | OpenApiFilter | नहीं | कौन से ऑपरेशन रेंडर हों, इसका फ़िल्टर। |
| exclude | OpenApiFilter | नहीं | कौन से ऑपरेशन छिपाए जाएँ, इसका फ़िल्टर। |
| defaultServer | string | नहीं | संदर्भ डिफ़ॉल्ट रूप से कौन सा सर्वर चुनता है। |
| snippetLanguages | CodeLanguage[] | नहीं | अनुरोध स्निपेट के लिए उपलब्ध भाषाएँ। |
{
"type": "openapi",
"data": { "url": "/api/openapi.json", "defaultServer": "https://api.example.com" }
}paragraph
रिच-टेक्स्ट पैराग्राफ। bold, italic, code, link, marker और tooltip जैसे इनलाइन टूल मार्कअप को स्वीकार करता है।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| html | string | हाँ | पैराग्राफ का HTML कन्टेन्ट। इनलाइन टूल मार्कअप समर्थित है। |
{
"type": "paragraph",
"data": { "html": "This is a <b>paragraph</b> with inline markup." }
}quote
वैकल्पिक लेखक एट्रिब्यूशन वाला ब्लॉककोट।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| html | string | हाँ | उद्धरण के मुख्य भाग का HTML कन्टेन्ट। इनलाइन टूल मार्कअप समर्थित है। |
| author | string | नहीं | उद्धरण के नीचे दिखाया गया सादा-पाठ या HTML एट्रिब्यूशन। |
{
"type": "quote",
"data": { "html": "The best way to predict the future is to invent it.", "author": "Alan Kay" }
}sketch
स्ट्रोक के रूप में संग्रहीत एक फ्रीहैंड ड्रॉइंग, कभी रास्टर नहीं, इसलिए यह संपादन योग्य रहती है और साफ़ स्केल होती है।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| strokes | SketchStroke[] | हाँ | स्ट्रोक के रूप में ड्रॉइंग: प्रत्येक स्ट्रोक वैकल्पिक रंग और चौड़ाई के साथ बिंदुओं की सूची है। |
{
"type": "sketch",
"data": { "strokes": [{ "points": [0, 0, 10, 10], "color": "#ff0000", "width": 3 }] }
}table
डेटा ग्रिड। पहली पंक्ति को हेडर के रूप में उपयोग किया जा सकता है; प्रत्येक सेल html है।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| data | string[][] | हाँ | HTML सेल स्ट्रिंग का दो-आयामी एरे। पहली पंक्ति हेडर पंक्ति है। |
| caption | string | नहीं | तालिका के नीचे प्रदर्शित सादा-पाठ या HTML कैप्शन। |
| showDownload | boolean | नहीं | रेंडर किए गए आउटपुट में एक डाउनलोड बटन दिखाएँ। |
{
"type": "table",
"data": {
"data": [["Name", "Type"], ["html", "string"], ["variant", "AlertVariant"]],
"caption": "AlertData fields",
"showDownload": false
}
}toc
रेंडर के समय दस्तावेज़ के शीर्षकों से निकाली गई विषय-सूची। यह अपना कोई डेटा संग्रहीत नहीं करती।
यह ब्लॉक कोई फ़ील्ड संग्रहीत नहीं करता; सूची रेंडर के समय दस्तावेज़ के शीर्षकों से बनती है।
{
"type": "toc",
"data": {}
}updates
किसी दस्तावेज़ के लिए लाइव गतिविधि फ़ीड। यह पहचान संग्रहीत करता है, कभी स्नैपशॉट नहीं, इसलिए यह वर्तमान गतिविधि दिखाता रहता है।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| pageId | string | नहीं | किस दस्तावेज़ की गतिविधि दिखानी है। अनुपस्थित का अर्थ है वह दस्तावेज़ जिसमें ब्लॉक है। |
{
"type": "updates",
"data": { "pageId": "p-7" }
}video
वीडियो ब्लॉक। Editor.create पर videoUploader callback के माध्यम से उपयोग होता है।
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| url | string | हाँ | वीडियो फ़ाइल का URL या YouTube/Vimeo एम्बेड लिंक। |
| caption | string | नहीं | प्लेयर के नीचे प्रदर्शित सादा-पाठ कैप्शन। |
| alt | string | नहीं | वीडियो एलिमेंट के लिए एक्सेसिबल लेबल। |
| alignment | 'center' | 'left' | 'right' | नहीं | प्लेयर का क्षैतिज संरेखण। इनमें से एक: center, left, right। |
{
"type": "video",
"data": { "url": "/media/demo.mp4", "caption": "Product demo", "alignment": "center" }
}