Files
docmost/apps/server/src/common/helpers/prosemirror/html/generateJSON.ts
T
Philip Okugbe 6a3a7721be features and bug fixes (#322)
* fix page import title bug

* fix youtube embed in markdown export

* add link to rendered file html

* fix: markdown callout import

* update local generateJSON

* feat: switch spaces from sidebar

* remove unused package

* feat: editor date menu command

* fix date description

* update default locale code

* feat: add more code highlight languages
2024-09-17 15:40:49 +01:00

22 lines
589 B
TypeScript

import { Extensions, getSchema } from '@tiptap/core';
import { DOMParser, ParseOptions } from '@tiptap/pm/model';
import { Window } from 'happy-dom';
// this function does not work as intended
// it has issues with closing tags
export function generateJSON(
html: string,
extensions: Extensions,
options?: ParseOptions,
): Record<string, any> {
const schema = getSchema(extensions);
const window = new Window();
const document = window.document;
document.body.innerHTML = html;
return DOMParser.fromSchema(schema)
.parse(document as never, options)
.toJSON();
}