Referensi Blok
Clepit menyediakan 12 tipe blok bawaan. Setiap blok memiliki bentuk JSON, renderer, dan jalur insert programatik melalui editor.blocks.insert.
Semua blok berbagi amplop yang sama saat diserialisasi: id, type, data, dan catatan tunes opsional.
Bentuk blok
Setiap blok diserialisasi ke amplop JSON yang sama. id ditetapkan oleh editor dan dapat dihilangkan saat membangun data secara programatik.
{
"id": "abc123",
"type": "paragraph",
"data": { "html": "Hello <b>world</b>" },
"tunes": {}
}alert
Kotak sorotan dengan 4 varian.
| Bidang | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
| html | string | Ya | Konten HTML dari pesan alert. Markup alat inline didukung. |
| variant | 'error' | 'info' | 'success' | 'warning' | Ya | Gaya visual dari alert. Salah satu dari: error, info, success, warning. |
{
"type": "alert",
"data": { "html": "Your session will expire in 5 minutes.", "variant": "warning" }
}audio
Blok audio. Dikonsumsi melalui callback audioUploader pada Editor.create.
| Bidang | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
| url | string | Ya | URL file audio yang akan disematkan. |
| caption | string | Tidak | Keterangan teks biasa yang ditampilkan di bawah pemutar. |
| alt | string | Tidak | Label yang dapat diakses untuk elemen audio. |
| alignment | 'center' | 'left' | 'right' | Tidak | Perataan horizontal dari pemutar. Salah satu dari: center, left, right. |
{
"type": "audio",
"data": { "url": "/media/podcast.mp3", "caption": "Episode 12", "alignment": "center" }
}checklist
Daftar kotak centang interaktif dengan status tercentang per item.
| Bidang | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
| items | ChecklistItem[] | Ya | Array item checklist, masing-masing dengan teks dan status tercentang. |
| items[].text | string | Ya | Konten HTML dari label item. |
| items[].checked | boolean | Ya | Apakah kotak centang dicentang. |
{
"type": "checklist",
"data": {
"items": [
{ "text": "Install the package", "checked": true },
{ "text": "Mount the editor", "checked": false }
]
}
}code
Blok kode dengan penyorotan sintaks. Mendukung 50 bahasa, termasuk typescript, python, rust, go, ruby, swift, dan kotlin.
| Bidang | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
| code | string | Ya | String kode mentah yang akan ditampilkan. |
| language | CodeLanguage | Tidak | Bahasa penyorotan sintaks. Default ke typescript. |
| theme | CodeTheme | Tidak | Tema warna editor. Default ke github-dark. |
| showCopy | boolean | Tidak | Tampilkan tombol salin di output yang dirender. |
{
"type": "code",
"data": { "code": "const x = 42;", "language": "typescript", "theme": "github-dark", "showCopy": true }
}delimiter
Pemisah visual antar bagian.
| Bidang | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
| variant | 'line' | 'stars' | Ya | Gaya visual dari pemisah. Salah satu dari: line, stars. |
{
"type": "delimiter",
"data": { "variant": "line" }
}header
Judul tingkat atas dan judul bagian (h1 hingga h6). Alat inline berfungsi di dalam muatan html.
| Bidang | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
| html | string | Ya | Konten HTML dari heading. Markup alat inline didukung. |
| level | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | Tidak | Tingkat heading. Salah satu dari: h1, h2, h3, h4, h5, h6. Default ke h1. |
{
"type": "header",
"data": { "html": "Getting started", "level": "h2" }
}image
Blok gambar dengan keterangan dan teks alt. Dikonsumsi melalui callback imageUploader pada Editor.create.
| Bidang | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
| url | string | Ya | URL gambar yang akan disematkan. |
| caption | string | Tidak | Keterangan teks biasa yang ditampilkan di bawah gambar. |
| alt | string | Tidak | Teks alt untuk elemen gambar. |
| alignment | 'center' | 'left' | 'right' | Tidak | Perataan horizontal dari gambar. Salah satu dari: center, left, right. |
{
"type": "image",
"data": { "url": "/img/hero.jpg", "caption": "Hero image", "alt": "A hero", "alignment": "center" }
}list
Daftar berurutan atau tidak berurutan. Setiap item adalah html.
| Bidang | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
| type | 'ordered' | 'unordered' | Ya | Tipe daftar. Salah satu dari: ordered, unordered. |
| items | string[] | Ya | Array string HTML, satu per item daftar. |
{
"type": "list",
"data": { "type": "unordered", "items": ["First item", "Second item"] }
}paragraph
Paragraf teks kaya. Menerima markup alat inline seperti bold, italic, code, link, marker, dan tooltip.
| Bidang | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
| html | string | Ya | Konten HTML dari paragraf. Markup alat inline didukung. |
{
"type": "paragraph",
"data": { "html": "This is a <b>paragraph</b> with inline markup." }
}quote
Blockquote dengan atribusi penulis opsional.
| Bidang | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
| html | string | Ya | Konten HTML dari isi kutipan. Markup alat inline didukung. |
| author | string | Tidak | Atribusi teks biasa atau HTML yang ditampilkan di bawah kutipan. |
{
"type": "quote",
"data": { "html": "The best way to predict the future is to invent it.", "author": "Alan Kay" }
}table
Kisi data. Baris pertama dapat digunakan sebagai header; setiap sel adalah html.
| Bidang | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
| data | string[][] | Ya | Array dua dimensi dari string sel HTML. Baris pertama adalah baris header. |
| caption | string | Tidak | Keterangan teks biasa atau HTML yang ditampilkan di bawah tabel. |
| showDownload | boolean | Tidak | Tampilkan tombol unduh di output yang dirender. |
{
"type": "table",
"data": {
"data": [["Name", "Type"], ["html", "string"], ["variant", "AlertVariant"]],
"caption": "AlertData fields",
"showDownload": false
}
}video
Blok video. Dikonsumsi melalui callback videoUploader pada Editor.create.
| Bidang | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
| url | string | Ya | URL file video atau tautan embed YouTube/Vimeo. |
| caption | string | Tidak | Keterangan teks biasa yang ditampilkan di bawah pemutar. |
| alt | string | Tidak | Label yang dapat diakses untuk elemen video. |
| alignment | 'center' | 'left' | 'right' | Tidak | Perataan horizontal dari pemutar. Salah satu dari: center, left, right. |
{
"type": "video",
"data": { "url": "/media/demo.mp4", "caption": "Product demo", "alignment": "center" }
}