bpstr/editorjs-renderer-php

Editor.js 的简单解析器和渲染后端

dev-master 2020-02-08 13:29 UTC

This package is auto-updated.

Last update: 2024-09-08 23:42:15 UTC


README

这是一个可扩展的 PHP 渲染器,用于 Editor.js,与 Editor.js PHP 后端 兼容得很好。

入门指南

安装

使用 Composer 安装包

composer require bpstr/editorjs-renderer-php:dev-master

基本用法

use Bpstr\EditorJs\EditorJsRenderer;
$renderer = EditorJsRenderer::withBlocks($blocks);

EditorJsRenderer 类使用两个必需参数

  • mapping:由 CodeX Editor 中的块类型键入的块类(或实例)。
Bpstr\EditorJs\EditorJsRenderer::$default_mapping = [
    'header' => HeaderBlock::class,
    'image' => ImageBlock::class,
    'paragraph' => ParagraphBlock::class,
    'quote' => QuoteBlock::class,
    // ...
];
  • blocks:具有与 EditorJS::getBlocks() 返回的结构相同的数组
$blocks = [
    ['type' => 'heading', 'data' => ['text' => 'Dolor sit amet.']],
    ['type' => 'paragraph', 'data' => ['text' => 'Lorem ipsum']]
];

几乎每个 Editor.Js 块插件都已包含在包中,并进行了打包和测试的匹配类。

重写映射

如果您想修改渲染器,可以添加或替换映射的渲染块。

提供静态映射

调用此方法将创建所有默认类以及您提供的类。

$renderer = EditorJsRenderer::withBlocks($blocks, ['code' => ColoredCodeBlock::class]);

替换映射

使用此方法,不会添加任何默认值,传入的数组将替换内部映射。

$renderer = EditorJsRenderer::withMapping(['code' => ColoredCodeBlock::class]);

动态映射

您还可以在运行时向渲染器实例添加块实例。

$renderer->map('header', new \Bpstr\EditorJs\Block\HeaderBlock());

渲染块

要获取 HTML 标记,只需调用 render() 方法。

echo $renderer->render();