diff --git a/package-lock.json b/package-lock.json index aed9eedac..f97b18bba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "@braintree/sanitize-url": "7.1.0", "@electron/remote": "2.1.2", "@excalidraw/excalidraw": "0.17.6", + "@highlightjs/cdn-assets": "11.10.0", "archiver": "7.0.1", "async-mutex": "0.5.0", "autocomplete.js": "0.38.1", @@ -2445,6 +2446,14 @@ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", "dev": true }, + "node_modules/@highlightjs/cdn-assets": { + "version": "11.10.0", + "resolved": "https://registry.npmjs.org/@highlightjs/cdn-assets/-/cdn-assets-11.10.0.tgz", + "integrity": "sha512-vWXpu+Rdm0YMJmugFdUiL/9DmgYjEiV+d5DBqlXdApnGPSIeo6+LRS5Hpx6fvVsKkvR4RsLYD9rQ6DOLkj7OKA==", + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", diff --git a/package.json b/package.json index c0f1e7bdf..a6ab64168 100644 --- a/package.json +++ b/package.json @@ -52,6 +52,7 @@ "@braintree/sanitize-url": "7.1.0", "@electron/remote": "2.1.2", "@excalidraw/excalidraw": "0.17.6", + "@highlightjs/cdn-assets": "11.10.0", "archiver": "7.0.1", "async-mutex": "0.5.0", "autocomplete.js": "0.38.1", diff --git a/src/public/app/services/library_loader.js b/src/public/app/services/library_loader.js index adc40eb22..645935870 100644 --- a/src/public/app/services/library_loader.js +++ b/src/public/app/services/library_loader.js @@ -84,6 +84,11 @@ const MIND_ELIXIR = { ] }; +const HIGHLIGHT_JS = { + js: [ "node_modules/@highlightjs/cdn-assets/highlight.min.js" ], + css: [ "node_modules/@highlightjs/cdn-assets/styles/atom-one-dark.css" ] +}; + async function requireLibrary(library) { if (library.css) { library.css.map(cssUrl => requireCss(cssUrl)); @@ -143,5 +148,6 @@ export default { EXCALIDRAW, MARKJS, I18NEXT, - MIND_ELIXIR + MIND_ELIXIR, + HIGHLIGHT_JS } diff --git a/src/public/app/widgets/type_widgets/editable_text.js b/src/public/app/widgets/type_widgets/editable_text.js index 6afd1ed58..c14fd246a 100644 --- a/src/public/app/widgets/type_widgets/editable_text.js +++ b/src/public/app/widgets/type_widgets/editable_text.js @@ -105,6 +105,7 @@ export default class EditableTextTypeWidget extends AbstractTextTypeWidget { async initEditor() { await libraryLoader.requireLibrary(libraryLoader.CKEDITOR); + await libraryLoader.requireLibrary(libraryLoader.HIGHLIGHT_JS); const codeBlockLanguages = (await mimeTypesService.getMimeTypes()) diff --git a/src/routes/assets.ts b/src/routes/assets.ts index 684340466..487800c5a 100644 --- a/src/routes/assets.ts +++ b/src/routes/assets.ts @@ -102,6 +102,7 @@ function register(app: express.Application) { app.use(`/${assetPath}/node_modules/codemirror/keymap/`, persistentCacheStatic(path.join(srcRoot, '..', 'node_modules/codemirror/keymap/'))); app.use(`/${assetPath}/node_modules/mind-elixir/dist/`, persistentCacheStatic(path.join(srcRoot, "..", "node_modules/mind-elixir/dist/"))); + app.use(`/${assetPath}/node_modules/@highlightjs/cdn-assets/`, persistentCacheStatic(path.join(srcRoot, "..", "node_modules/@highlightjs/cdn-assets/"))); } export default {