17 / 24
17
Serialization

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 container

Parse 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
Documentation | Mina Rich Editor