脑图工具里做的比较好的有XMind和MindMaster,可惜前者没有提供web版,分享不是很方便,MindMaster虽有Processon在线脑图,但是有数量限制...
查看几家在线脑图的文件格式及美观易用性,发现坚果云脑图格式比较清晰,可以很方便的转换为xmind格式...
xmind格式和nbmx格式都是将脑图的以json tree的方式存储后压缩... 我们只需要将nbmx解压后的content.json转换成nbmx所需的content.json即可...
npm i -g @nestjs/cli
nest new nbmx2xmind
解压nbmx中的content.json 将nbmx2mind项目中的app.service.ts更改为如下部分
import { Injectable } from '@nestjs/common';
const fs = require('fs')
const { v4: uuidv4 } = require('uuid');
@Injectable()
export class AppService {
getHello(): string {
var jsonstr = fs.readFileSync( 'C:\\nbmx2xmind\\src\\content.json', 'utf8');
var node = JSON.parse(jsonstr);
return JSON.stringify(this.process(node))
}
process(node):Object {
let result = {title:null,id:null}
result["title"] = node.data.text
result["id"] = uuidv4()
//console.log(result)
if(node.children&&node.children.length>0){
result["children"]={}
result["children"].attached = node.children.map(item=> this.process(item))
}
return result
}
}
访问http://localhost:3000/得到xmind所需要的格式
将顶层children节点复制出来粘贴到xmind中的content.json的children节点,再压缩成zip格式,在xmind中打开即可