diff --git a/package.json b/package.json index 88ea5bb..c65b358 100644 --- a/package.json +++ b/package.json @@ -5,12 +5,15 @@ "license": "MIT", "main": "./src/tiptap.js", "dependencies": { + "@hocuspocus/provider": "^2.5.0", "@tiptap/core": "2.1.11", "@tiptap/extension-blockquote": "^2.1.11", "@tiptap/extension-bold": "^2.1.11", "@tiptap/extension-bullet-list": "^2.1.11", "@tiptap/extension-code": "^2.1.11", "@tiptap/extension-code-block": "^2.1.11", + "@tiptap/extension-collaboration": "^2.1.11", + "@tiptap/extension-collaboration-cursor": "^2.1.11", "@tiptap/extension-document": "^2.1.11", "@tiptap/extension-dropcursor": "^2.1.11", "@tiptap/extension-gapcursor": "^2.1.11", @@ -33,7 +36,10 @@ "@tiptap/extension-table-row": "^2.1.11", "@tiptap/extension-text": "^2.1.11", "@tiptap/pm": "^2.1.11", - "@tiptap/suggestion": "^2.1.11" + "@tiptap/suggestion": "^2.1.11", + "y-prosemirror": "^1.2.1", + "y-protocols": "^1.0.6", + "yjs": "^13.6.8" }, "devDependencies": { "@patternslib/dev": "^3.5.1", diff --git a/src/config.js b/src/config.js new file mode 100644 index 0000000..144b55e --- /dev/null +++ b/src/config.js @@ -0,0 +1,61 @@ +import ExtBlockquote from "@tiptap/extension-blockquote"; +import ExtBold from "@tiptap/extension-bold"; +import ExtBulletList from "@tiptap/extension-bullet-list"; +import ExtCode from "@tiptap/extension-code"; +import ExtCodeBlock from "@tiptap/extension-code-block"; +import ExtDocument from "@tiptap/extension-document"; +import ExtEmbed from "./extensions/embed"; +import ExtFigcaption from "./extensions/figcaption"; +import ExtFigure from "./extensions/figure"; +import ExtHardBreak from "@tiptap/extension-hard-break"; +import ExtHeading from "./extensions/heading"; +import ExtHorizontalRule from "@tiptap/extension-horizontal-rule"; +import ExtImageFigure from "./extensions/image-figure"; +import ExtImageInline from "./extensions/image-inline"; +import ExtItalic from "@tiptap/extension-italic"; +import ExtLink from "./extensions/link"; +import ExtListItem from "@tiptap/extension-list-item"; +import ExtOrderedList from "@tiptap/extension-ordered-list"; +import ExtParagraph from "@tiptap/extension-paragraph"; +import ExtStrike from "@tiptap/extension-strike"; +import ExtTable from "@tiptap/extension-table"; +import ExtTableCell from "@tiptap/extension-table-cell"; +import ExtTableHeader from "@tiptap/extension-table-header"; +import ExtTableRow from "@tiptap/extension-table-row"; +import ExtText from "@tiptap/extension-text"; + +// source extension? + +export const modes = { + "text/html": [ + ExtBlockquote, + ExtBold, + ExtBulletList, + ExtCode, + ExtCodeBlock, + ExtDocument, + ExtEmbed, + ExtFigcaption, + ExtFigure, + ExtHardBreak, + ExtHeading, + ExtHorizontalRule, + ExtImageFigure, + ExtImageInline, + ExtItalic, + ExtLink, + ExtListItem, + ExtOrderedList, + ExtParagraph, + ExtStrike, + ExtTable, + ExtTableCell, + ExtTableHeader, + ExtTableRow, + ExtText, + ], + "text/plain": [ExtDocument], + "text/markdown": [ExtDocument], +}; + +export default { modes }; diff --git a/src/extensions/embed.js b/src/extensions/embed.js index 3a12560..3b24295 100644 --- a/src/extensions/embed.js +++ b/src/extensions/embed.js @@ -264,7 +264,7 @@ export const factory = () => { parseHTML() { return [ { - tag: `iframe[src*="youtube.com"]`, + tag: `iframe[src*="youtube.com"]`, // needs vimeo too?? getAttrs: (node) => (is_youtube(node.getAttribute("src")) || is_vimeo(node.getAttribute("src")) > -1) && diff --git a/src/index.html b/src/index.html index 1a66318..4d1ecca 100644 --- a/src/index.html +++ b/src/index.html @@ -138,6 +138,11 @@

TipTap basic example

+