使用新的富文本编辑器

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

View File

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

View File

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