diff --git a/package.json b/package.json index 977ec32..0caf94e 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "@prosemirror-adapter/vue": "^0.2.3", "@tiptap/core": "2.0.0-beta.220", "@tiptap/extension-bubble-menu": "2.0.0-beta.220", + "@tiptap/extension-bullet-list": "^2.0.1", "@tiptap/extension-character-count": "2.0.0-beta.220", "@tiptap/extension-code-block-lowlight": "^2.0.1", "@tiptap/extension-highlight": "^2.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d9c3dda..e2d131b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,6 +16,9 @@ dependencies: '@tiptap/extension-bubble-menu': specifier: 2.0.0-beta.220 version: 2.0.0-beta.220(@tiptap/core@2.0.0-beta.220)(@tiptap/pm@2.0.0-beta.220) + '@tiptap/extension-bullet-list': + specifier: ^2.0.1 + version: 2.0.1(@tiptap/core@2.0.0-beta.220) '@tiptap/extension-character-count': specifier: 2.0.0-beta.220 version: 2.0.0-beta.220(@tiptap/core@2.0.0-beta.220)(@tiptap/pm@2.0.0-beta.220) @@ -691,10 +694,10 @@ packages: tippy.js: 6.3.7 dev: false - /@tiptap/extension-bullet-list@2.0.0-beta.220(@tiptap/core@2.0.0-beta.220): - resolution: {integrity: sha512-QQ/0ZlYy6Hgb+UAc79V+fxvI+AaQf20cbKtBXaR8TIZ0x4FotSma89bKh+CIXMhFiBGXTcYBaYhl7OwACsKtxw==} + /@tiptap/extension-bullet-list@2.0.1(@tiptap/core@2.0.0-beta.220): + resolution: {integrity: sha512-IniXv9VgHkyWF2wJKxoILhNnJPwWNlIRW2LNSlXzkl70k0BsPGcAfiEIJtPqpVwh03QPc5v1y5UeuOOO6VQbqA==} peerDependencies: - '@tiptap/core': ^2.0.0-beta.209 + '@tiptap/core': ^2.0.0 dependencies: '@tiptap/core': 2.0.0-beta.220(@tiptap/pm@2.0.0-beta.220) dev: false @@ -841,18 +844,18 @@ packages: linkifyjs: 4.1.1 dev: false - /@tiptap/extension-list-item@2.0.0-beta.220(@tiptap/core@2.0.0-beta.220): - resolution: {integrity: sha512-+O0ivwxPP2l/m9PAowb2ytDT/cM5kwu0s1W5MUsHPIqf+M6ahnl4ESjhWZfDHUzvjqPq6MTbqoQLHbB1KS/N7w==} + /@tiptap/extension-list-item@2.0.1(@tiptap/core@2.0.0-beta.220): + resolution: {integrity: sha512-WxLRcwhMGp12+hV1nLTRVxPJ3ZsjLzA3tyaYySBf6IQpmoikH8DbzvprwV30lHfYbZvcQWQJx3ECIcQdGbtPPg==} peerDependencies: - '@tiptap/core': ^2.0.0-beta.209 + '@tiptap/core': ^2.0.0 dependencies: '@tiptap/core': 2.0.0-beta.220(@tiptap/pm@2.0.0-beta.220) dev: false - /@tiptap/extension-ordered-list@2.0.0-beta.220(@tiptap/core@2.0.0-beta.220): - resolution: {integrity: sha512-j3DmxJfwmNxFfMnvO7glmGlhYeZSIUnRrKnZu2KkpD6OcGJSh9y/yfnYwcuK80XbzEG/jKKIw0M2yRveOvyVwA==} + /@tiptap/extension-ordered-list@2.0.1(@tiptap/core@2.0.0-beta.220): + resolution: {integrity: sha512-7Q3hqAy2TYZ1p3J0GtEDcUJrbC/NxzWNF1H4zKW3VQGQhffUDNgHBk4uCLLVyf1A3vm50JmEAwQFrrwoozFmqQ==} peerDependencies: - '@tiptap/core': ^2.0.0-beta.209 + '@tiptap/core': ^2.0.0 dependencies: '@tiptap/core': 2.0.0-beta.220(@tiptap/pm@2.0.0-beta.220) dev: false @@ -921,7 +924,7 @@ packages: '@tiptap/core': 2.0.0-beta.220(@tiptap/pm@2.0.0-beta.220) '@tiptap/extension-blockquote': 2.0.0-beta.220(@tiptap/core@2.0.0-beta.220) '@tiptap/extension-bold': 2.0.0-beta.220(@tiptap/core@2.0.0-beta.220) - '@tiptap/extension-bullet-list': 2.0.0-beta.220(@tiptap/core@2.0.0-beta.220) + '@tiptap/extension-bullet-list': 2.0.1(@tiptap/core@2.0.0-beta.220) '@tiptap/extension-code': 2.0.0-beta.220(@tiptap/core@2.0.0-beta.220) '@tiptap/extension-code-block': 2.0.0(@tiptap/core@2.0.0-beta.220)(@tiptap/pm@2.0.0-beta.220) '@tiptap/extension-document': 2.0.0-beta.220(@tiptap/core@2.0.0-beta.220) @@ -932,8 +935,8 @@ packages: '@tiptap/extension-history': 2.0.0-beta.220(@tiptap/core@2.0.0-beta.220)(@tiptap/pm@2.0.0-beta.220) '@tiptap/extension-horizontal-rule': 2.0.0-beta.220(@tiptap/core@2.0.0-beta.220)(@tiptap/pm@2.0.0-beta.220) '@tiptap/extension-italic': 2.0.0-beta.220(@tiptap/core@2.0.0-beta.220) - '@tiptap/extension-list-item': 2.0.0-beta.220(@tiptap/core@2.0.0-beta.220) - '@tiptap/extension-ordered-list': 2.0.0-beta.220(@tiptap/core@2.0.0-beta.220) + '@tiptap/extension-list-item': 2.0.1(@tiptap/core@2.0.0-beta.220) + '@tiptap/extension-ordered-list': 2.0.1(@tiptap/core@2.0.0-beta.220) '@tiptap/extension-paragraph': 2.0.0-beta.220(@tiptap/core@2.0.0-beta.220) '@tiptap/extension-strike': 2.0.0-beta.220(@tiptap/core@2.0.0-beta.220) '@tiptap/extension-text': 2.0.0-beta.220(@tiptap/core@2.0.0-beta.220) diff --git a/src/components/Tiptap/Editor.vue b/src/components/Tiptap/Editor.vue index d1ce7f4..9c12466 100644 --- a/src/components/Tiptap/Editor.vue +++ b/src/components/Tiptap/Editor.vue @@ -6,6 +6,7 @@ import Link from '@tiptap/extension-link' import Highlight from '@tiptap/extension-highlight' import { lowlight } from 'lowlight/lib/core' import CodeBlockLowlight from '@tiptap/extension-code-block-lowlight' + import html from 'highlight.js/lib/languages/xml' import css from 'highlight.js/lib/languages/css' import js from 'highlight.js/lib/languages/javascript' @@ -77,7 +78,7 @@ const editor = useEditor({ autofocus: true, editorProps: { attributes: { - class: 'prose prose-slate mx-auto heti', + class: 'prose prose-slate mx-auto', }, }, }) diff --git a/src/components/Tiptap/suggestion.js b/src/components/Tiptap/suggestion.js index 5b47f06..de6a5fe 100644 --- a/src/components/Tiptap/suggestion.js +++ b/src/components/Tiptap/suggestion.js @@ -47,10 +47,28 @@ export default { editor.chain().focus().deleteRange(range).setCodeBlock().run() }, }, + { + title: 'Blockquote', + command: ({ editor, range }) => { + editor.chain().focus().deleteRange(range).toggleBlockquote().run() + }, + }, + { + title: 'Divider', + command: ({ editor, range }) => { + editor.chain().focus().deleteRange(range).setHorizontalRule().run() + }, + }, { title: 'Bullet List', command: ({ editor, range }) => { - editor.chain().focus().deleteRange(range).setMark('italic').run() + editor.chain().focus().deleteRange(range).toggleBulletList().run() + }, + }, + { + title: 'Ordered List', + command: ({ editor, range }) => { + editor.chain().focus().deleteRange(range).toggleOrderedList().run() }, }, ]