mirror of
https://github.com/docmost/docmost.git
synced 2025-11-12 19:32:37 +10:00
* 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:
@ -19,8 +19,8 @@
|
||||
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
|
||||
"test:e2e": "jest --config test/jest-e2e.json",
|
||||
"typeorm": "typeorm-ts-node-commonjs -d src/database/typeorm.config.ts",
|
||||
"migration:generate": "pnpm run typeorm migration:generate ./src/database/migrations/$npm_config_name",
|
||||
"migration:create": "typeorm-ts-node-commonjs migration:create ./src/database/migrations/$npm_config_name",
|
||||
"migration:generate": "cd ./src/database/migrations/ && pnpm run typeorm migration:generate",
|
||||
"migration:create": "cd ./src/database/migrations/ && typeorm-ts-node-commonjs migration:create",
|
||||
"migration:run": "pnpm run typeorm migration:run",
|
||||
"migration:revert": "pnpm run typeorm migration:revert",
|
||||
"migration:show": "pnpm run typeorm migration:show"
|
||||
@ -30,8 +30,6 @@
|
||||
"@aws-sdk/s3-request-presigner": "^3.456.0",
|
||||
"@fastify/multipart": "^8.1.0",
|
||||
"@fastify/static": "^6.12.0",
|
||||
"@hocuspocus/server": "^2.8.1",
|
||||
"@hocuspocus/transformer": "^2.8.1",
|
||||
"@nestjs/common": "^10.3.0",
|
||||
"@nestjs/config": "^3.1.1",
|
||||
"@nestjs/core": "^10.3.0",
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user