基于语雀编辑器的在线文档编辑与查看功能
更新时间:2024年07月12日 12:14:21 作者:牛老师讲GIS
语雀是一个非常优秀的文档和知识库工具,其编辑器更是非常好用,虽无开源版本,但有编译好的可以使用,本文基于语雀编辑器实现在线文档的编辑与文章的预览,感兴趣的朋友一起看看吧
概述
语雀是一个非常优秀的文档和知识库工具,其编辑器更是非常好用,虽无开源版本,但有编译好的可以使用。本文基于语雀编辑器实现在线文档的编辑与文章的预览。
实现效果
实现
参考语雀编辑器官方文档,其实现需要引入以下文件:
<link rel="stylesheet" type="text/css" href="https://gw.alipayobjects.com/render/p/yuyan_npm/@alipay_lakex-doc/1.1.0-beta.1/umd/doc.css" rel="external nofollow" /> <link rel="stylesheet" type="text/css" href="https://unpkg.com/antd@4.24.13/dist/antd.css" rel="external nofollow" /> <script crossorigin src="https://unpkg.com/react@18/umd/react.production.min.js"></script> <script crossorigin src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js"></script> <script src="https://gw.alipayobjects.com/render/p/yuyan_npm/@alipay_lakex-doc/1.1.0-beta.1/umd/doc.umd.js"></script>
1. 文档编辑
const { createOpenEditor, toolbarItems } = window.Doc; docEditor = createOpenEditor(this.$refs.editor, { toolbar: { agentConfig: { default: { items: [ toolbarItems.cardSelect, '|', toolbarItems.undo, toolbarItems.redo, toolbarItems.formatPainter, toolbarItems.clearFormat, '|', toolbarItems.style, toolbarItems.fontsize, toolbarItems.bold, toolbarItems.italic, toolbarItems.strikethrough, toolbarItems.underline, toolbarItems.mixedTextStyle, '|', toolbarItems.color, toolbarItems.bgColor, '|', toolbarItems.alignment, toolbarItems.unorderedList, toolbarItems.orderedList, toolbarItems.indent, toolbarItems.lineHeight, '|', toolbarItems.taskList, toolbarItems.link, toolbarItems.quote, toolbarItems.hr, ] }, // table选区工具栏 table: { items: [ toolbarItems.cardSelect, '|', toolbarItems.undo, toolbarItems.redo, toolbarItems.formatPainter, toolbarItems.clearFormat, '|', toolbarItems.style, toolbarItems.fontsize, toolbarItems.bold, toolbarItems.italic, toolbarItems.strikethrough, toolbarItems.underline, toolbarItems.mixedTextStyle, '|', toolbarItems.color, toolbarItems.bgColor, toolbarItems.tableCellBgColor, toolbarItems.tableBorderVisible, '|', toolbarItems.alignment, toolbarItems.tableVerticalAlign, toolbarItems.tableMergeCell, '|', toolbarItems.unorderedList, toolbarItems.orderedList, toolbarItems.indent, toolbarItems.lineHeight, '|', toolbarItems.taskList, toolbarItems.link, toolbarItems.quote, toolbarItems.hr, ], } } }, image: { isCaptureImageURL:(url) => { // return false表示需要转存,会调用createUploadPromise return false; }, // 配置上传接口,要返回一个promise对象 createUploadPromise: (request) => { const {type, data} = request; if(type === 'url') { return Promise.resolve({ url: url, filename: '上传图片' }); } else if(type === 'file') { return new Promise(resolve => { let formData = new FormData(); formData.set("file", data); //这里使用封装的上传文件的接口 upload('file/upload/img', formData) .then(res => { if(res.code === 200) { const {fileName, url} = res.data resolve({ url: url, filename: fileName }); } else { ElMessage({ message: '图片上传失败!', type: 'warning', }) } }) }) } }, } }); window.docEditor = docEditor // 获取文档内容 docEditor.getDocument('text/lake') // 设置文档内容 docEditor.setDocument('text/lake', docContent);
2. 文章预览
const { createOpenViewer } = window.Doc; // 创建阅读器 const viewer = createOpenViewer(this.$refs.editor, {}); viewer.setDocument('text/lake', docContent);
到此这篇关于基于语雀编辑器的在线文档编辑与查看的文章就介绍到这了,更多相关语雀编辑器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Kali渗透测试之使用Metasploit对Web应用的攻击
这篇文章主要介绍了Kali渗透测试:使用Metasploit对Web应用的攻击,这种漏洞源于Web应用程序没有对用户输入的内容进行准确的验证,从而导致操作系统执行了攻击者输入的命令,需要的朋友可以参考下2022-05-05一不小心git rebase后出现(master|REBASE 1/10)的问题及解决办法
这篇文章主要介绍了一不小心git rebase后出现(master|REBASE 1/10)的问题及解决办法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-07-07adb shell input keyevent 控制按键输入的数值(收藏版)
adb shell的功能很强大,可以使用很多功能,今天我们说下通过控制按键输入,需要的朋友可以参考下2019-10-10
最新评论