From 4e700989fa076ec28a9f5a673cdc9a54c9178943 Mon Sep 17 00:00:00 2001 From: Laur Ivan Date: Tue, 7 Jun 2022 12:02:54 +0200 Subject: [PATCH] Works with yarn. --- .gitignore | 1 + package.json | 4 +- src/default.d.ts | 1 + src/lib/editor/examples/MarkdownEditor.ts | 26 +++++++++ .../editor/examples/RichTextEditor104.svelte | 25 ++++----- storybook-static/favicon.ico | Bin 32988 -> 0 bytes storybook-static/project.json | 1 - yarn.lock | 51 +++++------------- 8 files changed, 53 insertions(+), 56 deletions(-) create mode 100644 src/lib/editor/examples/MarkdownEditor.ts delete mode 100644 storybook-static/favicon.ico delete mode 100644 storybook-static/project.json diff --git a/.gitignore b/.gitignore index 64007bd..13556ad 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ node_modules /build /.svelte-kit +/storybook-static /package .env .env.* diff --git a/package.json b/package.json index 11b3565..fc6c0ef 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "format": "prettier --write --plugin-search-dir=. .", "tailwind:watch": "cross-env TAILWIND_MODE=watch cross-env NODE_ENV=development postcss src/styles/tailwind.css -o static/app.css -w", "tailwind:build": "cross-env TAILWIND_MODE=build cross-env NODE_ENV=production postcss src/styles/tailwind.css -o static/app.css", - "storybook": "BROWSER=none start-storybook -p 6006", + "storybook": "BROWSER=none start-storybook -p 6006 --ci", "build-storybook": "build-storybook" }, "devDependencies": { @@ -57,9 +57,7 @@ "dependencies": { "@fontsource/fira-mono": "^4.5.0", "cookie": "^0.4.1", - "prosemirror-example-setup": "^1.2.0", "prosemirror-markdown": "^1.9.1", - "prosemirror-menu": "^1.2.0", "prosemirror-svelte": "^0.2.4" } } diff --git a/src/default.d.ts b/src/default.d.ts index 05ca763..44a8b0c 100644 --- a/src/default.d.ts +++ b/src/default.d.ts @@ -1,3 +1,4 @@ declare module '@storybook/addon-svelte-csf'; declare module 'prosemirror-svelte/state'; +declare module 'prosemirror-svelte/helpers/plugins'; declare module 'daisyui'; diff --git a/src/lib/editor/examples/MarkdownEditor.ts b/src/lib/editor/examples/MarkdownEditor.ts new file mode 100644 index 0000000..47917e1 --- /dev/null +++ b/src/lib/editor/examples/MarkdownEditor.ts @@ -0,0 +1,26 @@ +import { EditorState, TextSelection } from 'prosemirror-state'; +import { schema, defaultMarkdownParser, defaultMarkdownSerializer } from 'prosemirror-markdown'; +import { corePlugins } from 'prosemirror-svelte/helpers/plugins'; + +/** + * Create an empty editor state, for a multi-line editor schema + * @param content {string} + * @param plugins {array} + * @return {EditorState} + */ +export const createMarkdownEditor = (content = '', plugins = []) => { + let doc, selection; + + if (content) { + const paragraphs = content.split('\n'); + doc = defaultMarkdownParser.parse(content); + //selection = TextSelection.atEnd(doc); + } + + return EditorState.create({ + schema: schema, + doc: doc as any, + selection, + plugins: [...corePlugins, ...plugins] + }); +}; diff --git a/src/lib/editor/examples/RichTextEditor104.svelte b/src/lib/editor/examples/RichTextEditor104.svelte index c36ba8c..df76703 100644 --- a/src/lib/editor/examples/RichTextEditor104.svelte +++ b/src/lib/editor/examples/RichTextEditor104.svelte @@ -1,21 +1,16 @@