]> BookStack Code Mirror - bookstack/blobdiff - resources/js/editor/schema.js
Started work on details/summary blocks
[bookstack] / resources / js / editor / schema.js
index fb6192f228cb3398f38991842511d2dfd3393931..e0cd2522248a40ace21229054047fdf601b2e3ae 100644 (file)
@@ -1,48 +1,12 @@
 import {Schema} from "prosemirror-model";
-import {schema as basicSchema} from "prosemirror-schema-basic";
-import {addListNodes} from "prosemirror-schema-list";
 
-const baseNodes = addListNodes(basicSchema.spec.nodes, "paragraph block*", "block");
-const baseMarks = basicSchema.spec.marks;
-
-const nodeCallout = {
-    attrs: {
-        type: {default: 'info'},
-    },
-    content: "inline*",
-    group: "block",
-    defining: true,
-    parseDOM: [
-        {tag: 'p.callout.info', attrs: {type: 'info'}, priority: 75,},
-        {tag: 'p.callout.success', attrs: {type: 'success'}, priority: 75,},
-        {tag: 'p.callout.danger', attrs: {type: 'danger'}, priority: 75,},
-        {tag: 'p.callout.warning', attrs: {type: 'warning'}, priority: 75,},
-        {tag: 'p.callout', attrs: {type: 'info'}, priority: 75},
-    ],
-    toDOM(node) {
-        const type = node.attrs.type || 'info';
-        return ['p', {class: 'callout ' + type}, 0];
-    }
-};
-
-const markUnderline = {
-    parseDOM: [{tag: "u"}, {style: "text-decoration=underline"}],
-    toDOM() {
-        return ["span", {style: "text-decoration: underline;"}, 0];
-    }
-}
-
-const customNodes = baseNodes.append({
-    callout: nodeCallout,
-});
-
-const customMarks = baseMarks.append({
-    underline: markUnderline,
-});
+import nodes from "./schema-nodes";
+import marks from "./schema-marks";
 
+/** @var {PmSchema} schema */
 const schema = new Schema({
-    nodes: customNodes,
-    marks: customMarks,
-})
+    nodes,
+    marks,
+});
 
 export default schema;
\ No newline at end of file