ueberdosis/html-to-prosemirror

This package is abandoned and no longer maintained. No replacement package was suggested.

Takes HTML and outputs ProseMirror compatible JSON.

Package info

github.com/ueberdosis/html-to-prosemirror

pkg:composer/ueberdosis/html-to-prosemirror

Fund package maintenance!

ueberdosis/

Statistics

Installs: 1 720 737

Dependents: 1

Suggesters: 0

Stars: 65

1.5.0 2021-01-19 11:34 UTC

Requires

  • php: ^7.1.3|^8.0

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT d2de3dbd7d8d891ed595c3b695b5f80d03697af6

  • Hans Pagel

prosemirror


README

🚨 We’ve done a rewrite that you probably want to check out: ueberdosis/tiptap-php

HTML to ProseMirror

👁 Image
👁 Integrate
👁 Image
👁 Sponsor

Takes HTML and outputs ProseMirror compatible JSON.

Installation

composer require ueberdosis/html-to-prosemirror

Usage

(new \HtmlToProseMirror\Renderer)->render('<p>Example Text</p>')

Output

{
 "type": "doc",
 "content": [
 {
 "type": "paragraph",
 "content": [
 {
 "type": "text",
 "text": "Example Text"
 }
 ]
 }
 ]
}

Supported nodes

Supported marks

Custom nodes

Define your custom nodes as PHP classes:

<?php

class CustomNode extends \HtmlToProseMirror\Nodes\Node
{
 protected $markType = 'custom';
 protected $tagName = 'marquee';
}

And register them:

$renderer->addNode(CustomNode::class);

Or overwrite the enabled nodes:

$renderer->withNodes([
 CustomNode::class,
]);

Or overwrite the enabled marks:

$renderer->withMarks([
 Bold::class,
]);

Or replace just one mark or node:

$renderer->replaceNode(
 CodeBlock::class, CustomCodeBlock::class
);

$renderer->replaceMark(
 Bold::class, CustomBold::class
);

Contributing

Pull Requests are welcome.

Credits

Related packages

License

The MIT License (MIT). Please see License File for more information.