zoukankan      html  css  js  c++  java
  • 一个用JavaScript生成思维导图(mindmap)的github repo

    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即可看到思维导图的效果

    要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

  • 相关阅读:
    IE8 "开发人员工具" 无法使用,无法显示
    Python中用OpenPyXL处理Excel表格
    calendar函数使用说明【转】
    python之fabric2.0模块学习
    Day9
    Day8
    深入super,看Python如何解决钻石继承难题——转自楚门蔡的测视界
    python/socket编程之粘包
    os模块关于目录
    Day7
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/8969516.html
Copyright © 2011-2022 走看看