diff --git a/front/src/utils/convert-word.js b/front/src/utils/convert-word.js index 17646dc9923413f8c1504ddf71cc4d0f8945e5ca..ff8f1d9cb768489cb5ab8a1a71fef183abb30b2b 100644 --- a/front/src/utils/convert-word.js +++ b/front/src/utils/convert-word.js @@ -40,31 +40,30 @@ export const word_wrapper = ` {body}` const WordUtil = { - toWordByData(docInfoList, title) { - // title = title || $ts('document') - const treeData = convert_tree(docInfoList, '') - const content = new StringBuilder() - const appendHtml = (doc_info) => { + handleWordData(treeData, content, level = 1) { + const appendHtml = (doc_info, level) => { init_docInfo(doc_info) - content.append(WordUtil.toWord(doc_info)) + content.append(WordUtil.toWord(doc_info, level)) } treeData.forEach(docInfo => { const children = docInfo.children if (children && children.length > 0) { - // 一级标题 - content.append(`

${docInfo.name}

`) - children.forEach(child => { - appendHtml(child) - }) + content.append(`${docInfo.name}`) + this.handleWordData(children, content, level + 1) } else { - appendHtml(docInfo) + appendHtml(docInfo, level) } }) + }, + toWordByData(docInfoList) { + const treeData = convert_tree(docInfoList, '') + const content = new StringBuilder() + this.handleWordData(treeData, content) return content.toString() }, - toWord(docInfo) { + toWord(docInfo, level = 2) { const sb = new StringBuilder() - sb.append(`

${docInfo.name}

`) + sb.append(`${docInfo.name}`) const appendCode = (str) => { sb.append('') sb.append(`\n
\n${str}\n
\n`) diff --git a/front/src/utils/export.js b/front/src/utils/export.js index 6596a78704c732d4c85651e957a1565b09724b4a..425efe097ff37afa239d700fbed34fec84eca266 100644 --- a/front/src/utils/export.js +++ b/front/src/utils/export.js @@ -10,15 +10,7 @@ function export_single_page(docInfo, filenameHandler, contentHandler) { download_text(`${filenameHandler(docInfo)}`, content) } -/** - * 导出多页面 - * @param docInfoList docInfoList 没有转换tree - * @param filenameHandler 构建文件名回调,参数:docInfo - * @param contentHandler 构建内容回调,参数:docInfo - */ -function do_export_multi_docs(docInfoList, filenameHandler, contentHandler) { - const zip = new JSZip() - const treeData = convert_tree(docInfoList) +function handleData(zip, treeData, filenameHandler, contentHandler) { const appendFile = (zip, doc_info) => { init_docInfo(doc_info) const markdown = contentHandler(doc_info) @@ -30,14 +22,23 @@ function do_export_multi_docs(docInfoList, filenameHandler, contentHandler) { if (isFolder) { // 创建文件夹 const folderZip = zip.folder(docInfo.name) - children.forEach(child => { - // 文件放入文件夹中 - appendFile(folderZip, child) - }) + handleData(folderZip, children, filenameHandler, contentHandler) } else { appendFile(zip, docInfo) } }) +} + +/** + * 导出多页面 + * @param docInfoList docInfoList 没有转换tree + * @param filenameHandler 构建文件名回调,参数:docInfo + * @param contentHandler 构建内容回调,参数:docInfo + */ +function do_export_multi_docs(docInfoList, filenameHandler, contentHandler) { + const zip = new JSZip() + const treeData = convert_tree(docInfoList, '') + handleData(zip, treeData, filenameHandler, contentHandler) // 下载 zip.generateAsync({ type: 'blob' }).then(function(content) { const zipFile = `export-${new Date().getTime()}.zip` diff --git a/readme.md b/readme.md index d8b6e8db09ad3ce28063ee9591ef57c004b5c1be..88d4b640c38575d1a9e34305c33a46dde7670ec1 100644 --- a/readme.md +++ b/readme.md @@ -62,7 +62,7 @@ docker run --name torna --restart=always \ -e MYSQL_SCHEMA="torna" \ -e MYSQL_USERNAME="root" \ -e MYSQL_PASSWORD="root" \ - -d tanghc2020/torna:latest + -d tanghc2020/torna:1.15.7 ``` Need modify: diff --git a/readme_CN.md b/readme_CN.md index 3175d668271d4d5da92f2d1c2ccf4493fc9a28cc..daaf1db0ed85f7bcc1ce0452c4e4af7b4a1f6884 100644 --- a/readme_CN.md +++ b/readme_CN.md @@ -63,7 +63,7 @@ docker run --name torna --restart=always \ -e MYSQL_SCHEMA="torna" \ -e MYSQL_USERNAME="root" \ -e MYSQL_PASSWORD="root" \ - -d tanghc2020/torna:1.15.4 + -d tanghc2020/torna:1.15.7 ``` 需改更改的部分: