🚨 We’ve done a rewrite that you probably want to check out: ueberdosis/tiptap-php
Takes HTML and outputs ProseMirror compatible JSON.
composer require ueberdosis/html-to-prosemirror
(new \HtmlToProseMirror\Renderer)->render('<p>Example Text</p>')
{
"type": "doc",
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "Example Text"
}
]
}
]
}
- Blockquote
- BulletList
- CodeBlock
- HardBreak
- Heading
- Image
- ListItem
- OrderedList
- Paragraph
- Table
- TableCell
- TableHeader
- TableRow
- User
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
);
Pull Requests are welcome.
- tiptap by @ueberdosis
- html-to-prosemirror-js by @enVolt
The MIT License (MIT). Please see License File for more information.