UnderlineMark added
This commit is contained in:
@@ -15,6 +15,7 @@ export { default as CodeMark } from './marks/Code'
|
||||
export { default as ItalicMark } from './marks/Italic'
|
||||
export { default as LinkMark } from './marks/Link'
|
||||
export { default as StrikeMark } from './marks/Strike'
|
||||
export { default as UnderlineMark } from './marks/Underline'
|
||||
|
||||
export { default as HistoryExtension } from './extensions/History'
|
||||
export { default as PlaceholderExtension } from './extensions/Placeholder'
|
||||
|
||||
@@ -38,7 +38,7 @@ export default class BoldMark extends Mark {
|
||||
|
||||
inputRules({ type }) {
|
||||
return [
|
||||
markInputRule(/(?:\*\*|__)([^\*_]+)(?:\*\*|__)$/, type),
|
||||
markInputRule(/\*\*([^*]+)\*\*$/, type),
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
41
packages/tiptap-extensions/src/marks/Underline.js
Normal file
41
packages/tiptap-extensions/src/marks/Underline.js
Normal file
@@ -0,0 +1,41 @@
|
||||
import { Mark } from 'tiptap'
|
||||
import { toggleMark, markInputRule } from 'tiptap-commands'
|
||||
|
||||
export default class UnderlineMark extends Mark {
|
||||
|
||||
get name() {
|
||||
return 'underline'
|
||||
}
|
||||
|
||||
get schema() {
|
||||
return {
|
||||
parseDOM: [
|
||||
{
|
||||
tag: 'u',
|
||||
},
|
||||
{
|
||||
style: 'text-decoration',
|
||||
getAttrs: value => value === 'underline',
|
||||
},
|
||||
],
|
||||
toDOM: () => ['u', 0],
|
||||
}
|
||||
}
|
||||
|
||||
keys({ type }) {
|
||||
return {
|
||||
'Mod-u': toggleMark(type),
|
||||
}
|
||||
}
|
||||
|
||||
command({ type }) {
|
||||
return toggleMark(type)
|
||||
}
|
||||
|
||||
inputRules({ type }) {
|
||||
return [
|
||||
markInputRule(/__([^_]+)__$/, type),
|
||||
]
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user