rename the code block extension, add content to the code block extension

This commit is contained in:
Hans Pagel
2020-09-10 16:54:53 +02:00
parent 692994167e
commit 89b5f04aac
11 changed files with 91 additions and 25 deletions

View File

@@ -0,0 +1,36 @@
import { Node } from '@tiptap/core'
import { textblockTypeInputRule } from 'prosemirror-inputrules'
declare module '@tiptap/core/src/Editor' {
interface Editor {
codeBlock(): Editor,
}
}
export default new Node()
.name('codeBlock')
.schema(() => ({
content: 'text*',
marks: '',
group: 'block',
code: true,
defining: true,
draggable: false,
parseDOM: [
{ tag: 'pre', preserveWhitespace: 'full' },
],
toDOM: () => ['pre', ['code', 0]],
}))
.commands(({ editor, name }) => ({
[name]: next => attrs => {
editor.toggleNode(name, 'paragraph', attrs)
next()
},
}))
.keys(({ editor }) => ({
'Shift-Ctrl-\\': () => editor.codeBlock()
}))
.inputRules(({ type }) => [
textblockTypeInputRule(/^```$/, type),
])
.create()

View File

@@ -0,0 +1,17 @@
{
"name": "@tiptap/extension-code-block",
"version": "1.0.0",
"source": "index.ts",
"main": "dist/tiptap-extension-code-block.js",
"umd:main": "dist/tiptap-extension-code-block.umd.js",
"module": "dist/tiptap-extension-code-block.mjs",
"unpkg": "dist/tiptap-extension-code-block.js",
"jsdelivr": "dist/tiptap-extension-code-block.js",
"files": [
"src",
"dist"
],
"peerDependencies": {
"@tiptap/core": "2.x"
}
}