Unverified Commit 9e875794 authored by NGPixel's avatar NGPixel

feat: markdown editor with monaco (wip)

parent 97bcc56c
......@@ -73,6 +73,7 @@
"markdown-it-sup": "1.0.0",
"markdown-it-task-lists": "2.1.1",
"mitt": "3.0.0",
"monaco-editor": "0.37.1",
"pako": "2.1.0",
"pinia": "2.0.33",
"prosemirror-commands": "1.5.1",
......
......@@ -39,7 +39,11 @@ module.exports = configure(function (/* ctx */) {
'apollo',
'components',
'eventbus',
'i18n'
'i18n',
{
server: false,
path: 'monaco'
}
],
// https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#css
......@@ -99,6 +103,15 @@ module.exports = configure(function (/* ctx */) {
'prosemirror-model',
'prosemirror-view'
]
viteConf.build.rollupOptions = {
external: ['monaco-editor'],
output: {
globals: {
'monaco-editor': 'monaco-editor'
}
}
}
},
// 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