JavaScript如何生成思维导图(mindmap)

一、总结

一句话总结:可以直接用gojs

gojs

二、一个用JavaScript生成思维导图(mindmap)的github repo(转)

转自:一个用JavaScript生成思维导图(mindmap)的github repo - JerryWangSAP - 博客园
https://www.cnblogs.com/sap-jerry/p/8969516.html

github 地址:https://github.com/dundalek/markmap

作者的readme写得很简单。

今天有同事问作者提供的例子到底怎么跑。这里我就写一个更详细的步骤出来。

首先查看example.parse.js的内容:


var fs = require('fs'); var parse = require('../parse.markdown'); var transform = require('../transform.headings'); var text = fs.readFileSync('gtor.md', 'utf-8'); var headings = parse(text); var root = transform(headings); console.log(root); fs.writeFileSync('gtor.json', JSON.stringify(root));

使用nodejs命名node example.parse.js执行这段代码:代码读取包含思维导图的本地文件gtor.md, 解析并转换生成本地文件gtor.json.

然后查看example.view.js, 发现作者使用了d3来做UI的渲染。

d3.json("gtor.json", function(error, data) {

if (error) throw error;

  markmap('svg#mindmap', data, {

      preset: 'default', // or colorful

      linkShape: 'diagonal' // or bracket
});
});

如果直接双击examples文件夹里的index.html文件在浏览器里打开,会出现跨域错误导致本地文件gtor.json无法访问:

必须把这个example部署到服务器上运行才行。

为了简单起见,我做了一个简单的封装。如果您想跑跑例子看看效果,只需要下载我的project到本地:https://github.com/i042416/jerrylist

直接在本地用nodejs 命令行启动服务器:

node local.js

然后localhost:3000/mindmap即可看到思维导图的效果

 

最新文章

  1. Windows 2008 IIS7.5中创建独立账号的FTP站点图文教程
  2. js、jquery获取当前url中各个参数
  3. SAP ALV中同一列的不同行显示不同的小数位,并能够总计,小计
  4. Mate7微信指纹支付来了 比Touch ID整合微信早一点
  5. 经典SQL语句大全.doc
  6. 小白也能用Git管理团队项目了:百度云同步+Git Extensions+Git Source Control Provider
  7. Promises与Javascript异步编程
  8. ANDROID_MARS学习笔记_S01原始版_002_实现计算乘积及menu应用
  9. java String 去除空格
  10. Oracle创建表、索引、主键、字段描述
  11. 转载 Deep learning:六(regularized logistic回归练习)
  12. [BZOJ4195] [NOI2015] 程序自动分析 (并查集)
  13. OpenApi开放平台架构实践
  14. express+sequelize 做后台
  15. mybaits返回自增主键ID
  16. 使用context关闭协程以及协程中的协程
  17. Java 进制间的转换
  18. qt无法使用终端启动的解决方法
  19. Node.js HTTP Server对象及GET、POST请求
  20. LoadRunner 函数大全之中文解释

热门文章

  1. Linux进程PRI与NI值
  2. Leetcode: Encode and Decode TinyURL
  3. PS跑马灯效果和更换图标
  4. puppeteer(六)启动参数——浏览器扩展应用的添加及应用
  5. 从网卡发送数据再谈TCP/IP协议—网络传输速度计算-网卡构造
  6. CentOS 7 zabbix实现微信报警
  7. 【SparkStreaming学习之三】 SparkStreaming和kafka整合
  8. VS2017不能弹出安装界面的原因.
  9. Net Core API网关Ocelot
  10. ceph添加osd(ceph-deploy)