17 / 24
17Serialization
Export to any format
Convert editor content to and from five different formats. All serializers work with the editor's native node tree.
Semantic HTML
Clean, semantic HTML without Tailwind utilities -- suitable for emails, CMS storage, or SSR.
semantic-html.ts
import { serializeToSemanticHtml } from "@/lib/utils/serialize-semantic-html"
import { useContainer } from "@/lib"
const container = useContainer()
const html = serializeToSemanticHtml(container)
// => <h1>Title</h1><p>Clean paragraph...</p>HTML
html.ts
import { serializeToHtml } from "@/lib"
import { useContainer } from "@/lib"
const container = useContainer()
const html = serializeToHtml(container)Markdown
markdown.ts
import { serializeToMarkdown } from "@/lib/utils/serialize-markdown"
import { useContainer } from "@/lib"
const container = useContainer()
const md = serializeToMarkdown(container)
// => # Title
Clean paragraph...Parse Markdown to nodes
parse-md.ts
import { parseMarkdownToNodes } from "@/lib/utils/parse-markdown"
const nodes = parseMarkdownToNodes("# Hello\n\nA paragraph.")
// Use nodes as children in your initial containerParse HTML to nodes
parse-html.ts
import { htmlToNodes } from "@/lib/utils/html-to-nodes"
const nodes = htmlToNodes("<h1>Hello</h1><p>World</p>")
// Use nodes as children in your initial container