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即可看到思維導圖的效果