Unverified Commit 9e875794 authored by NGPixel's avatar NGPixel

feat: markdown editor with monaco (wip)

parent 97bcc56c
...@@ -73,6 +73,7 @@ ...@@ -73,6 +73,7 @@
"markdown-it-sup": "1.0.0", "markdown-it-sup": "1.0.0",
"markdown-it-task-lists": "2.1.1", "markdown-it-task-lists": "2.1.1",
"mitt": "3.0.0", "mitt": "3.0.0",
"monaco-editor": "0.37.1",
"pako": "2.1.0", "pako": "2.1.0",
"pinia": "2.0.33", "pinia": "2.0.33",
"prosemirror-commands": "1.5.1", "prosemirror-commands": "1.5.1",
......
...@@ -39,7 +39,11 @@ module.exports = configure(function (/* ctx */) { ...@@ -39,7 +39,11 @@ module.exports = configure(function (/* ctx */) {
'apollo', 'apollo',
'components', 'components',
'eventbus', 'eventbus',
'i18n' 'i18n',
{
server: false,
path: 'monaco'
}
], ],
// https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#css // https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#css
...@@ -99,6 +103,15 @@ module.exports = configure(function (/* ctx */) { ...@@ -99,6 +103,15 @@ module.exports = configure(function (/* ctx */) {
'prosemirror-model', 'prosemirror-model',
'prosemirror-view' 'prosemirror-view'
] ]
viteConf.build.rollupOptions = {
external: ['monaco-editor'],
output: {
globals: {
'monaco-editor': 'monaco-editor'
}
}
}
}, },
// viteVuePluginOptions: {}, // viteVuePluginOptions: {},
......
import EditorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker'
import JsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker'
import CssWorker from 'monaco-editor/esm/vs/language/css/css.worker?worker'
import HtmlWorker from 'monaco-editor/esm/vs/language/html/html.worker?worker'
import TsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker'
self.MonacoEnvironment = {
getWorker (_, label) {
if (label === 'json') {
return new JsonWorker()
}
if (label === 'css' || label === 'scss' || label === 'less') {
return new CssWorker()
}
if (label === 'html' || label === 'handlebars' || label === 'razor') {
return new HtmlWorker()
}
if (label === 'typescript' || label === 'javascript') {
return new TsWorker()
}
return new EditorWorker()
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment