diff --git a/packages/client/package.json b/packages/client/package.json index 1c6c2047..18ca1993 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -73,6 +73,7 @@ "markdown-it-sup": "^1.0.0", "next": "12.1.0", "next-pwa": "^5.5.2", + "prosemirror-codemark": "^0.3.6", "prosemirror-commands": "^1.3.0", "prosemirror-markdown": "^1.7.0", "prosemirror-model": "^1.16.1", diff --git a/packages/client/src/tiptap/core/extensions/code.ts b/packages/client/src/tiptap/core/extensions/code.ts index 2afdee3c..808a8699 100644 --- a/packages/client/src/tiptap/core/extensions/code.ts +++ b/packages/client/src/tiptap/core/extensions/code.ts @@ -1,4 +1,6 @@ +import { Extension } from '@tiptap/core'; import BuiltInCode from '@tiptap/extension-code'; +import codemark from 'prosemirror-codemark'; import { EXTENSION_PRIORITY_LOWER } from 'tiptap/core/constants'; export const Code = BuiltInCode.extend({ @@ -10,3 +12,10 @@ export const Code = BuiltInCode.extend({ */ priority: EXTENSION_PRIORITY_LOWER, }); + +export const CodeMarkPlugin = Extension.create({ + name: 'codemarkPlugin', + addProseMirrorPlugins() { + return codemark({ markType: this.editor.schema.marks.code }); + }, +}); diff --git a/packages/client/src/tiptap/editor/collaboration/kit.ts b/packages/client/src/tiptap/editor/collaboration/kit.ts index 605434fc..689da694 100644 --- a/packages/client/src/tiptap/editor/collaboration/kit.ts +++ b/packages/client/src/tiptap/editor/collaboration/kit.ts @@ -6,7 +6,7 @@ import { Blockquote } from 'tiptap/core/extensions/blockquote'; import { Bold } from 'tiptap/core/extensions/bold'; import { BulletList } from 'tiptap/core/extensions/bullet-list'; import { Callout } from 'tiptap/core/extensions/callout'; -import { Code } from 'tiptap/core/extensions/code'; +import { Code, CodeMarkPlugin } from 'tiptap/core/extensions/code'; import { CodeBlock } from 'tiptap/core/extensions/code-block'; import { Color } from 'tiptap/core/extensions/color'; import { ColorHighlighter } from 'tiptap/core/extensions/color-highlighter'; @@ -89,6 +89,7 @@ export const CollaborationKit = [ Bold, BulletList, Code, + CodeMarkPlugin, CodeBlock, Color, ColorHighlighter, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 31b17951..9ed05f3f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -118,6 +118,7 @@ importers: markdown-it-sup: ^1.0.0 next: 12.1.0 next-pwa: ^5.5.2 + prosemirror-codemark: ^0.3.6 prosemirror-commands: ^1.3.0 prosemirror-markdown: ^1.7.0 prosemirror-model: ^1.16.1 @@ -210,6 +211,7 @@ importers: markdown-it-sup: 1.0.0 next: 12.1.0_react-dom@17.0.2+react@17.0.2 next-pwa: 5.5.2_next@12.1.0 + prosemirror-codemark: 0.3.6_4cf2d6daa1edf7cc132d3e7b74beaf4d prosemirror-commands: 1.3.0 prosemirror-markdown: 1.7.0 prosemirror-model: 1.16.1 @@ -9145,6 +9147,19 @@ packages: object-assign: 4.1.1 react-is: 16.13.1 + /prosemirror-codemark/0.3.6_4cf2d6daa1edf7cc132d3e7b74beaf4d: + resolution: {integrity: sha512-uLUvIGfIEFdWEOR/wR2XgnccnyaUYNV/Degv/Dd5t8j1qKdbWbSkfqHgGi7sp5CcuBoZ/Q2hM6wbMc558T/Iag==} + peerDependencies: + prosemirror-inputrules: ^1.1.3 + prosemirror-model: ^1.15.0 + prosemirror-state: ^1.3.4 + prosemirror-view: ^1.20.3 + dependencies: + prosemirror-model: 1.16.1 + prosemirror-state: 1.3.4 + prosemirror-view: 1.23.6 + dev: false + /prosemirror-commands/1.3.0: resolution: {integrity: sha512-BwBbZ5OAScPcm0x7H8SPbqjuEJnCU2RJT9LDyOiiIl/3NbL1nJZI4SFNHwU2e/tRr2Xe7JsptpzseqvZvToLBQ==} dependencies: