基于語(yǔ)雀編輯器的在線文檔編輯與查看功能
概述
語(yǔ)雀是一個(gè)非常優(yōu)秀的文檔和知識(shí)庫(kù)工具,其編輯器更是非常好用,雖無(wú)開(kāi)源版本,但有編譯好的可以使用。本文基于語(yǔ)雀編輯器實(shí)現(xiàn)在線文檔的編輯與文章的預(yù)覽。
實(shí)現(xiàn)效果
實(shí)現(xiàn)
參考語(yǔ)雀編輯器官方文檔,其實(shí)現(xiàn)需要引入以下文件:
<link rel="stylesheet" type="text/css" rel="external nofollow" /> <link rel="stylesheet" type="text/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選區(qū)工具欄 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表示需要轉(zhuǎn)存,會(huì)調(diào)用createUploadPromise return false; }, // 配置上傳接口,要返回一個(gè)promise對(duì)象 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 // 獲取文檔內(nèi)容 docEditor.getDocument('text/lake') // 設(shè)置文檔內(nèi)容 docEditor.setDocument('text/lake', docContent);
2. 文章預(yù)覽
const { createOpenViewer } = window.Doc; // 創(chuàng)建閱讀器 const viewer = createOpenViewer(this.$refs.editor, {}); viewer.setDocument('text/lake', docContent);
到此這篇關(guān)于基于語(yǔ)雀編輯器的在線文檔編輯與查看的文章就介紹到這了,更多相關(guān)語(yǔ)雀編輯器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解git merge 與 git rebase的區(qū)別
這篇文章主要介紹了詳解git merge 與 git rebase的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07git與svn的區(qū)別及優(yōu)缺點(diǎn)說(shuō)明
Git和SVN都是版本控制系統(tǒng),用于代碼管理,SVN是集中式的,需要聯(lián)網(wǎng)并且中央服務(wù)器存在單點(diǎn)故障的風(fēng)險(xiǎn),Git是分布式的,每個(gè)終端都是一個(gè)完整的倉(cāng)庫(kù),不依賴中央服務(wù)器,提高了工作的靈活性和安全性,SVN易于管理權(quán)限,但必須聯(lián)網(wǎng)工作且更新提交可能面臨沖突2024-10-10Websocket直播間聊天室教程 GoEasy快速實(shí)現(xiàn)聊天室
這篇文章主要介紹了Websocket直播間聊天室教程 GoEasy快速實(shí)現(xiàn)聊天室,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05使用Git Hook技術(shù)定義和校驗(yàn)代碼提交模板方式
這篇文章主要介紹了使用Git Hook技術(shù)定義和校驗(yàn)代碼提交模板方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11