修改CKEditor5数据源处理方式为html而不是markdown;修复back按钮会导致outHTML null

master
joefalmko 3 months ago
parent 3c0646ea92
commit 81bd2da001

@ -38,7 +38,7 @@ import {
LinkImage,
List,
ListProperties,
Markdown,
// Markdown,
MediaEmbed,
Mention,
PageBreak,
@ -82,7 +82,8 @@ import {
getStyle,
getPageContent,
getUserConfigFromBackend,
saveData
saveData,
// markdown2html
} from './utils';
// 导出为docx插件
@ -418,7 +419,7 @@ function setConfig() {
LinkImage,
List,
ListProperties,
Markdown,
// Markdown,
MediaEmbed,
Mention,
PageBreak,

@ -1,5 +1,5 @@
// utils.js
import { MarkdownToHtml } from '@ckeditor/ckeditor5-markdown-gfm/src/markdown2html/markdown2html.js';
// 获取用户配置
export function getUserConfigFromBackend() {
// TODO 请求用户配置
@ -101,6 +101,7 @@ export function saveData(data) {
// resolve();
// }, HTTP_SERVER_LAG );
// } );
console.log('saving...');
console.log(data);
}
@ -121,9 +122,10 @@ export function getStyle() {
// 获取用户编辑的内容 <html>
export function getPageContent() {
const pageContent =document.querySelector("#app > div > div > div.editor-container.editor-container_document-editor.editor-container_include-style > div.editor-container__editor-wrapper > div > div");
return window.editor.getData();
// const pageContent =document.querySelector("#app > div > div > div.editor-container.editor-container_document-editor.editor-container_include-style > div.editor-container__editor-wrapper > div > div");
// const pageContent = document.querySelector("#app > div > div > div > div.editor-container__editor-wrapper > div > div > div");
return pageContent.outerHTML;
// return pageContent.outerHTML;
}
// 获取并应用用户定义的样式
@ -136,3 +138,12 @@ export function getAndApplyUserStyles() {
document.head.appendChild(styleElement);
return styles;
}
// markdown转html 便于将大语言模型的输出一般为markdown格式转换为ckeditor的html格式
// 利用ckeditor markdown插件但不能在CkeditorView.vue中使用
// 否则会改变编辑器数据处理器为markdown即getData()需要传入markdown stringsetData()返回markdown string
export function markdown2html(markdownString){
const markdownToHtml = new MarkdownToHtml();
const htmlString = markdownToHtml.parse(markdownString);
return htmlString;
}

@ -345,6 +345,7 @@ export default {
// pageContent
// TODO
editor.setData(pageContent);
window.editor = editor;
},
// sidebar
// /

Loading…
Cancel
Save