Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | 251x 1452x 79x 6x 79x 79x 79x 2x 4x | import { Mark, markInputRule, mergeAttributes } from '@tiptap/core'; export default Mark.create({ name: 'inlineDiff', addOptions() { return { HTMLAttributes: {}, }; }, addAttributes() { return { type: { default: 'addition', }, }; }, parseHTML() { return [ { tag: 'span.idiff.addition', attrs: { type: 'addition' }, }, { tag: 'span.idiff.deletion', attrs: { type: 'deletion' }, }, ]; }, renderHTML({ HTMLAttributes: { type, ...HTMLAttributes } }) { return [ 'span', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, { class: `idiff left right ${type}`, }), 0, ]; }, addInputRules() { const inputRegexAddition = /(\{\+(.+?)\+\})$/gm; const inputRegexDeletion = /(\{-(.+?)-\})$/gm; return [ markInputRule({ find: inputRegexAddition, type: this.type, getAttributes: () => ({ type: 'addition' }), }), markInputRule({ find: inputRegexDeletion, type: this.type, getAttributes: () => ({ type: 'deletion' }), }), ]; }, }); |