Files
tiptap/packages/tiptap-extensions/src/marks/Italic.js
2018-11-08 22:03:10 +01:00

38 lines
614 B
JavaScript

import { Mark } from 'tiptap'
import { toggleMark, markInputRule } from 'tiptap-commands'
export default class Italic extends Mark {
get name() {
return 'italic'
}
get schema() {
return {
parseDOM: [
{ tag: 'i' },
{ tag: 'em' },
{ style: 'font-style=italic' },
],
toDOM: () => ['em', 0],
}
}
keys({ type }) {
return {
'Mod-i': toggleMark(type),
}
}
commands({ type }) {
return () => toggleMark(type)
}
inputRules({ type }) {
return [
markInputRule(/(?:^|[^*_])(?:\*|_)([^*_]+)(?:\*|_)$/, type),
]
}
}