BurgerEditorのバージョン間でコンテンツを移行するためのツールパッケージです。
@burger-editor/migratorは、BurgerEditorの異なるバージョン間でブロックやアイテムのデータを移行する機能を提供します。主にv3からv4への移行をサポートしています。
npm install @burger-editor/migratorまたは
yarn add @burger-editor/migratorv3形式のブロックテンプレートとアイテムデータから、HTMLブロックを生成します。
import { createBlock } from '@burger-editor/migrator/v3';
// v3ブロック名とアイテムデータからHTMLを生成
const html = createBlock('text-image', [
{
wysiwyg: '<p>テキストコンテンツ</p>',
},
{
path: ['/images/photo.jpg'],
alt: ['写真の説明'],
},
]);
console.log(html);
// => v4互換のHTMLブロックが生成されますcreateBlock(blockName, data)
| パラメータ | 型 | 説明 |
|---|---|---|
| blockName | string | v3のブロック名 |
| data | readonly ItemData[] | アイテムデータの配列 |
戻り値: string - 生成されたHTMLブロック
import { createBlock } from '@burger-editor/migrator/v3';
const blockHtml = createBlock('text-image', [
{
wysiwyg: '<h2>見出し</h2><p>本文テキスト</p>',
},
{
path: ['/images/sample.jpg'],
alt: ['サンプル画像'],
width: [800],
height: [600],
},
]);import { createBlock } from '@burger-editor/migrator/v3';
const cardHtml = createBlock('card-3col', [
{
path: ['/images/card1.jpg'],
alt: ['カード1'],
wysiwyg: '<h3>カード1</h3><p>説明文</p>',
},
{
path: ['/images/card2.jpg'],
alt: ['カード2'],
wysiwyg: '<h3>カード2</h3><p>説明文</p>',
},
{
path: ['/images/card3.jpg'],
alt: ['カード3'],
wysiwyg: '<h3>カード3</h3><p>説明文</p>',
},
]);- v3 → v4: 完全サポート
- 将来のバージョン間移行: 計画中
createBlock関数は以下の処理を行います:
- v3のブロックテンプレートを@burger-editor/legacyから取得
- v3のアイテムテンプレートを@burger-editor/legacyから取得
- ブロックテンプレート内のコメントマーカーをアイテムHTMLで置換
- 各アイテムデータを@burger-editor/coreの
itemImport機能でHTMLに適用 - v4互換のHTMLブロックを生成
- @burger-editor/core - アイテムインポート機能
- @burger-editor/legacy - v3テンプレート
- @burger-editor/utils - ユーティリティ関数
- @burger-editor/legacy - v3互換性サポート
- @burger-editor/core - エディタエンジン
Dual Licensed under MIT OR Apache-2.0