From 8324f5752871ed6ae02f3f5efebb09589e02729d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Fri, 9 Oct 2020 22:59:25 +0200 Subject: [PATCH] add basic extension classes --- docs/gridsome.server.js | 2 +- docs/src/components/LiveDemo/index.vue | 41 ++-- docs/src/demos/Guide/GettingStarted/index.vue | 13 +- packages/core/src/Editor.ts | 2 +- packages/core/src/Extension.ts | 215 ++++++++++-------- packages/core/src/ExtensionManager.ts | 101 ++++---- packages/core/src/Mark.ts | 62 +++-- packages/core/src/Node.ts | 74 ++++-- packages/core/src/utils/getSchema.ts | 62 +++-- packages/extension-document/index.ts | 24 +- packages/extension-paragraph/index.ts | 66 ++++-- packages/extension-text/index.ts | 20 +- packages/vue-starter-kit/index.ts | 5 +- 13 files changed, 421 insertions(+), 266 deletions(-) diff --git a/docs/gridsome.server.js b/docs/gridsome.server.js index 24b1b86b..abfa5d03 100644 --- a/docs/gridsome.server.js +++ b/docs/gridsome.server.js @@ -95,7 +95,7 @@ module.exports = function (api) { .test(/\.tsx?$/) .use() .loader('ts-loader') - .options({ transpileOnly: false, appendTsSuffixTo: [/\.vue$/] }) + .options({ transpileOnly: true, appendTsSuffixTo: [/\.vue$/] }) config.module .rule('jsx') diff --git a/docs/src/components/LiveDemo/index.vue b/docs/src/components/LiveDemo/index.vue index 885f8647..2bc270b0 100644 --- a/docs/src/components/LiveDemo/index.vue +++ b/docs/src/components/LiveDemo/index.vue @@ -66,18 +66,19 @@ export default { computed: { requires() { - const names = this.$static.packages.edges - .map(item => item.node.name) - .filter(name => name !== 'html') + // const names = this.$static.packages.edges + // .map(item => item.node.name) + // .filter(name => name !== 'html') - const packages = Object.fromEntries(names.map(name => { - const module = require(`~/../../packages/${name}/index.ts`) - const onlyDefault = module.default && Object.keys(module).length === 1 + // const packages = Object.fromEntries(names.map(name => { + // const module = require(`~/../../packages/${name}/index.ts`) + // const onlyDefault = module.default && Object.keys(module).length === 1 - return [`@tiptap/${name}`, onlyDefault ? module.default : module] - })) + // return [`@tiptap/${name}`, onlyDefault ? module.default : module] + // })) - return packages + // return packages + return {} }, file() { @@ -90,17 +91,17 @@ export default { }, mounted() { - this.files = collect(require.context('~/demos/', true, /.+\..+$/).keys()) - .filter(path => path.startsWith(`./${this.name}/index.vue`)) - .map(path => path.replace('./', '')) - .map(path => { - return { - path, - name: path.replace(`${this.name}/`, ''), - content: require(`!!raw-loader!~/demos/${path}`).default, - } - }) - .toArray() + // this.files = collect(require.context('~/demos/', true, /.+\..+$/).keys()) + // .filter(path => path.startsWith(`./${this.name}/index.vue`)) + // .map(path => path.replace('./', '')) + // .map(path => { + // return { + // path, + // name: path.replace(`${this.name}/`, ''), + // content: require(`!!raw-loader!~/demos/${path}`).default, + // } + // }) + // .toArray() }, } diff --git a/docs/src/demos/Guide/GettingStarted/index.vue b/docs/src/demos/Guide/GettingStarted/index.vue index 511d9e98..3beb696b 100644 --- a/docs/src/demos/Guide/GettingStarted/index.vue +++ b/docs/src/demos/Guide/GettingStarted/index.vue @@ -3,7 +3,11 @@