ব্লক রেফারেন্স
এই পৃষ্ঠা এডিটরের প্রতিটি ব্লক টাইপ নথিভুক্ত করে। প্রতিটি ব্লকের একটি JSON আকার, একটি রেন্ডারার এবং editor.blocks.insert-এর মাধ্যমে একটি প্রোগ্রাম্যাটিক ইনসার্ট পথ আছে।
সিরিয়ালাইজ করার সময় সমস্ত ব্লক একই এনভেলপ ভাগ করে: id, type, data এবং একটি ঐচ্ছিক tunes রেকর্ড।
ব্লকের আকার
প্রতিটি ব্লক একই JSON এনভেলপে সিরিয়ালাইজ হয়। id এডিটর দ্বারা নির্ধারিত হয় এবং প্রোগ্রাম্যাটিকভাবে ডেটা তৈরি করার সময় বাদ দেওয়া যায়।
{
"id": "abc123",
"type": "paragraph",
"data": { "html": "Hello <b>world</b>" },
"tunes": {}
}alert
৪টি ভ্যারিয়েন্টসহ হাইলাইট করা কল-আউট বক্স।
| ফিল্ড | ধরন | প্রয়োজনীয় | বিবরণ |
|---|---|---|---|
| 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
২ থেকে ৪টি কলামের মাল্টি-কলাম লেআউট; প্রতিটি কলাম নিজের চাইল্ড ব্লকের তালিকা ধারণ করে।
| ফিল্ড | ধরন | প্রয়োজনীয় | বিবরণ |
|---|---|---|---|
| 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" }
}