* add new tiptap editor extension monorepo package

* move tiptap packages to main package.json
* add tiptap extensions schema to collaborative backend
* add basic README
This commit is contained in:
Philipinho
2024-01-14 23:05:41 +01:00
parent e5758f7ece
commit 9a8b605f70
16 changed files with 469 additions and 314 deletions

View File

@ -7,6 +7,19 @@ import * as Y from 'yjs';
import { PageService } from '../../core/page/services/page.service';
import { Injectable } from '@nestjs/common';
import { TiptapTransformer } from '@hocuspocus/transformer';
import { StarterKit } from '@tiptap/starter-kit';
import { TextAlign } from '@tiptap/extension-text-align';
import { TaskList } from '@tiptap/extension-task-list';
import { TaskItem } from '@tiptap/extension-task-item';
import { Underline } from '@tiptap/extension-underline';
import { Link } from '@tiptap/extension-link';
import { Superscript } from '@tiptap/extension-superscript';
import SubScript from '@tiptap/extension-subscript';
import { Highlight } from '@tiptap/extension-highlight';
import { Typography } from '@tiptap/extension-typography';
import { TextStyle } from '@tiptap/extension-text-style';
import { Color } from '@tiptap/extension-color';
import { TrailingNode, Comment } from '@docmost/editor-ext';
@Injectable()
export class PersistenceExtension implements Extension {
@ -42,7 +55,22 @@ export class PersistenceExtension implements Extension {
if (page.content) {
console.log('converting json to ydoc');
const ydoc = TiptapTransformer.toYdoc(page.content, 'default');
const ydoc = TiptapTransformer.toYdoc(page.content, 'default', [
StarterKit,
Comment,
TextAlign,
TaskList,
TaskItem,
Underline,
Link,
Superscript,
SubScript,
Highlight,
Typography,
TrailingNode,
TextStyle,
Color,
]);
Y.encodeStateAsUpdate(ydoc);
return ydoc;
}