tiptap/packages/extension-italic/index.ts
2020-03-31 22:17:54 +02:00

38 lines
665 B
TypeScript

import { Mark } from '@tiptap/core'
import { toggleMark } from 'prosemirror-commands'
declare module '@tiptap/core/src/Editor' {
interface Editor {
italic(): Editor,
}
}
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],
}
}
keys() {
return {
'Mod-i': () => this.editor.italic(),
}
}
}