From 68badb77b2d9ac493435b6b9c759a740a7854315 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Tue, 31 Mar 2020 00:07:12 +0200 Subject: [PATCH] add italic --- packages/extension-italic/index.ts | 26 ++++++++++++++++++++++++++ packages/extension-italic/package.json | 17 +++++++++++++++++ src/demos/HandleExtensions/index.vue | 5 +++++ 3 files changed, 48 insertions(+) create mode 100644 packages/extension-italic/index.ts create mode 100644 packages/extension-italic/package.json diff --git a/packages/extension-italic/index.ts b/packages/extension-italic/index.ts new file mode 100644 index 00000000..4927b4ed --- /dev/null +++ b/packages/extension-italic/index.ts @@ -0,0 +1,26 @@ +import { Mark } from '@tiptap/core' +import { toggleMark } from 'prosemirror-commands' + +export default class Italic extends Mark { + + name = 'italic' + + created() { + this.editor.registerCommand('italic', (next, { view }) => { + toggleMark(this.schemaType)(view.state, view.dispatch) + next() + }) + } + + schema() { + return { + parseDOM: [ + { tag: 'i' }, + { tag: 'em' }, + { style: 'font-style=italic' }, + ], + toDOM: () => ['em', 0], + } + } + +} \ No newline at end of file diff --git a/packages/extension-italic/package.json b/packages/extension-italic/package.json new file mode 100644 index 00000000..62e4b846 --- /dev/null +++ b/packages/extension-italic/package.json @@ -0,0 +1,17 @@ +{ + "name": "@tiptap/extension-italic", + "version": "1.0.0", + "source": "index.ts", + "main": "dist/tiptap-extension-italic.js", + "umd:main": "dist/tiptap-extension-italic.umd.js", + "module": "dist/tiptap-extension-italic.mjs", + "unpkg": "dist/tiptap-extension-italic.js", + "jsdelivr": "dist/tiptap-extension-italic.js", + "files": [ + "src", + "dist" + ], + "peerDependencies": { + "@tiptap/core": "2.x" + } +} diff --git a/src/demos/HandleExtensions/index.vue b/src/demos/HandleExtensions/index.vue index 9b7ddd80..b08c85d6 100644 --- a/src/demos/HandleExtensions/index.vue +++ b/src/demos/HandleExtensions/index.vue @@ -10,6 +10,9 @@ + @@ -23,6 +26,7 @@ import Paragraph from '@tiptap/extension-paragraph' import Text from '@tiptap/extension-text' import History from '@tiptap/extension-history' import Bold from '@tiptap/extension-bold' +import Italic from '@tiptap/extension-italic' export default { components: { @@ -44,6 +48,7 @@ export default { new Text(), new History(), new Bold(), + new Italic(), ], }) },