diff --git a/packages/core/src/utils/generateHtml.ts b/packages/core/src/utils/generateHtml.ts index b21f8a6d..e1f1b6f4 100644 --- a/packages/core/src/utils/generateHtml.ts +++ b/packages/core/src/utils/generateHtml.ts @@ -1,16 +1,23 @@ import getSchema from './getSchema' import { Node as ProseMirrorNode, DOMSerializer } from 'prosemirror-model' import { Extensions } from '../types' +import { Schema } from 'prosemirror-model' -export default function generateHtml(doc: object, extensions: Extensions): string { - const schema = getSchema(extensions) +export default function generateHtml(doc: object, schema: (Extensions | Schema)): string { + let useSchema - let contentNode = ProseMirrorNode.fromJSON(schema, doc) - let temporaryDocument = document.implementation.createHTMLDocument() + if (Array.isArray(schema)) { + useSchema = getSchema(schema as Extensions) + } else { + useSchema = schema as Schema + } + + const contentNode = ProseMirrorNode.fromJSON(useSchema, doc) + const temporaryDocument = document.implementation.createHTMLDocument() const container = temporaryDocument.createElement('div') const fragment = DOMSerializer - .fromSchema(schema) + .fromSchema(useSchema) .serializeFragment(contentNode.content) container.appendChild(fragment)