markmap-view
从转换的数据渲染一个 markmap。
安装
$ npm install markmap-view
或者从 CDN 加载:
<script src="https://cdn.jsdelivr.net/npm/d3@7"></script>
<script src="https://cdn.jsdelivr.net/npm/markmap-view"></script>
用法
创建一个具有明确宽度和高度的 SVG 元素:
<svg id="markmap" style="width: 800px; height: 800px"></svg>
假设我们已经从 markmap-lib 获取了 { root }
节点和资源 { styles, scripts }
。
有两种方式可以导入 markmap-view
:
// 使用 <script> 加载
const { markmap } = window;
const { Markmap, loadCSS, loadJS } = markmap;
// 或者作为 ESM
import * as markmap from 'markmap-view';
import { Markmap, loadCSS, loadJS } from 'markmap-view';
现在我们可以将 markmap 渲染到 SVG 元素中:
// 1. 加载资源
if (styles) loadCSS(styles);
if (scripts) {
loadJS(scripts, {
// 供插件访问 `markmap` 模块
getMarkmap: () => markmap,
});
}
// 2. 创建 markmap
// `options` 是可选的,即可以传入 `undefined`
Markmap.create('#markmap', options, root); // -> 返回一个 Markmap 实例
Markmap.create
的第一个参数也可以是一个实际的 SVG 元素,例如:
const svgEl = document.querySelector('#markmap');
Markmap.create(svgEl, options, data); // -> 返回一个 Markmap 实例