rittenhop-ghost/versions/5.94.2/node_modules/@lexical/html
2024-09-23 19:05:38 -04:00
..
index.d.ts adding local files for running this....locally 2024-09-23 19:05:38 -04:00
LexicalHtml.dev.js adding local files for running this....locally 2024-09-23 19:05:38 -04:00
LexicalHtml.js adding local files for running this....locally 2024-09-23 19:05:38 -04:00
LexicalHtml.js.flow adding local files for running this....locally 2024-09-23 19:05:38 -04:00
LexicalHtml.prod.js adding local files for running this....locally 2024-09-23 19:05:38 -04:00
LICENSE adding local files for running this....locally 2024-09-23 19:05:38 -04:00
package.json adding local files for running this....locally 2024-09-23 19:05:38 -04:00
README.md adding local files for running this....locally 2024-09-23 19:05:38 -04:00

@lexical/html

HTML

This package exports utility functions for converting Lexical -> HTML and HTML -> Lexical. These same functions are also used in the lexical-clipboard package for copy and paste.

Full documentation can be found here.

Exporting

// When converting to HTML you can pass in a selection object to narrow it
// down to a certain part of the editor's contents.
const htmlString = $generateHtmlFromNodes(editor, selection | null);

Importing

First we need to parse the HTML string into a DOM instance.

// In the browser you can use the native DOMParser API to parse the HTML string.
const parser = new DOMParser();
const dom = parser.parseFromString(htmlString, textHtmlMimeType);

// In a headless environment you can use a package such as JSDom to parse the HTML string.
const dom = new JSDOM(htmlString);

And once you have the DOM instance.

const nodes = $generateNodesFromDOM(editor, dom);

// Once you have the lexical nodes you can initialize an editor instance with the parsed nodes.
const editor = createEditor({ ...config, nodes });

// Or insert them at a selection.
$insertNodes(nodes);