chore(ckeditor5): integrate ckeditor5-mermaid

pull/1847/head
Elian Doran 2025-05-04 17:25:30 +07:00
parent fa58055109
commit cdb62f4376
No known key found for this signature in database
12 changed files with 40 additions and 34 deletions

@ -1,7 +1,5 @@
import { Command } from 'ckeditor5/src/core.js';
import { checkIsOn } from '../utils.js';
import { Element } from 'ckeditor5';
import { Command, Element } from 'ckeditor5';
/**
* The mermaid preview command.

@ -1,7 +1,5 @@
import { Command } from 'ckeditor5/src/core.js';
import { checkIsOn } from '../utils.js';
import { Element } from 'ckeditor5';
import { Command, Element } from 'ckeditor5';
/**
* The mermaid source view command.

@ -2,10 +2,8 @@
* @module mermaid/mermaidsplitviewcommand
*/
import { Command } from 'ckeditor5/src/core.js';
import { checkIsOn } from '../utils.js';
import { Element } from 'ckeditor5';
import { Command, Element } from 'ckeditor5';
/**
* The mermaid split view command.

@ -1,4 +1,4 @@
import { Plugin, ButtonView } from 'ckeditor5';
import { Plugin } from 'ckeditor5';
import MermaidEditing from './mermaidediting.js';
import MermaidToolbar from './mermaidtoolbar.js';

@ -2,16 +2,13 @@
* @module mermaid/mermaidediting
*/
import { Plugin } from 'ckeditor5/src/core.js';
import { toWidget } from 'ckeditor5/src/widget.js';
import { debounce } from 'lodash-es';
import MermaidPreviewCommand from './commands/mermaidPreviewCommand.js';
import MermaidSourceViewCommand from './commands/mermaidSourceViewCommand.js';
import MermaidSplitViewCommand from './commands/mermaidSplitViewCommand.js';
import InsertMermaidCommand from './commands/insertMermaidCommand.js';
import { DowncastAttributeEvent, DowncastConversionApi, Element, EventInfo, Item, Node, UpcastConversionApi, UpcastConversionData, ViewElement, ViewNode, ViewText, ViewUIElement } from 'ckeditor5';
import { DowncastAttributeEvent, DowncastConversionApi, Element, EventInfo, Item, Node, Plugin, toWidget, UpcastConversionApi, UpcastConversionData, ViewElement, ViewNode, ViewText, ViewUIElement } from 'ckeditor5';
// Time in milliseconds.
const DEBOUNCE_TIME = 300;

@ -17,6 +17,7 @@
],
"noImplicitAny": true,
"noImplicitOverride": true,
"composite": true,
"strict": true,
"target": "es2019",
"sourceMap": true,

@ -20,7 +20,8 @@
},
"dependencies": {
"ckeditor5": "43.2.0",
"@triliumnext/ckeditor5-keyboard-marker": "workspace:*"
"@triliumnext/ckeditor5-keyboard-marker": "workspace:*",
"@triliumnext/ckeditor5-mermaid": "workspace:*"
},
"devDependencies": {
"@types/jquery": "3.5.32"

@ -14,6 +14,7 @@ import MentionCustomization from "./plugins/mention_customization.js";
import IncludeNote from "./plugins/includenote.js";
import Uploadfileplugin from "./plugins/file_upload/uploadfileplugin.js";
import { Kbd } from "@triliumnext/ckeditor5-keyboard-marker";
import { Mermaid } from "@triliumnext/ckeditor5-mermaid";
const TRILIUM_PLUGINS: typeof Plugin[] = [
CutToNotePlugin,
@ -32,7 +33,8 @@ const TRILIUM_PLUGINS: typeof Plugin[] = [
];
const EXTERNAL_PLUGINS: typeof Plugin[] = [
Kbd
Kbd,
Mermaid
];
export const COMMON_PLUGINS: typeof Plugin[] = [
@ -99,7 +101,6 @@ export const COMMON_PLUGINS: typeof Plugin[] = [
// Math,
// AutoformatMath,
// Footnotes,
// Mermaid,
// Admonition
];

@ -3,6 +3,9 @@
"files": [],
"include": [],
"references": [
{
"path": "../ckeditor5-keyboard-marker"
},
{
"path": "./tsconfig.lib.json"
}

@ -19,6 +19,9 @@
"src/**/*.ts"
],
"references": [
{
"path": "../ckeditor5-mermaid"
},
{
"path": "../ckeditor5-keyboard-marker"
}

@ -804,6 +804,9 @@ importers:
'@triliumnext/ckeditor5-keyboard-marker':
specifier: workspace:*
version: link:../ckeditor5-keyboard-marker
'@triliumnext/ckeditor5-mermaid':
specifier: workspace:*
version: link:../ckeditor5-mermaid
ckeditor5:
specifier: 43.2.0
version: 43.2.0
@ -831,7 +834,7 @@ importers:
version: 5.62.0(eslint@7.32.0)(typescript@5.0.4)
'@vitest/browser':
specifier: ^2.0.5
version: 2.1.9(@types/node@22.15.3)(bufferutil@4.0.9)(playwright@1.52.0)(typescript@5.0.4)(utf-8-validate@6.0.5)(vite@6.3.2(@types/node@22.15.3)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1))(vitest@2.1.9)(webdriverio@9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5))
version: 2.1.9(@types/node@22.15.3)(bufferutil@4.0.9)(playwright@1.52.0)(typescript@5.0.4)(utf-8-validate@6.0.5)(vite@5.4.19(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@7.0.39))(terser@5.39.0))(vitest@2.1.9)(webdriverio@9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/coverage-istanbul':
specifier: ^2.0.5
version: 2.1.9(vitest@2.1.9)
@ -873,10 +876,10 @@ importers:
version: 2.0.1
vite-plugin-svgo:
specifier: ~1.4.0
version: 1.4.1(typescript@5.0.4)(vite@6.3.2(@types/node@22.15.3)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1))
version: 1.4.1(typescript@5.0.4)(vite@5.4.19(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@7.0.39))(terser@5.39.0))
vitest:
specifier: ^2.0.5
version: 2.1.9(@types/node@22.15.3)(@vitest/browser@2.1.9)(@vitest/ui@3.1.2(vitest@3.1.2))(happy-dom@17.4.6)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)
version: 2.1.9(@types/node@22.15.3)(@vitest/browser@2.1.9)(@vitest/ui@3.1.2)(happy-dom@17.4.6)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@7.0.39))(terser@5.39.0)
webdriverio:
specifier: ^9.0.7
version: 9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5)
@ -907,7 +910,7 @@ importers:
version: 5.62.0(eslint@7.32.0)(typescript@5.0.4)
'@vitest/browser':
specifier: ^2.0.5
version: 2.1.9(@types/node@22.15.3)(bufferutil@4.0.9)(playwright@1.52.0)(typescript@5.0.4)(utf-8-validate@6.0.5)(vite@5.4.19(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@7.0.39))(terser@5.39.0))(vitest@2.1.9)(webdriverio@9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5))
version: 2.1.9(@types/node@22.15.3)(bufferutil@4.0.9)(playwright@1.52.0)(typescript@5.0.4)(utf-8-validate@6.0.5)(vite@6.3.2(@types/node@22.15.3)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1))(vitest@2.1.9)(webdriverio@9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/coverage-istanbul':
specifier: ^2.0.5
version: 2.1.9(vitest@2.1.9)
@ -949,10 +952,10 @@ importers:
version: 2.0.1
vite-plugin-svgo:
specifier: ~1.4.0
version: 1.4.1(typescript@5.0.4)(vite@5.4.19(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@7.0.39))(terser@5.39.0))
version: 1.4.1(typescript@5.0.4)(vite@6.3.2(@types/node@22.15.3)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1))
vitest:
specifier: ^2.0.5
version: 2.1.9(@types/node@22.15.3)(@vitest/browser@2.1.9)(@vitest/ui@3.1.2)(happy-dom@17.4.6)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@7.0.39))(terser@5.39.0)
version: 2.1.9(@types/node@22.15.3)(@vitest/browser@2.1.9)(@vitest/ui@3.1.2)(happy-dom@17.4.6)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)
webdriverio:
specifier: ^9.0.7
version: 9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5)
@ -18743,7 +18746,7 @@ snapshots:
msw: 2.7.5(@types/node@22.15.3)(typescript@5.0.4)
sirv: 3.0.1
tinyrainbow: 1.2.0
vitest: 2.1.9(@types/node@22.15.3)(@vitest/browser@2.1.9)(@vitest/ui@3.1.2(vitest@3.1.2))(happy-dom@17.4.6)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)
vitest: 2.1.9(@types/node@22.15.3)(@vitest/browser@2.1.9)(@vitest/ui@3.1.2)(happy-dom@17.4.6)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)
ws: 8.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)
optionalDependencies:
playwright: 1.52.0
@ -28736,10 +28739,10 @@ snapshots:
tsx: 4.19.4
yaml: 2.7.1
vitest@2.1.9(@types/node@22.15.3)(@vitest/browser@2.1.9)(@vitest/ui@3.1.2(vitest@3.1.2))(happy-dom@17.4.6)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0):
vitest@2.1.9(@types/node@22.15.3)(@vitest/browser@2.1.9)(@vitest/ui@3.1.2)(happy-dom@17.4.6)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@7.0.39))(terser@5.39.0):
dependencies:
'@vitest/expect': 2.1.9
'@vitest/mocker': 2.1.9(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(vite@5.4.19(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0))
'@vitest/mocker': 2.1.9(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(vite@5.4.19(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@7.0.39))(terser@5.39.0))
'@vitest/pretty-format': 2.1.9
'@vitest/runner': 2.1.9
'@vitest/snapshot': 2.1.9
@ -28755,12 +28758,12 @@ snapshots:
tinyexec: 0.3.2
tinypool: 1.0.2
tinyrainbow: 1.2.0
vite: 5.4.19(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)
vite-node: 2.1.9(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)
vite: 5.4.19(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@7.0.39))(terser@5.39.0)
vite-node: 2.1.9(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@7.0.39))(terser@5.39.0)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 22.15.3
'@vitest/browser': 2.1.9(@types/node@22.15.3)(bufferutil@4.0.9)(playwright@1.52.0)(typescript@5.0.4)(utf-8-validate@6.0.5)(vite@6.3.2(@types/node@22.15.3)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1))(vitest@2.1.9)(webdriverio@9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/browser': 2.1.9(@types/node@22.15.3)(bufferutil@4.0.9)(playwright@1.52.0)(typescript@5.0.4)(utf-8-validate@6.0.5)(vite@5.4.19(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@7.0.39))(terser@5.39.0))(vitest@2.1.9)(webdriverio@9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/ui': 3.1.2(vitest@3.1.2)
happy-dom: 17.4.6
jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
@ -28775,10 +28778,10 @@ snapshots:
- supports-color
- terser
vitest@2.1.9(@types/node@22.15.3)(@vitest/browser@2.1.9)(@vitest/ui@3.1.2)(happy-dom@17.4.6)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@7.0.39))(terser@5.39.0):
vitest@2.1.9(@types/node@22.15.3)(@vitest/browser@2.1.9)(@vitest/ui@3.1.2)(happy-dom@17.4.6)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0):
dependencies:
'@vitest/expect': 2.1.9
'@vitest/mocker': 2.1.9(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(vite@5.4.19(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@7.0.39))(terser@5.39.0))
'@vitest/mocker': 2.1.9(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(vite@5.4.19(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0))
'@vitest/pretty-format': 2.1.9
'@vitest/runner': 2.1.9
'@vitest/snapshot': 2.1.9
@ -28794,12 +28797,12 @@ snapshots:
tinyexec: 0.3.2
tinypool: 1.0.2
tinyrainbow: 1.2.0
vite: 5.4.19(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@7.0.39))(terser@5.39.0)
vite-node: 2.1.9(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@7.0.39))(terser@5.39.0)
vite: 5.4.19(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)
vite-node: 2.1.9(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 22.15.3
'@vitest/browser': 2.1.9(@types/node@22.15.3)(bufferutil@4.0.9)(playwright@1.52.0)(typescript@5.0.4)(utf-8-validate@6.0.5)(vite@5.4.19(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@7.0.39))(terser@5.39.0))(vitest@2.1.9)(webdriverio@9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/browser': 2.1.9(@types/node@22.15.3)(bufferutil@4.0.9)(playwright@1.52.0)(typescript@5.0.4)(utf-8-validate@6.0.5)(vite@6.3.2(@types/node@22.15.3)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1))(vitest@2.1.9)(webdriverio@9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/ui': 3.1.2(vitest@3.1.2)
happy-dom: 17.4.6
jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)

@ -35,6 +35,9 @@
},
{
"path": "./packages/ckeditor5"
},
{
"path": "./packages/ckeditor5-keyboard-marker"
}
]
}