使用新的富文本编辑器
This commit is contained in:
874
package-lock.json
generated
874
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
28
package.json
28
package.json
@@ -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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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",
|
||||||
@@ -42,7 +45,7 @@ export default defineConfig({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
Vue({include: [/\.vue$/, /\.md$/]}),
|
Vue({ include: [/\.vue$/, /\.md$/] }),
|
||||||
AutoImport({
|
AutoImport({
|
||||||
imports: [
|
imports: [
|
||||||
"vue",
|
"vue",
|
||||||
@@ -81,12 +84,14 @@ export default defineConfig({
|
|||||||
}),
|
}),
|
||||||
Markdown({
|
Markdown({
|
||||||
async markdownItSetup(md) {
|
async markdownItSetup(md) {
|
||||||
md.use(await Shiki({
|
md.use(
|
||||||
themes: {
|
await Shiki({
|
||||||
light: 'vitesse-light',
|
themes: {
|
||||||
dark: 'vitesse-dark',
|
light: "vitesse-light",
|
||||||
}
|
dark: "vitesse-dark",
|
||||||
}))
|
},
|
||||||
|
}),
|
||||||
|
)
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
|
|||||||
Reference in New Issue
Block a user