diff --git a/web/src/config/en.js b/web/src/config/en.js index 8ab141a5..a98fdd32 100644 --- a/web/src/config/en.js +++ b/web/src/config/en.js @@ -495,6 +495,12 @@ export const downTypeList = [ type: 'txt', icon: 'iconTXT', desc: 'Plain text file' + }, + { + name: 'FreeMind', + type: 'mm', + icon: 'iconTXT', + desc: 'FreeMind software format' } ] diff --git a/web/src/config/zh.js b/web/src/config/zh.js index 9b24c5c1..bf91eda4 100644 --- a/web/src/config/zh.js +++ b/web/src/config/zh.js @@ -589,6 +589,12 @@ export const downTypeList = [ type: 'txt', icon: 'iconTXT', desc: '纯文本文件' + }, + { + name: 'FreeMind', + type: 'mm', + icon: 'iconTXT', + desc: 'FreeMind软件格式' } ] diff --git a/web/src/lang/en_us.js b/web/src/lang/en_us.js index f4f4917e..dbb9aef1 100644 --- a/web/src/lang/en_us.js +++ b/web/src/lang/en_us.js @@ -157,8 +157,8 @@ export default { import: { title: 'Import', selectFile: 'Select file', - supportFile: 'Support .smm、.json、.xmind、.xlsx、.md file', - enableFileTip: 'Please select .smm、.json、.xmind、.xlsx、.md file', + supportFile: 'Support .smm、.json、.xmind、.xlsx、.md、 .mm file', + enableFileTip: 'Please select .smm、.json、.xmind、.xlsx、.md、 .mm file', maxFileNum: 'At most one file can be selected', notSelectTip: 'Please select the file to import', fileContentError: 'The file content is incorrect', diff --git a/web/src/lang/zh_cn.js b/web/src/lang/zh_cn.js index e7b71a59..bfb4be35 100644 --- a/web/src/lang/zh_cn.js +++ b/web/src/lang/zh_cn.js @@ -155,8 +155,8 @@ export default { import: { title: '导入', selectFile: '选取文件', - supportFile: '支持.smm、.json、.xmind、.xlsx、.md文件', - enableFileTip: '请选择.smm、.json、.xmind、.xlsx、.md文件', + supportFile: '支持.smm、.json、.xmind、.xlsx、.md、 .mm文件', + enableFileTip: '请选择.smm、.json、.xmind、.xlsx、.md、 .mm文件', maxFileNum: '最多只能选择一个文件', notSelectTip: '请选择要导入的文件', fileContentError: '文件内容有误', diff --git a/web/src/pages/Edit/components/Edit.vue b/web/src/pages/Edit/components/Edit.vue index ef9d9ec0..7d61efd9 100644 --- a/web/src/pages/Edit/components/Edit.vue +++ b/web/src/pages/Edit/components/Edit.vue @@ -79,6 +79,8 @@ import OuterFrame from 'simple-mind-map/src/plugins/OuterFrame.js' // import Notation from 'simple-mind-map-plugin-notation' // 编号插件,该插件为付费插件,详情请查看开发文档 // import Numbers from 'simple-mind-map-plugin-numbers' +// Freemind软件格式导入导出插件,该插件为付费插件,详情请查看开发文档 +import Freemind from 'simple-mind-map-plugin-freemind' import OutlineSidebar from './OutlineSidebar' import Style from './Style' import BaseStyle from './BaseStyle' @@ -135,6 +137,7 @@ MindMap.usePlugin(MiniMap) .usePlugin(RainbowLines) .usePlugin(Demonstrate) .usePlugin(OuterFrame) + .usePlugin(Freemind) // .usePlugin(Cooperate) // 协同插件 // 注册自定义主题 diff --git a/web/src/pages/Edit/components/Export.vue b/web/src/pages/Edit/components/Export.vue index aa96e22c..db769a7c 100644 --- a/web/src/pages/Edit/components/Export.vue +++ b/web/src/pages/Edit/components/Export.vue @@ -8,7 +8,7 @@ element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)" :width="isMobile ? '90%' : '50%'" - :top="isMobile? '20px' : '15vh'" + :top="isMobile ? '20px' : '15vh'" >
@@ -98,12 +98,14 @@ import { mapState, mapMutations } from 'vuex' import { downTypeList } from '@/config' import { isMobile } from 'simple-mind-map/src/utils/index' +import MarkdownIt from 'markdown-it' /** * @Author: 王林 * @Date: 2021-06-24 22:53:54 * @Desc: 导出 */ +let md = null export default { name: 'Export', data() { @@ -203,6 +205,22 @@ export default { this.fileName, this.isTransparent ) + } else if (this.exportType === 'mm') { + this.$bus.$emit('export', this.exportType, true, this.fileName, { + transformNote: note => { + if (!md) { + md = new MarkdownIt() + } + return md.render(note) + }, + transformImage: img => { + if (/^https?:\/\//.test(img)) { + return img + } else { + return '' + } + } + }) } else { this.$bus.$emit('export', this.exportType, true, this.fileName) } diff --git a/web/src/pages/Edit/components/Import.vue b/web/src/pages/Edit/components/Import.vue index a19f76ab..fc8dc05e 100644 --- a/web/src/pages/Edit/components/Import.vue +++ b/web/src/pages/Edit/components/Import.vue @@ -9,7 +9,7 @@ - {{ - item.title - }} + {{ item.title }} {{ @@ -56,6 +59,7 @@