From b67d0997392c4b40ddf61a28ebc15897a626007a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Mon, 5 Nov 2018 23:05:16 +0100 Subject: [PATCH 1/9] fix node order --- README.md | 4 ++-- examples/Components/Routes/Basic/index.vue | 4 ++-- examples/Components/Routes/Export/index.vue | 4 ++-- examples/Components/Routes/MarkdownShortcuts/index.vue | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index d5f7b25b..1e1fd439 100644 --- a/README.md +++ b/README.md @@ -103,14 +103,14 @@ import { Editor } from 'tiptap' import { // Nodes BlockquoteNode, - BulletListNode, CodeBlockNode, CodeBlockHighlightNode, HardBreakNode, HeadingNode, ImageNode, - ListItemNode, OrderedListNode, + BulletListNode, + ListItemNode, TodoItemNode, TodoListNode, diff --git a/examples/Components/Routes/Basic/index.vue b/examples/Components/Routes/Basic/index.vue index b0d55a65..3b2966d8 100644 --- a/examples/Components/Routes/Basic/index.vue +++ b/examples/Components/Routes/Basic/index.vue @@ -144,12 +144,12 @@ import Icon from 'Components/Icon' import { Editor } from 'tiptap' import { BlockquoteNode, - BulletListNode, CodeBlockNode, HardBreakNode, HeadingNode, - ListItemNode, OrderedListNode, + BulletListNode, + ListItemNode, TodoItemNode, TodoListNode, BoldMark, diff --git a/examples/Components/Routes/Export/index.vue b/examples/Components/Routes/Export/index.vue index 547718a9..474dd4bc 100644 --- a/examples/Components/Routes/Export/index.vue +++ b/examples/Components/Routes/Export/index.vue @@ -123,12 +123,12 @@ import Icon from 'Components/Icon' import { Editor } from 'tiptap' import { BlockquoteNode, - BulletListNode, CodeBlockNode, HardBreakNode, HeadingNode, - ListItemNode, OrderedListNode, + BulletListNode, + ListItemNode, TodoItemNode, TodoListNode, BoldMark, diff --git a/examples/Components/Routes/MarkdownShortcuts/index.vue b/examples/Components/Routes/MarkdownShortcuts/index.vue index 31666bf1..15e688ce 100644 --- a/examples/Components/Routes/MarkdownShortcuts/index.vue +++ b/examples/Components/Routes/MarkdownShortcuts/index.vue @@ -23,12 +23,12 @@ import Icon from 'Components/Icon' import { Editor } from 'tiptap' import { BlockquoteNode, - BulletListNode, CodeBlockNode, HardBreakNode, HeadingNode, - ListItemNode, OrderedListNode, + BulletListNode, + ListItemNode, TodoItemNode, TodoListNode, BoldMark, From b7770bb747cf74ead4d93aa31e0bb6830048940d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Mon, 5 Nov 2018 23:32:18 +0100 Subject: [PATCH 2/9] fix pasting list items --- packages/tiptap-extensions/src/nodes/ListItem.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/tiptap-extensions/src/nodes/ListItem.js b/packages/tiptap-extensions/src/nodes/ListItem.js index 6ed4322e..515f46cd 100644 --- a/packages/tiptap-extensions/src/nodes/ListItem.js +++ b/packages/tiptap-extensions/src/nodes/ListItem.js @@ -10,7 +10,6 @@ export default class ListItemNode extends Node { get schema() { return { content: 'paragraph block*', - group: 'block', defining: true, draggable: false, parseDOM: [ From e7e1a9f76e5f374e5cc7735b86ddcdb76c897152 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Mon, 5 Nov 2018 23:32:52 +0100 Subject: [PATCH 3/9] Publish - tiptap-extensions@0.22.1 --- packages/tiptap-extensions/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tiptap-extensions/package.json b/packages/tiptap-extensions/package.json index b1e13b49..f38b5037 100644 --- a/packages/tiptap-extensions/package.json +++ b/packages/tiptap-extensions/package.json @@ -1,6 +1,6 @@ { "name": "tiptap-extensions", - "version": "0.22.0", + "version": "0.22.1", "description": "Extensions for tiptap", "homepage": "https://tiptap.scrumpy.io", "license": "MIT", From f01d641e4b395edad8e2620ea63ccba656812def Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Mon, 5 Nov 2018 23:50:28 +0100 Subject: [PATCH 4/9] fix active check for ordered list, fix #78 --- packages/tiptap-utils/src/utils/nodeIsActive.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/tiptap-utils/src/utils/nodeIsActive.js b/packages/tiptap-utils/src/utils/nodeIsActive.js index 1ebcdd40..a7d5c8d5 100644 --- a/packages/tiptap-utils/src/utils/nodeIsActive.js +++ b/packages/tiptap-utils/src/utils/nodeIsActive.js @@ -1,10 +1,10 @@ import { findParentNode } from 'prosemirror-utils' -export default function (state, type, attrs) { +export default function (state, type, attrs = {}) { const predicate = node => node.type === type const parent = findParentNode(predicate)(state.selection) - if (attrs === {} || !parent) { + if (!Object.keys(attrs).length || !parent) { return !!parent } From d90839a74af73406ce1ea9aebc350da683d84fa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Mon, 5 Nov 2018 23:51:25 +0100 Subject: [PATCH 5/9] Publish - tiptap-commands@0.7.1 - tiptap-extensions@0.22.2 - tiptap-utils@0.4.1 - tiptap@0.20.1 --- packages/tiptap-commands/package.json | 4 ++-- packages/tiptap-extensions/package.json | 6 +++--- packages/tiptap-utils/package.json | 2 +- packages/tiptap/package.json | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/tiptap-commands/package.json b/packages/tiptap-commands/package.json index d2cb39b8..08823c8e 100644 --- a/packages/tiptap-commands/package.json +++ b/packages/tiptap-commands/package.json @@ -1,6 +1,6 @@ { "name": "tiptap-commands", - "version": "0.7.0", + "version": "0.7.1", "description": "Commands for tiptap", "homepage": "https://tiptap.scrumpy.io", "license": "MIT", @@ -23,6 +23,6 @@ "prosemirror-commands": "^1.0.7", "prosemirror-inputrules": "^1.0.1", "prosemirror-schema-list": "^1.0.1", - "tiptap-utils": "^0.4.0" + "tiptap-utils": "^0.4.1" } } diff --git a/packages/tiptap-extensions/package.json b/packages/tiptap-extensions/package.json index f38b5037..0e477270 100644 --- a/packages/tiptap-extensions/package.json +++ b/packages/tiptap-extensions/package.json @@ -1,6 +1,6 @@ { "name": "tiptap-extensions", - "version": "0.22.1", + "version": "0.22.2", "description": "Extensions for tiptap", "homepage": "https://tiptap.scrumpy.io", "license": "MIT", @@ -25,8 +25,8 @@ "prosemirror-history": "^1.0.2", "prosemirror-state": "^1.2.2", "prosemirror-view": "^1.6.1", - "tiptap": "^0.20.0", - "tiptap-commands": "^0.7.0" + "tiptap": "^0.20.1", + "tiptap-commands": "^0.7.1" }, "peerDependencies": { "vue": "^2.5.17", diff --git a/packages/tiptap-utils/package.json b/packages/tiptap-utils/package.json index 5893991e..f6f16df4 100644 --- a/packages/tiptap-utils/package.json +++ b/packages/tiptap-utils/package.json @@ -1,6 +1,6 @@ { "name": "tiptap-utils", - "version": "0.4.0", + "version": "0.4.1", "description": "Utility functions for tiptap", "homepage": "https://tiptap.scrumpy.io", "license": "MIT", diff --git a/packages/tiptap/package.json b/packages/tiptap/package.json index 8731a3e5..0d60fa31 100644 --- a/packages/tiptap/package.json +++ b/packages/tiptap/package.json @@ -1,6 +1,6 @@ { "name": "tiptap", - "version": "0.20.0", + "version": "0.20.1", "description": "A rich-text editor for Vue.js", "homepage": "https://tiptap.scrumpy.io", "license": "MIT", @@ -27,8 +27,8 @@ "prosemirror-model": "^1.6.2", "prosemirror-state": "^1.2.1", "prosemirror-view": "^1.6.1", - "tiptap-commands": "^0.7.0", - "tiptap-utils": "^0.4.0" + "tiptap-commands": "^0.7.1", + "tiptap-utils": "^0.4.1" }, "peerDependencies": { "vue": "^2.5.17", From a7d3af30bb2b465c38d29e9bbabe3752642cb466 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Thu, 8 Nov 2018 16:38:33 +0100 Subject: [PATCH 6/9] code style --- examples/Components/Routes/Suggestions/index.vue | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/examples/Components/Routes/Suggestions/index.vue b/examples/Components/Routes/Suggestions/index.vue index 497d78e3..73270d59 100644 --- a/examples/Components/Routes/Suggestions/index.vue +++ b/examples/Components/Routes/Suggestions/index.vue @@ -70,7 +70,9 @@ export default { { id: 4, name: 'Justin Schueler' }, ], // is called when a suggestion starts - onEnter: ({ items, query, range, command, virtualNode }) => { + onEnter: ({ + items, query, range, command, virtualNode, + }) => { this.query = query this.filteredUsers = items this.suggestionRange = range @@ -81,7 +83,9 @@ export default { this.insertMention = command }, // is called when a suggestion has changed - onChange: ({ items, query, range, virtualNode }) => { + onChange: ({ + items, query, range, virtualNode, + }) => { this.query = query this.filteredUsers = items this.suggestionRange = range From c5d7ef4e79e032e488f66046f3c90ac2d3997785 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Thu, 8 Nov 2018 16:40:45 +0100 Subject: [PATCH 7/9] fix whitespace --- .../src/plugins/Suggestions.js | 57 ++++++++++--------- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/packages/tiptap-extensions/src/plugins/Suggestions.js b/packages/tiptap-extensions/src/plugins/Suggestions.js index cb697b7c..807678f0 100644 --- a/packages/tiptap-extensions/src/plugins/Suggestions.js +++ b/packages/tiptap-extensions/src/plugins/Suggestions.js @@ -22,39 +22,42 @@ function triggerCharacter({ const textTo = $position.end() const text = $position.doc.textBetween(textFrom, textTo, '\0', '\0') - let match = regexp.exec(text) - let position + let match = regexp.exec(text) + let position while (match !== null) { - // JavaScript doesn't have lookbehinds; this hacks a check that first character is " " - // or the line beginning + // JavaScript doesn't have lookbehinds; this hacks a check that first character is " " + // or the line beginning const matchPrefix = match.input.slice(Math.max(0, match.index - 1), match.index) + if (/^[\s\0]?$/.test(matchPrefix)) { - // The absolute position of the match in the document - const from = match.index + $position.start() - let to = from + match[0].length + // The absolute position of the match in the document + const from = match.index + $position.start() + let to = from + match[0].length - // Edge case handling; if spaces are allowed and we're directly in between - // two triggers - if (allowSpaces && suffix.test(text.slice(to - 1, to + 1))) { - match[0] += ' ' - to += 1 - } + // Edge case handling; if spaces are allowed and we're directly in between + // two triggers + if (allowSpaces && suffix.test(text.slice(to - 1, to + 1))) { + match[0] += ' ' + to += 1 + } - // If the $position is located within the matched substring, return that range - if (from < $position.pos && to >= $position.pos) { - position = { - range: { - from, - to, - }, - query: match[0].slice(char.length), - text: match[0], - } - } + // If the $position is located within the matched substring, return that range + if (from < $position.pos && to >= $position.pos) { + position = { + range: { + from, + to, + }, + query: match[0].slice(char.length), + text: match[0], + } + } } - match = regexp.exec(text) - } - return position + + match = regexp.exec(text) + } + + return position } } From 42c177f59e5a329c935d0b95788917e591e61f19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Thu, 8 Nov 2018 16:50:23 +0100 Subject: [PATCH 8/9] allow functions for items in mention node --- examples/Components/Routes/Suggestions/index.vue | 2 +- packages/tiptap-extensions/src/plugins/Suggestions.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/Components/Routes/Suggestions/index.vue b/examples/Components/Routes/Suggestions/index.vue index 73270d59..d23cde90 100644 --- a/examples/Components/Routes/Suggestions/index.vue +++ b/examples/Components/Routes/Suggestions/index.vue @@ -63,7 +63,7 @@ export default { new HeadingNode({ maxLevel: 3 }), new MentionNode({ // a list of all suggested items - items: [ + items: () => [ { id: 1, name: 'Philipp Kühn' }, { id: 2, name: 'Hans Pagel' }, { id: 3, name: 'Kris Siepert' }, diff --git a/packages/tiptap-extensions/src/plugins/Suggestions.js b/packages/tiptap-extensions/src/plugins/Suggestions.js index 807678f0..b6a48e65 100644 --- a/packages/tiptap-extensions/src/plugins/Suggestions.js +++ b/packages/tiptap-extensions/src/plugins/Suggestions.js @@ -127,7 +127,7 @@ export default function SuggestionsPlugin({ text: state.text, decorationNode, virtualNode, - items: onFilter(items, state.query), + items: onFilter(Array.isArray(items) ? items : items(), state.query), command: ({ range, attrs }) => { command({ range, From 107d628ba8c48e3a909456067be3ef5d0fafc3ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Thu, 8 Nov 2018 16:53:45 +0100 Subject: [PATCH 9/9] Publish - tiptap-extensions@0.23.0 --- packages/tiptap-extensions/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tiptap-extensions/package.json b/packages/tiptap-extensions/package.json index 0e477270..a6d07a7f 100644 --- a/packages/tiptap-extensions/package.json +++ b/packages/tiptap-extensions/package.json @@ -1,6 +1,6 @@ { "name": "tiptap-extensions", - "version": "0.22.2", + "version": "0.23.0", "description": "Extensions for tiptap", "homepage": "https://tiptap.scrumpy.io", "license": "MIT",