diff --git a/packages/web-pkg/package.json b/packages/web-pkg/package.json index 2dc1bf2e46b..172e28d83be 100644 --- a/packages/web-pkg/package.json +++ b/packages/web-pkg/package.json @@ -54,34 +54,35 @@ "@opencloud-eu/design-system": "workspace:^", "@opencloud-eu/web-client": "workspace:^", "@sentry/vue": "^10.46.0", - "@tiptap/core": "^3.28.0", - "@tiptap/extension-bubble-menu": "^3.29.2", - "@tiptap/extension-collaboration": "^3.28.0", - "@tiptap/extension-document": "^3.28.0", - "@tiptap/extension-drag-handle": "^3.28.0", - "@tiptap/extension-drag-handle-vue-3": "^3.28.0", - "@tiptap/extension-file-handler": "^3.28.0", - "@tiptap/extension-find-and-replace": "^3.29.2", - "@tiptap/extension-hard-break": "^3.28.0", - "@tiptap/extension-image": "^3.28.0", - "@tiptap/extension-link": "^3.28.0", - "@tiptap/extension-node-range": "^3.28.0", - "@tiptap/extension-paragraph": "^3.28.0", - "@tiptap/extension-placeholder": "^3.28.0", - "@tiptap/extension-subscript": "^3.29.2", - "@tiptap/extension-superscript": "^3.29.2", - "@tiptap/extension-table": "^3.28.0", - "@tiptap/extension-task-item": "^3.28.0", - "@tiptap/extension-task-list": "^3.28.0", - "@tiptap/extension-text": "^3.28.0", - "@tiptap/extension-text-align": "^3.28.0", - "@tiptap/extension-text-style": "^3.28.0", - "@tiptap/extension-underline": "^3.28.0", - "@tiptap/markdown": "^3.28.0", - "@tiptap/pm": "^3.28.0", - "@tiptap/starter-kit": "^3.28.0", - "@tiptap/suggestion": "^3.28.0", - "@tiptap/vue-3": "^3.28.0", + "@tiptap/core": "^3.30.2", + "@tiptap/extension-bubble-menu": "^3.30.2", + "@tiptap/extension-code-block-lowlight": "^3.30.2", + "@tiptap/extension-collaboration": "^3.30.2", + "@tiptap/extension-document": "^3.30.2", + "@tiptap/extension-drag-handle": "^3.30.2", + "@tiptap/extension-drag-handle-vue-3": "^3.30.2", + "@tiptap/extension-file-handler": "^3.30.2", + "@tiptap/extension-find-and-replace": "^3.30.2", + "@tiptap/extension-hard-break": "^3.30.2", + "@tiptap/extension-image": "^3.30.2", + "@tiptap/extension-link": "^3.30.2", + "@tiptap/extension-node-range": "^3.30.2", + "@tiptap/extension-paragraph": "^3.30.2", + "@tiptap/extension-placeholder": "^3.30.2", + "@tiptap/extension-subscript": "^3.30.2", + "@tiptap/extension-superscript": "^3.30.2", + "@tiptap/extension-table": "^3.30.2", + "@tiptap/extension-task-item": "^3.30.2", + "@tiptap/extension-task-list": "^3.30.2", + "@tiptap/extension-text": "^3.30.2", + "@tiptap/extension-text-align": "^3.30.2", + "@tiptap/extension-text-style": "^3.30.2", + "@tiptap/extension-underline": "^3.30.2", + "@tiptap/markdown": "^3.30.2", + "@tiptap/pm": "^3.30.2", + "@tiptap/starter-kit": "^3.30.2", + "@tiptap/suggestion": "^3.30.2", + "@tiptap/vue-3": "^3.30.2", "@tiptap/y-tiptap": "^3.0.0", "@uppy/core": "^5.2.0", "@uppy/tus": "^5.1.1", @@ -95,8 +96,10 @@ "dompurify": "^3.3.3", "filesize": "^11.0.14", "fuse.js": "^7.1.0", + "highlight.js": "^11.11.1", "lodash-es": "^4.17.23", "luxon": "^3.7.2", + "lowlight": "^3.3.0", "mark.js": "^8.11.1", "oidc-client-ts": "^3.5.0", "p-queue": "^9.1.0", diff --git a/packages/web-pkg/src/editor/components/CodeBlockComponent.vue b/packages/web-pkg/src/editor/components/CodeBlockComponent.vue new file mode 100644 index 00000000000..56903517ed7 --- /dev/null +++ b/packages/web-pkg/src/editor/components/CodeBlockComponent.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/packages/web-pkg/src/editor/components/TextEditorContent.vue b/packages/web-pkg/src/editor/components/TextEditorContent.vue index ddccba3291c..1f56e2d6955 100644 --- a/packages/web-pkg/src/editor/components/TextEditorContent.vue +++ b/packages/web-pkg/src/editor/components/TextEditorContent.vue @@ -46,14 +46,28 @@