feat: 新增 WYSIWYG 编辑器功能和相关工具栏事件处理

This commit is contained in:
2026-04-10 16:18:01 +08:00
parent 40b77471b5
commit f20b7aa61c
128 changed files with 16048 additions and 84 deletions

View File

@@ -6,10 +6,25 @@
return;
}
var DEFAULT_CDN = global.HUSTOJ_VDITOR_CDN || 'https://cdn.jsdelivr.net/npm/vditor@3.10.6';
var currentScriptRef = documentRef.currentScript || (function () {
var scripts = documentRef.getElementsByTagName('script');
return scripts.length > 0 ? scripts[scripts.length - 1] : null;
})();
var DEFAULT_CDN = global.HUSTOJ_VDITOR_CDN || getLocalCdnBase();
global.HUSTOJ_VDITOR_CDN = DEFAULT_CDN;
var assetsPromise = null;
var styleInjected = false;
function getLocalCdnBase() {
var scriptSrc = currentScriptRef && currentScriptRef.src;
if (!scriptSrc) {
return 'include/vditor';
}
return scriptSrc.replace(/\/vditor-adapter\.js(?:[?#].*)?$/, '/vditor');
}
function injectAdapterStyle() {
var style;
@@ -85,6 +100,7 @@
function ensureAssets(options) {
var cdn = (options && options.cdn) || DEFAULT_CDN;
global.HUSTOJ_VDITOR_CDN = cdn;
if (global.Vditor) {
injectAdapterStyle();
return Promise.resolve(global.Vditor);
@@ -95,7 +111,7 @@
ensureStyleTag(cdn + '/dist/index.css');
injectAdapterStyle();
assetsPromise = ensureScript(cdn + '/dist/index.min.js').then(function () {
assetsPromise = ensureScript(cdn + '/dist/index.js').then(function () {
return global.Vditor;
});
return assetsPromise;
@@ -447,10 +463,6 @@
'|',
'undo',
'redo',
'|',
'edit-mode',
'both',
'preview',
'fullscreen',
'outline'
];