使用新的富文本编辑器

This commit is contained in:
2024-11-17 20:49:55 +08:00
parent e0745a4036
commit 0d7225c7e6
4 changed files with 500 additions and 432 deletions

874
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"name": "oj-next", "name": "oj-next",
"version": "1.6.0", "version": "1.7.0",
"type": "module", "type": "module",
"scripts": { "scripts": {
"start": "vite", "start": "vite",
@@ -11,37 +11,37 @@
"dependencies": { "dependencies": {
"@codemirror/lang-cpp": "^6.0.2", "@codemirror/lang-cpp": "^6.0.2",
"@codemirror/lang-python": "^6.1.6", "@codemirror/lang-python": "^6.1.6",
"@vueuse/core": "^11.1.0", "@vueuse/core": "^11.2.0",
"@wangeditor/editor": "^5.1.23", "@wangeditor-next/editor": "^5.6.12",
"@wangeditor/editor-for-vue": "5.1.12", "@wangeditor-next/editor-for-vue": "^5.1.14",
"axios": "^1.7.7", "axios": "^1.7.7",
"canvas-confetti": "^1.9.3", "canvas-confetti": "^1.9.3",
"chart.js": "^4.4.4", "chart.js": "^4.4.6",
"codemirror": "^6.0.1", "codemirror": "^6.0.1",
"copy-text-to-clipboard": "^3.2.0", "copy-text-to-clipboard": "^3.2.0",
"date-fns": "^4.1.0", "date-fns": "^4.1.0",
"highlight.js": "^11.10.0", "highlight.js": "^11.10.0",
"naive-ui": "^2.40.1", "naive-ui": "^2.40.1",
"normalize.css": "^8.0.1", "normalize.css": "^8.0.1",
"pinia": "^2.2.4", "pinia": "^2.2.6",
"vue": "^3.5.12", "vue": "^3.5.13",
"vue-chartjs": "^5.3.1", "vue-chartjs": "^5.3.2",
"vue-codemirror": "^6.1.1", "vue-codemirror": "^6.1.1",
"vue-router": "^4.4.5" "vue-router": "^4.4.5"
}, },
"devDependencies": { "devDependencies": {
"@iconify/vue": "^4.1.2", "@iconify/vue": "^4.1.2",
"@shikijs/markdown-it": "^1.22.0", "@shikijs/markdown-it": "^1.23.0",
"@types/canvas-confetti": "^1.6.4", "@types/canvas-confetti": "^1.6.4",
"@types/node": "^22.7.5", "@types/node": "^22.9.0",
"@vitejs/plugin-vue": "^5.1.4", "@vitejs/plugin-vue": "^5.2.0",
"prettier": "^3.3.3", "prettier": "^3.3.3",
"prettier-plugin-organize-imports": "^4.1.0", "prettier-plugin-organize-imports": "^4.1.0",
"typescript": "^5.6.3", "typescript": "^5.6.3",
"unplugin-auto-import": "^0.18.3", "unplugin-auto-import": "^0.18.4",
"unplugin-vue-components": "^0.27.4", "unplugin-vue-components": "^0.27.4",
"unplugin-vue-markdown": "^0.26.2", "unplugin-vue-markdown": "^0.26.2",
"vite": "^5.4.9", "vite": "^5.4.11",
"vue-tsc": "^2.1.6" "vue-tsc": "^2.1.10"
} }
} }

View File

@@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { IDomEditor, IEditorConfig, IToolbarConfig } from "@wangeditor/editor" import { IDomEditor, IEditorConfig, IToolbarConfig } from "@wangeditor-next/editor"
import { Editor, Toolbar } from "@wangeditor/editor-for-vue" import { Editor, Toolbar } from "@wangeditor-next/editor-for-vue"
import "@wangeditor/editor/dist/css/style.css" import "@wangeditor-next/editor/dist/css/style.css"
import { uploadImage } from "../../admin/api" import { uploadImage } from "../../admin/api"
interface Props { interface Props {
@@ -71,6 +71,7 @@ const toolbarConfigSimple: Partial<IToolbarConfig> = {
const editorConfig: Partial<IEditorConfig> = { const editorConfig: Partial<IEditorConfig> = {
scroll: false, scroll: false,
MENU_CONF: { MENU_CONF: {
// @ts-ignore
uploadImage: { customUpload }, uploadImage: { customUpload },
}, },
} }

View File

@@ -1,5 +1,5 @@
import Vue from "@vitejs/plugin-vue"
import Shiki from "@shikijs/markdown-it" import Shiki from "@shikijs/markdown-it"
import Vue from "@vitejs/plugin-vue"
import path from "path" import path from "path"
import AutoImport from "unplugin-auto-import/vite" import AutoImport from "unplugin-auto-import/vite"
import { NaiveUiResolver } from "unplugin-vue-components/resolvers" import { NaiveUiResolver } from "unplugin-vue-components/resolvers"
@@ -21,7 +21,10 @@ export default defineConfig({
output: { output: {
manualChunks: { manualChunks: {
chart: ["vue-chartjs", "chart.js"], chart: ["vue-chartjs", "chart.js"],
editor: ["@wangeditor/editor"], editor: [
"@wangeditor-next/editor",
"@wangeditor-next/editor-for-vue",
],
cm: [ cm: [
"vue-codemirror", "vue-codemirror",
"codemirror", "codemirror",
@@ -81,12 +84,14 @@ export default defineConfig({
}), }),
Markdown({ Markdown({
async markdownItSetup(md) { async markdownItSetup(md) {
md.use(await Shiki({ md.use(
await Shiki({
themes: { themes: {
light: 'vitesse-light', light: "vitesse-light",
dark: 'vitesse-dark', dark: "vitesse-dark",
} },
})) }),
)
}, },
}), }),
], ],