diff --git a/README.md b/README.md index bc86bb4..88b617c 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ npm i @hpi-schul-cloud/ckeditor ## Built-in plugins +- AutoFormat - BlockQuote - Bold - Code @@ -20,6 +21,7 @@ npm i @hpi-schul-cloud/ckeditor - Italic - Link - List +- Math - Paragraph - RemoveFormat - SpecialCharacters diff --git a/package-lock.json b/package-lock.json index cbfc4ed..70a59f8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@hpi-schul-cloud/ckeditor", - "version": "0.2.1", + "version": "0.2.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@hpi-schul-cloud/ckeditor", - "version": "0.2.1", + "version": "0.2.2", "license": "AGPL-3.0", "devDependencies": { "@ckeditor/ckeditor5-autoformat": "^35.4.0", @@ -26,6 +26,7 @@ "@ckeditor/ckeditor5-special-characters": "^35.3.2", "@ckeditor/ckeditor5-table": "^35.3.2", "@ckeditor/ckeditor5-theme-lark": "^35.3.2", + "ckeditor5-math": "^35.4.0", "css-loader": "^5.2.7", "postcss": "^8.4.16", "postcss-loader": "^4.3.0", @@ -508,6 +509,16 @@ "npm": ">=5.7.1" } }, + "node_modules/@ckeditor/ckeditor5-inspector": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-inspector/-/ckeditor5-inspector-3.1.1.tgz", + "integrity": "sha512-5lGYklA3dsXgIi5j39gQ8VSxpiW+FGLw5Midj8ivIndMc0f67qBGOOV+vbjrZUvdA7xba3SH7W3N1M7Iz8nVsw==", + "dev": true, + "engines": { + "node": ">=14.0.0", + "npm": ">=5.7.1" + } + }, "node_modules/@ckeditor/ckeditor5-link": { "version": "35.3.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-35.3.2.tgz", @@ -1430,6 +1441,26 @@ "npm": ">=5.7.1" } }, + "node_modules/ckeditor5-math": { + "version": "35.4.0", + "resolved": "https://registry.npmjs.org/ckeditor5-math/-/ckeditor5-math-35.4.0.tgz", + "integrity": "sha512-zz7Oe7OZedIUwt0EjC5LOwBlpaQ7h7VEJaCouKpkPw/OfE3gUJW/slAIVytxF69HRT4BTsQvSi/bqHgG0e0fpg==", + "dev": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "^35.4.0", + "@ckeditor/ckeditor5-core": "^35.4.0", + "@ckeditor/ckeditor5-engine": "^35.4.0", + "@ckeditor/ckeditor5-inspector": "^3.0.0", + "@ckeditor/ckeditor5-ui": "^35.4.0", + "@ckeditor/ckeditor5-undo": "^35.4.0", + "@ckeditor/ckeditor5-utils": "^35.4.0", + "@ckeditor/ckeditor5-widget": "^35.4.0" + }, + "engines": { + "node": ">=14.0.0", + "npm": ">=5.7.1" + } + }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -5112,6 +5143,12 @@ "ckeditor5": "^35.3.2" } }, + "@ckeditor/ckeditor5-inspector": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-inspector/-/ckeditor5-inspector-3.1.1.tgz", + "integrity": "sha512-5lGYklA3dsXgIi5j39gQ8VSxpiW+FGLw5Midj8ivIndMc0f67qBGOOV+vbjrZUvdA7xba3SH7W3N1M7Iz8nVsw==", + "dev": true + }, "@ckeditor/ckeditor5-link": { "version": "35.3.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-35.3.2.tgz", @@ -5843,6 +5880,22 @@ "@ckeditor/ckeditor5-widget": "^35.4.0" } }, + "ckeditor5-math": { + "version": "35.4.0", + "resolved": "https://registry.npmjs.org/ckeditor5-math/-/ckeditor5-math-35.4.0.tgz", + "integrity": "sha512-zz7Oe7OZedIUwt0EjC5LOwBlpaQ7h7VEJaCouKpkPw/OfE3gUJW/slAIVytxF69HRT4BTsQvSi/bqHgG0e0fpg==", + "dev": true, + "requires": { + "@ckeditor/ckeditor5-clipboard": "^35.4.0", + "@ckeditor/ckeditor5-core": "^35.4.0", + "@ckeditor/ckeditor5-engine": "^35.4.0", + "@ckeditor/ckeditor5-inspector": "^3.0.0", + "@ckeditor/ckeditor5-ui": "^35.4.0", + "@ckeditor/ckeditor5-undo": "^35.4.0", + "@ckeditor/ckeditor5-utils": "^35.4.0", + "@ckeditor/ckeditor5-widget": "^35.4.0" + } + }, "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", diff --git a/package.json b/package.json index 928284f..088fdc4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@hpi-schul-cloud/ckeditor", - "version": "0.2.1", + "version": "0.2.2", "description": "Custom version of CKEditor5 for the Schulcloud-Verbund-Software-Client", "author": "Dataport Schulcloud-Verbund-Software Team", "repository": { @@ -37,6 +37,7 @@ "@ckeditor/ckeditor5-special-characters": "^35.3.2", "@ckeditor/ckeditor5-table": "^35.3.2", "@ckeditor/ckeditor5-theme-lark": "^35.3.2", + "ckeditor5-math": "^35.4.0", "css-loader": "^5.2.7", "postcss": "^8.4.16", "postcss-loader": "^4.3.0", diff --git a/sample/index.html b/sample/index.html index 5a6de2d..65e1bfa 100644 --- a/sample/index.html +++ b/sample/index.html @@ -9,6 +9,7 @@ margin: 20px auto; } +

CKEditor 5 – edit

@@ -24,6 +25,13 @@

CKEditor 5 – view

editor +

Formula rendering from markup

+
+ \(x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}\) +
+ + + diff --git a/src/ckeditor.js b/src/ckeditor.js index 9151a9c..9d04c10 100644 --- a/src/ckeditor.js +++ b/src/ckeditor.js @@ -10,6 +10,7 @@ import HorizontalLine from "@ckeditor/ckeditor5-horizontal-line/src/horizontalli import Italic from "@ckeditor/ckeditor5-basic-styles/src/italic.js"; import Link from "@ckeditor/ckeditor5-link/src/link.js"; import List from "@ckeditor/ckeditor5-list/src/list.js"; +import Mathematics from 'ckeditor5-math/src/math'; import Paragraph from "@ckeditor/ckeditor5-paragraph/src/paragraph.js"; import RemoveFormat from "@ckeditor/ckeditor5-remove-format/src/removeformat"; import SpecialCharacters from "@ckeditor/ckeditor5-special-characters/src/specialcharacters.js"; @@ -38,6 +39,7 @@ Editor.builtinPlugins = [ Italic, Link, List, + Mathematics, Paragraph, RemoveFormat, SpecialCharacters, @@ -70,6 +72,7 @@ Editor.defaultConfig = { "link", "bulletedList", "numberedList", + "math", "horizontalLine", "|", "blockQuote", @@ -82,6 +85,12 @@ Editor.defaultConfig = { table: { contentToolbar: ["tableColumn", "tableRow", "mergeTableCells"], }, + math: { + engine: 'katex', + outputType: 'span', + forceOutputType: true, + enablePreview: true, + }, }; export default Editor;