diff --git a/src/index.browser.ts b/src/index.browser.ts index 3e48a40..32bad4b 100644 --- a/src/index.browser.ts +++ b/src/index.browser.ts @@ -12,4 +12,4 @@ export { xml } from './xml' export { handleHTML } from './manipulate' export { serializeMarkdown } from './serialize-markdown' export { serializePlaintext } from './serialize-plaintext' -export { serializeSafeHTML } from './serialize-safehtml' +export { serializeSafeHTML, safeHTML } from './serialize-safehtml' diff --git a/src/serialize-safehtml.ts b/src/serialize-safehtml.ts index ee2b7a6..105ec0d 100644 --- a/src/serialize-safehtml.ts +++ b/src/serialize-safehtml.ts @@ -1,5 +1,6 @@ import { escapeHTML } from './encoding' import { VNode, isVElement } from './vdom' +import { parseHTML } from './vdomparser' export const SELECTOR_BLOCK_ELEMENTS = 'p,h1,h2,h3,h4,h5,h6,blockquote,div,ul,ol,li,article,section,footer,nav,hr,form' @@ -47,3 +48,7 @@ function serialize(node: VNode, context: SerializeContext = { export function serializeSafeHTML(node: VNode): string { return serialize(node).trim() } + +export function safeHTML(html: string) { + return serializeSafeHTML(parseHTML(html)) +}