ブロックリファレンス
Clepit には 12 種類の組み込みブロックタイプが含まれます。各ブロックには 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 コールバックを介して処理されます。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| 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 とチェック状態があります。 |
| items[].text | string | はい | 項目ラベルの HTML コンテンツ。 |
| items[].checked | boolean | はい | チェックボックスがチェックされているかどうか。 |
{
"type": "checklist",
"data": {
"items": [
{ "text": "Install the package", "checked": true },
{ "text": "Mount the editor", "checked": false }
]
}
}code
シンタックスハイライト付きのコードブロック。typescript、python、rust、go、ruby、swift、kotlin など 50 の言語に対応しています。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| code | string | はい | 表示する生のコード文字列。 |
| language | CodeLanguage | いいえ | 構文ハイライトの言語。デフォルトは typescript です。 |
| theme | CodeTheme | いいえ | エディターのカラーテーマ。デフォルトは github-dark です。 |
| showCopy | boolean | いいえ | レンダリングされた出力にコピーボタンを表示します。 |
{
"type": "code",
"data": { "code": "const x = 42;", "language": "typescript", "theme": "github-dark", "showCopy": true }
}delimiter
セクション間の視覚的な区切り。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| variant | 'line' | 'stars' | はい | 区切り線の視覚スタイル。次のいずれか: line、stars。 |
{
"type": "delimiter",
"data": { "variant": "line" }
}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 コールバックを介して処理されます。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| 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" }
}list
順序付きまたは順序なしのリスト。各項目は html です。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| type | 'ordered' | 'unordered' | はい | リストの種類。次のいずれか: ordered、unordered。 |
| items | string[] | はい | HTML 文字列の配列、リスト項目ごとに 1 つ。 |
{
"type": "list",
"data": { "type": "unordered", "items": ["First item", "Second item"] }
}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" }
}table
データグリッド。最初の行はヘッダーとして使用できます。各セルは html です。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| data | string[][] | はい | HTML セル文字列の 2 次元配列。最初の行がヘッダー行です。 |
| caption | string | いいえ | テーブルの下に表示されるプレーンテキストまたは HTML のキャプション。 |
| showDownload | boolean | いいえ | レンダリングされた出力にダウンロードボタンを表示します。 |
{
"type": "table",
"data": {
"data": [["Name", "Type"], ["html", "string"], ["variant", "AlertVariant"]],
"caption": "AlertData fields",
"showDownload": false
}
}video
ビデオブロック。Editor.create の videoUploader コールバックを介して処理されます。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| 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" }
}