一个用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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:


一个用JavaScript生成思维导图(mindmap)的github repo的更多相关文章
- JavaScript如何生成思维导图(mindmap)
JavaScript如何生成思维导图(mindmap) 一.总结 一句话总结:可以直接用gojs gojs 二.一个用JavaScript生成思维导图(mindmap)的github repo(转) ...
- 【xmind】 使用 Java 生成思维导图
前言 在日常的工作与学习中,我们经常会使用思维导图这个工具,来把抽象而又无形的思考转换成有形并且具体的图像,是理清思路,梳理逻辑的一大神器. 准确的说,思维导图并不是一个具体的工具,而是一种方法.是道 ...
- HTML,CSS,JavaScript的思维导图
一个思维导图是把抽象的事物具体化,以一个东西为思想核心内容,映射出一系列的组成及作用 影响的内容. HTML的思维导图 HTML是一种超文本标记语言.我认为要学习一门语言首先要知道其是什么,编辑工具是 ...
- XMind 是一个全功能的思维导图和头脑风暴软件,为激发灵感和创意而生
XMind 是一个全功能的思维导图和头脑风暴软件,为激发灵感和创意而生 https://www.xmind.cn/
- Javascript前端思维导图
思维导图小tips: 思维导图又叫心智图,是表达发射性思维的有效的图形思维工具 ,它简单却又极其有效,是一种革命性的思维工具.思维导图运用图文并重的技巧,把各级主题的关系用相互隶属与相关的层级图表现出 ...
- JavaScript知识思维导图
知识点:(图片为网络转载,谢谢分享.) JavaScript 变量 JavaScript 数据类型 JavaScript 字符串函数 Javascript 运算符 JavaScript 流程控制 Ja ...
- JavaScript知识点 思维导图
javascript变量 javascript数据类型 javascript运算符 javascript流程语句 javascript数组 javascript字符串函数 javascript函数基础 ...
- javascript基础 思维导图2
来源于:http://www.cnblogs.com/xianyulaodi/p/5886128.html 1.javascript数据类型 2.javascript数组 3.javascript运算 ...
- 【原创】javascript——事件思维导图
随机推荐
- PHP + Smarty + MySQL
Help me please! How to transfer data from table to smarty? Function: public function getBanLog() { g ...
- 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_02-自定义查询页面-服务端-接口开发
在Service中实现自定义查询 StringUtils.isNotEmpty()是这个包下的org.apache.commons.lang3.StringUtils; 再设置其他的条件 定义Exam ...
- Python中elasticsearch插入和更新数据的实现方法
Python中elasticsearch插入和更新数据的实现方法 这篇文章主要介绍了Python中elasticsearch插入和更新数据的实现方法,需要的朋友可以参考下 首先,我的索引结构是酱紫的. ...
- RabbitMQ简单Java示例——生产者和消费者
添加Maven依赖: 使用rabbitmq-client的最新Maven坐标: <!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp ...
- 从MOV PC,PC;(或者ADDPC,PC,#4 )看ARM的三级流水线过程
3级流水线如上图所示(PC为程序计数器),流水线使用3个阶段,因此指令分3个阶段执行. ⑴ 取指从存储器装载一条指令 ⑵ 译码识别将要被执行的指令 ⑶ 执行处理指令并将结果写会寄存器 以前学过的51单 ...
- Android开发环境搭建(eclipse版)
1.下载安装JDK 网址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
- std::replace函数
需包含头文件#include <algorithm> template <class ForwardIterator, class T> void replace (Forwa ...
- 【DSP开发】如何获得浮点型的数据的IEEE的表示
[DSP开发]如何获得浮点型的数据的IEEE的表示 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 浮点数的存储规范,由IEEE指定的,具体的规范文件是:IE ...
- Spring A 标签链接使用
1.示例 <a th:href="@{/edit/{id}(id=${user.id})}">修改</a> 以@开头前面的{id}是占位符,后面的(id=$ ...
- 前端手势控制图片插件书写二(transform矩阵的原理)
上次解释了如何使用代码识别双指和单指操作及放大和旋转拖动操作.这次解释下css3的transform原理 一.transform矩阵原理 transform: matrix(a,b,c,d,e,f) ...