diff --git a/ng-app/package.json b/ng-app/package.json index ab844872..6347552f 100644 --- a/ng-app/package.json +++ b/ng-app/package.json @@ -36,30 +36,42 @@ "@milkdown/core": "^7.4.0", "@milkdown/ctx": "^7.2.0", "@milkdown/plugin-collab": "^7.4.0", + "@milkdown/plugin-emoji": "^7.4.0", + "@milkdown/plugin-indent": "^7.4.0", + "@milkdown/plugin-math": "^7.4.0", + "@milkdown/plugin-prism": "^7.4.0", "@milkdown/plugin-slash": "^7.4.0", "@milkdown/preset-commonmark": "^7.4.0", "@milkdown/preset-gfm": "^7.4.0", "@milkdown/prose": "^7.2.0", "@milkdown/theme-nord": "^7.4.0", "@milkdown/transformer": "^7.2.0", + "@milkdown/utils": "^7.4.0", "@popperjs/core": "^2.11.8", "@replit/codemirror-lang-svelte": "^6.0.0", + "@sindresorhus/is": "4.6.0", + "@tailwindcss/typography": "^0.5.13", "@tauri-apps/api": "2.0.0-alpha.8", "@tauri-apps/plugin-barcode-scanner": "2.0.0-alpha.0", "@tauri-apps/plugin-window": "2.0.0-alpha.1", "async-proxy": "^0.4.1", + "char-regex": "1.0.2", "classnames": "^2.3.2", "codemirror": "^6.0.1", + "emojilib": "2.4.0", "extend": "3.0.2", "flowbite": "^1.6.5", "flowbite-svelte": "^0.43.3", "html5-qrcode": "^2.3.8", + "katex": "^0.16.11", "lodash.debounce": "4.0.8", "ng-sdk-js": "workspace:^0.1.0-preview.1", + "prism-themes": "^1.9.0", "prosemirror-model": "^1.7.1", "prosemirror-state": "^1.2.3", "prosemirror-svelte": "^0.2.4", "prosemirror-view": "^1.9.10", + "skin-tone": "2.0.0", "style-mod": "^4.1.2", "svelte-codemirror-editor": "^1.4.0", "svelte-i18n": "^4.0.0", diff --git a/ng-app/src/apps/MilkDownEditor.svelte b/ng-app/src/apps/MilkDownEditor.svelte index ef4c80a3..f25b47b3 100644 --- a/ng-app/src/apps/MilkDownEditor.svelte +++ b/ng-app/src/apps/MilkDownEditor.svelte @@ -45,12 +45,36 @@ import { placeholder, placeholderCtx } from './milkdown-placeholder' import { splitEditing, toggleSplitEditing } from '@milkdown-lab/plugin-split-editing' import { SlashProvider, slashFactory } from '@milkdown/plugin-slash' + import { callCommand } from '@milkdown/utils'; + import { emoji } from '@milkdown/plugin-emoji'; + import { math } from '@milkdown/plugin-math'; + import 'katex/dist/katex.min.css'; + import { indent } from '@milkdown/plugin-indent'; + import { prism } from '@milkdown/plugin-prism'; + import 'prism-themes/themes/prism-nord.css' export let commits = {}; const ydoc = new Y.Doc() let editor; + let width; + let split = true; + + function width_changed() { + if (!editor) return; + if (width < 768 && split) { + console.log("toggle down") + split = false; + editor.action(callCommand(toggleSplitEditing.key, true)); + } else if (width >= 768 && !split) { + split = true; + console.log("toggle up") + editor.action(callCommand(toggleSplitEditing.key, false)); + } + } + + $: width, width_changed(); function slashPluginView(view) { const content = document.createElement('div'); @@ -79,7 +103,17 @@ ctx.set(slash.key, { view: slashPluginView }) - }).use(slash).config(nord).use(commonmark).use(gfm).use(placeholder).use(splitEditing).use(collab).create(); + }).use(slash) + .config(nord) + .use(commonmark) + .use(gfm) + .use(prism) + .use(indent) + .use(math) + .use(emoji) + .use(placeholder) + .use(splitEditing) + .use(collab).create(); ydoc.on('update', async (update, origin) => { //console.log(update,origin); @@ -124,8 +158,8 @@ editor.action((ctx) => { const editorView = ctx.get(editorViewCtx) editorView.focus(); - //toggleSplitEditing(ctx); }); + width_changed(); } onMount(async ()=>{ @@ -141,7 +175,7 @@ -
{$t("connectivity.loading")}...