markmap-lib 0.15.0-alpha.0 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.js +678 -510
- package/dist/browser/index.mjs +244 -10860
- package/dist/index.js +179 -176
- package/dist/index.mjs +179 -176
- package/package.json +20 -8
- package/types/constants.d.ts +2 -0
- package/types/index.d.ts +2 -2
- package/types/plugins/base.d.ts +3 -3
- package/types/plugins/frontmatter.d.ts +1 -1
- package/types/plugins/hljs.d.ts +2 -0
- package/types/plugins/index.d.ts +1 -1
- package/types/plugins/katex.browser.d.ts +2 -2
- package/types/plugins/katex.config.d.ts +2 -1
- package/types/plugins/katex.d.ts +2 -2
- package/types/plugins/npm-url.d.ts +1 -1
- package/types/plugins/prism.browser.d.ts +2 -2
- package/types/plugins/prism.config.d.ts +2 -1
- package/types/plugins/prism.d.ts +2 -2
- package/types/plugins/util.d.ts +4 -0
- package/types/transform.d.ts +10 -4
- package/types/types.d.ts +6 -2
- package/types/template.d.ts +0 -8
package/dist/index.js
CHANGED
|
@@ -1,89 +1,53 @@
|
|
|
1
|
-
/*! markmap-lib v0.15.
|
|
1
|
+
/*! markmap-lib v0.15.1 | MIT License */
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var _extends = require('@babel/runtime/helpers/extends');
|
|
5
|
-
var markmapCommon = require('markmap-common');
|
|
6
5
|
var remarkable = require('remarkable');
|
|
6
|
+
var markmapCommon = require('markmap-common');
|
|
7
7
|
var remarkableKatex = require('remarkable-katex');
|
|
8
|
-
var Prism = require('prismjs');
|
|
9
|
-
var loadLanguages = require('prismjs/components/');
|
|
10
8
|
var yaml = require('js-yaml');
|
|
9
|
+
var hljs = require('highlight.js');
|
|
11
10
|
|
|
12
|
-
const template = "<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">\n<title>Markmap</title>\n<style>\n* {\n margin: 0;\n padding: 0;\n}\n#mindmap {\n display: block;\n width: 100vw;\n height: 100vh;\n}\n</style>\n<!--CSS-->\n</head>\n<body>\n<svg id=\"mindmap\"></svg>\n<!--JS-->\n</body>\n</html>\n";
|
|
13
|
-
const baseJsPaths = [`d3@${"
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
root
|
|
28
|
-
};
|
|
29
|
-
const jsList = [...markmapCommon.persistJS([...extra.baseJs, ...(scripts || []), {
|
|
11
|
+
const template = "<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">\n<title>Markmap</title>\n<style>\n* {\n margin: 0;\n padding: 0;\n}\n#mindmap {\n display: block;\n width: 100vw;\n height: 100vh;\n}\n</style>\n<!--CSS-->\n</head>\n<body>\n<svg id=\"mindmap\"></svg>\n<!--JS-->\n</body>\n</html>\n" ;
|
|
12
|
+
const baseJsPaths = [`d3@${"7.8.5"}/dist/d3.min.js`, `markmap-view@${"0.15.0"}/dist/browser/index.js`];
|
|
13
|
+
|
|
14
|
+
const name$3 = 'katex';
|
|
15
|
+
const preloadScripts = [`katex@${"0.16.8"}/dist/katex.min.js`].map(path => markmapCommon.buildJSItem(path));
|
|
16
|
+
const webfontloader = markmapCommon.buildJSItem(`webfontloader@${"1.6.28"}/webfontloader.js`);
|
|
17
|
+
webfontloader.data.defer = true;
|
|
18
|
+
const styles$1 = [`katex@${"0.16.8"}/dist/katex.min.css`].map(path => markmapCommon.buildCSSItem(path));
|
|
19
|
+
const config$1 = {
|
|
20
|
+
versions: {
|
|
21
|
+
katex: "0.16.8" ,
|
|
22
|
+
webfontloader: "1.6.28"
|
|
23
|
+
},
|
|
24
|
+
preloadScripts,
|
|
25
|
+
scripts: [{
|
|
30
26
|
type: 'iife',
|
|
31
27
|
data: {
|
|
32
|
-
fn:
|
|
33
|
-
|
|
34
|
-
|
|
28
|
+
fn: getMarkmap => {
|
|
29
|
+
window.WebFontConfig = {
|
|
30
|
+
custom: {
|
|
31
|
+
families: ['KaTeX_AMS', 'KaTeX_Caligraphic:n4,n7', 'KaTeX_Fraktur:n4,n7', 'KaTeX_Main:n4,n7,i4,i7', 'KaTeX_Math:i4,i7', 'KaTeX_Script', 'KaTeX_SansSerif:n4,n7,i4', 'KaTeX_Size1', 'KaTeX_Size2', 'KaTeX_Size3', 'KaTeX_Size4', 'KaTeX_Typewriter']
|
|
32
|
+
},
|
|
33
|
+
active: () => {
|
|
34
|
+
getMarkmap().refreshHook.call();
|
|
35
|
+
}
|
|
36
|
+
};
|
|
35
37
|
},
|
|
36
|
-
getParams
|
|
37
|
-
getMarkmap
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
jsonOptions
|
|
41
|
-
}) => {
|
|
42
|
-
return [getMarkmap, getOptions, root, jsonOptions];
|
|
38
|
+
getParams({
|
|
39
|
+
getMarkmap
|
|
40
|
+
}) {
|
|
41
|
+
return [getMarkmap];
|
|
43
42
|
}
|
|
44
43
|
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function getConfig$1() {
|
|
51
|
-
const preloadScripts = [`katex@${"0.16.0"}/dist/katex.min.js`].map(markmapCommon.buildJSItem);
|
|
52
|
-
const webfontloader = markmapCommon.buildJSItem(`webfontloader@${"1.6.28"}/webfontloader.js`);
|
|
53
|
-
webfontloader.data.defer = true;
|
|
54
|
-
const styles = [`katex@${"0.16.0"}/dist/katex.min.css`].map(markmapCommon.buildCSSItem);
|
|
55
|
-
return {
|
|
56
|
-
versions: {
|
|
57
|
-
katex: "0.16.0",
|
|
58
|
-
webfontloader: "1.6.28"
|
|
59
|
-
},
|
|
60
|
-
preloadScripts,
|
|
61
|
-
scripts: [{
|
|
62
|
-
type: 'iife',
|
|
63
|
-
data: {
|
|
64
|
-
fn: getMarkmap => {
|
|
65
|
-
window.WebFontConfig = {
|
|
66
|
-
custom: {
|
|
67
|
-
families: ['KaTeX_AMS', 'KaTeX_Caligraphic:n4,n7', 'KaTeX_Fraktur:n4,n7', 'KaTeX_Main:n4,n7,i4,i7', 'KaTeX_Math:i4,i7', 'KaTeX_Script', 'KaTeX_SansSerif:n4,n7,i4', 'KaTeX_Size1', 'KaTeX_Size2', 'KaTeX_Size3', 'KaTeX_Size4', 'KaTeX_Typewriter']
|
|
68
|
-
},
|
|
69
|
-
active: () => {
|
|
70
|
-
getMarkmap().refreshHook.call();
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
},
|
|
74
|
-
getParams({
|
|
75
|
-
getMarkmap
|
|
76
|
-
}) {
|
|
77
|
-
return [getMarkmap];
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}, webfontloader],
|
|
81
|
-
styles
|
|
82
|
-
};
|
|
83
|
-
}
|
|
44
|
+
}, webfontloader],
|
|
45
|
+
styles: styles$1
|
|
46
|
+
};
|
|
84
47
|
|
|
85
|
-
function createTransformHooks() {
|
|
48
|
+
function createTransformHooks(transformer) {
|
|
86
49
|
return {
|
|
50
|
+
transformer,
|
|
87
51
|
parser: new markmapCommon.Hook(),
|
|
88
52
|
beforeParse: new markmapCommon.Hook(),
|
|
89
53
|
afterParse: new markmapCommon.Hook(),
|
|
@@ -99,85 +63,34 @@ function definePlugin(plugin) {
|
|
|
99
63
|
return plugin;
|
|
100
64
|
}
|
|
101
65
|
|
|
102
|
-
const
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
config
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
return render(...args);
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
transformHooks.beforeParse.tap((_, context) => {
|
|
117
|
-
enableFeature = () => {
|
|
118
|
-
context.features[name$3] = true;
|
|
119
|
-
};
|
|
120
|
-
});
|
|
121
|
-
return {
|
|
122
|
-
styles: plugin.config.styles,
|
|
123
|
-
scripts: plugin.config.scripts
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
return plugin;
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
function getConfig() {
|
|
131
|
-
const preloadScripts = [`prismjs@${"1.28.0"}/components/prism-core.min.js`, `prismjs@${"1.28.0"}/plugins/autoloader/prism-autoloader.min.js`].map(markmapCommon.buildJSItem);
|
|
132
|
-
const styles = [`prismjs@${"1.28.0"}/themes/prism.css`].map(markmapCommon.buildCSSItem);
|
|
133
|
-
return {
|
|
134
|
-
versions: {
|
|
135
|
-
prismjs: "1.28.0"
|
|
136
|
-
},
|
|
137
|
-
preloadScripts,
|
|
138
|
-
styles
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
const name$2 = 'prism';
|
|
143
|
-
var prism = definePlugin(() => {
|
|
144
|
-
const plugin = {
|
|
145
|
-
name: name$2,
|
|
146
|
-
config: getConfig(),
|
|
147
|
-
transform(transformHooks) {
|
|
148
|
-
let enableFeature = markmapCommon.noop;
|
|
149
|
-
transformHooks.parser.tap(md => {
|
|
150
|
-
md.set({
|
|
151
|
-
highlight: (str, lang) => {
|
|
152
|
-
enableFeature();
|
|
153
|
-
let grammar = Prism.languages[lang];
|
|
154
|
-
if (!grammar && lang) {
|
|
155
|
-
loadLanguages([lang]);
|
|
156
|
-
grammar = Prism.languages[lang];
|
|
157
|
-
}
|
|
158
|
-
if (grammar) {
|
|
159
|
-
return Prism.highlight(str, grammar, lang);
|
|
160
|
-
}
|
|
161
|
-
return '';
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
});
|
|
165
|
-
transformHooks.beforeParse.tap((_, context) => {
|
|
166
|
-
enableFeature = () => {
|
|
167
|
-
context.features[name$2] = true;
|
|
168
|
-
};
|
|
66
|
+
const plugin$1 = definePlugin({
|
|
67
|
+
name: name$3,
|
|
68
|
+
config: config$1,
|
|
69
|
+
transform(transformHooks) {
|
|
70
|
+
var _plugin$config, _plugin$config2;
|
|
71
|
+
let enableFeature = markmapCommon.noop;
|
|
72
|
+
transformHooks.parser.tap(md => {
|
|
73
|
+
md.use(remarkableKatex);
|
|
74
|
+
md.renderer.rules.katex = markmapCommon.wrapFunction(md.renderer.rules.katex, (render, ...args) => {
|
|
75
|
+
enableFeature();
|
|
76
|
+
return render(...args);
|
|
169
77
|
});
|
|
170
|
-
|
|
171
|
-
|
|
78
|
+
});
|
|
79
|
+
transformHooks.beforeParse.tap((_, context) => {
|
|
80
|
+
enableFeature = () => {
|
|
81
|
+
context.features[name$3] = true;
|
|
172
82
|
};
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
|
|
83
|
+
});
|
|
84
|
+
return {
|
|
85
|
+
styles: (_plugin$config = plugin$1.config) == null ? void 0 : _plugin$config.styles,
|
|
86
|
+
scripts: (_plugin$config2 = plugin$1.config) == null ? void 0 : _plugin$config2.scripts
|
|
87
|
+
};
|
|
88
|
+
}
|
|
176
89
|
});
|
|
177
90
|
|
|
178
|
-
const name$
|
|
91
|
+
const name$2 = 'frontmatter';
|
|
179
92
|
var frontmatter = definePlugin({
|
|
180
|
-
name: name$
|
|
93
|
+
name: name$2,
|
|
181
94
|
transform(transformHooks) {
|
|
182
95
|
transformHooks.beforeParse.tap((md, context) => {
|
|
183
96
|
const {
|
|
@@ -225,20 +138,22 @@ function normalizeNumber(value) {
|
|
|
225
138
|
return +value;
|
|
226
139
|
}
|
|
227
140
|
|
|
228
|
-
const name = 'npmUrl';
|
|
141
|
+
const name$1 = 'npmUrl';
|
|
229
142
|
var npmUrl = definePlugin({
|
|
230
|
-
name,
|
|
143
|
+
name: name$1,
|
|
231
144
|
transform(transformHooks) {
|
|
232
145
|
transformHooks.afterParse.tap((_, context) => {
|
|
233
146
|
const {
|
|
234
147
|
frontmatter
|
|
235
148
|
} = context;
|
|
236
|
-
|
|
149
|
+
const markmap = frontmatter == null ? void 0 : frontmatter.markmap;
|
|
150
|
+
if (markmap) {
|
|
237
151
|
['extraJs', 'extraCss'].forEach(key => {
|
|
238
|
-
|
|
239
|
-
|
|
152
|
+
const value = markmap[key];
|
|
153
|
+
if (value) {
|
|
154
|
+
markmap[key] = value.map(path => {
|
|
240
155
|
if (path.startsWith('npm:')) {
|
|
241
|
-
return
|
|
156
|
+
return transformHooks.transformer.urlBuilder.getFullUrl(path.slice(4));
|
|
242
157
|
}
|
|
243
158
|
return path;
|
|
244
159
|
});
|
|
@@ -250,7 +165,61 @@ var npmUrl = definePlugin({
|
|
|
250
165
|
}
|
|
251
166
|
});
|
|
252
167
|
|
|
253
|
-
const
|
|
168
|
+
const name = 'hljs';
|
|
169
|
+
const styles = [`highlight.js@${"11.8.0"}/styles/default.css`].map(path => markmapCommon.buildCSSItem(path));
|
|
170
|
+
const config = {
|
|
171
|
+
versions: {
|
|
172
|
+
hljs: "11.8.0"
|
|
173
|
+
},
|
|
174
|
+
styles
|
|
175
|
+
};
|
|
176
|
+
const plugin = definePlugin({
|
|
177
|
+
name,
|
|
178
|
+
config,
|
|
179
|
+
transform(transformHooks) {
|
|
180
|
+
var _plugin$config;
|
|
181
|
+
let enableFeature = markmapCommon.noop;
|
|
182
|
+
transformHooks.parser.tap(md => {
|
|
183
|
+
md.set({
|
|
184
|
+
highlight: (str, language) => {
|
|
185
|
+
enableFeature();
|
|
186
|
+
return hljs.highlightAuto(str, language ? [language] : undefined).value;
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
});
|
|
190
|
+
transformHooks.beforeParse.tap((_, context) => {
|
|
191
|
+
enableFeature = () => {
|
|
192
|
+
context.features[name] = true;
|
|
193
|
+
};
|
|
194
|
+
});
|
|
195
|
+
return {
|
|
196
|
+
styles: (_plugin$config = plugin.config) == null ? void 0 : _plugin$config.styles
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
const plugins = [frontmatter, plugin$1, plugin, npmUrl];
|
|
202
|
+
|
|
203
|
+
function patchJSItem(transformer, item) {
|
|
204
|
+
if (item.type === 'script' && item.data.src) {
|
|
205
|
+
return _extends({}, item, {
|
|
206
|
+
data: _extends({}, item.data, {
|
|
207
|
+
src: transformer.urlBuilder.getFullUrl(item.data.src)
|
|
208
|
+
})
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
return item;
|
|
212
|
+
}
|
|
213
|
+
function patchCSSItem(transformer, item) {
|
|
214
|
+
if (item.type === 'stylesheet' && item.data.href) {
|
|
215
|
+
return _extends({}, item, {
|
|
216
|
+
data: _extends({}, item.data, {
|
|
217
|
+
href: transformer.urlBuilder.getFullUrl(item.data.href)
|
|
218
|
+
})
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
return item;
|
|
222
|
+
}
|
|
254
223
|
|
|
255
224
|
function cleanNode(node) {
|
|
256
225
|
if (node.type === 'heading') {
|
|
@@ -284,9 +253,7 @@ function cleanNode(node) {
|
|
|
284
253
|
}
|
|
285
254
|
});
|
|
286
255
|
}
|
|
287
|
-
if (node.children.length
|
|
288
|
-
delete node.children;
|
|
289
|
-
} else {
|
|
256
|
+
if (node.children.length > 0) {
|
|
290
257
|
node.children.forEach(child => cleanNode(child));
|
|
291
258
|
if (node.children.length === 1 && !node.children[0].content) {
|
|
292
259
|
node.children = node.children[0].children;
|
|
@@ -294,16 +261,16 @@ function cleanNode(node) {
|
|
|
294
261
|
}
|
|
295
262
|
}
|
|
296
263
|
function resetDepth(node, depth = 0) {
|
|
297
|
-
var _node$children;
|
|
298
264
|
node.depth = depth;
|
|
299
|
-
|
|
265
|
+
node.children.forEach(child => {
|
|
300
266
|
resetDepth(child, depth + 1);
|
|
301
267
|
});
|
|
302
268
|
}
|
|
303
269
|
class Transformer {
|
|
304
270
|
constructor(plugins$1 = plugins) {
|
|
305
271
|
this.assetsMap = {};
|
|
306
|
-
this.
|
|
272
|
+
this.urlBuilder = new markmapCommon.UrlBuilder();
|
|
273
|
+
this.hooks = createTransformHooks(this);
|
|
307
274
|
this.plugins = plugins$1.map(plugin => typeof plugin === 'function' ? plugin() : plugin);
|
|
308
275
|
const assetsMap = {};
|
|
309
276
|
for (const {
|
|
@@ -343,13 +310,13 @@ class Transformer {
|
|
|
343
310
|
const stack = [root];
|
|
344
311
|
let depth = 0;
|
|
345
312
|
for (const token of tokens) {
|
|
313
|
+
const payload = {};
|
|
314
|
+
if (token.lines) {
|
|
315
|
+
payload.lines = token.lines;
|
|
316
|
+
}
|
|
346
317
|
let current = stack[stack.length - 1];
|
|
347
318
|
if (token.type.endsWith('_open')) {
|
|
348
319
|
const type = token.type.slice(0, -5);
|
|
349
|
-
const payload = {};
|
|
350
|
-
if (token.lines) {
|
|
351
|
-
payload.lines = token.lines;
|
|
352
|
-
}
|
|
353
320
|
if (type === 'heading') {
|
|
354
321
|
depth = token.hLevel;
|
|
355
322
|
while (((_current = current) == null ? void 0 : _current.depth) >= depth) {
|
|
@@ -384,10 +351,13 @@ class Transformer {
|
|
|
384
351
|
}
|
|
385
352
|
} else if (token.type === 'inline') {
|
|
386
353
|
const revoke = this.hooks.htmltag.tap(ctx => {
|
|
387
|
-
|
|
354
|
+
var _ctx$result;
|
|
355
|
+
const comment = (_ctx$result = ctx.result) == null ? void 0 : _ctx$result.match(/^<!--([\s\S]*?)-->$/);
|
|
388
356
|
const data = comment == null ? void 0 : comment[1].trim().split(' ');
|
|
389
|
-
if (data[0] === 'fold') {
|
|
390
|
-
current.payload
|
|
357
|
+
if ((data == null ? void 0 : data[0]) === 'fold') {
|
|
358
|
+
current.payload = _extends({}, current.payload, {
|
|
359
|
+
fold: ['all', 'recursively'].includes(data[1]) ? 2 : 1
|
|
360
|
+
});
|
|
391
361
|
ctx.result = '';
|
|
392
362
|
}
|
|
393
363
|
});
|
|
@@ -395,15 +365,13 @@ class Transformer {
|
|
|
395
365
|
revoke();
|
|
396
366
|
current.content = `${current.content || ''}${text}`;
|
|
397
367
|
} else if (token.type === 'fence') {
|
|
398
|
-
|
|
399
|
-
// Remarkable only adds className to `<code>` but not `<pre>`, copy it to make PrismJS style work.
|
|
400
|
-
const matches = result.match(/<code( class="[^"]*")>/);
|
|
401
|
-
if (matches) result = result.replace('<pre>', `<pre${matches[1]}>`);
|
|
368
|
+
const result = md.renderer.render([token], md.options, {});
|
|
402
369
|
current.children.push({
|
|
403
370
|
type: token.type,
|
|
404
371
|
depth: depth + 1,
|
|
405
372
|
content: result,
|
|
406
|
-
children: []
|
|
373
|
+
children: [],
|
|
374
|
+
payload
|
|
407
375
|
});
|
|
408
376
|
} else ;
|
|
409
377
|
}
|
|
@@ -443,8 +411,8 @@ class Transformer {
|
|
|
443
411
|
}
|
|
444
412
|
}
|
|
445
413
|
return {
|
|
446
|
-
styles,
|
|
447
|
-
scripts
|
|
414
|
+
styles: styles.map(item => patchCSSItem(this, item)),
|
|
415
|
+
scripts: scripts.map(item => patchJSItem(this, item))
|
|
448
416
|
};
|
|
449
417
|
}
|
|
450
418
|
|
|
@@ -455,15 +423,50 @@ class Transformer {
|
|
|
455
423
|
const keys = this.plugins.map(plugin => plugin.name).filter(name => features[name]);
|
|
456
424
|
return this.getAssets(keys);
|
|
457
425
|
}
|
|
426
|
+
fillTemplate(root, assets, extra) {
|
|
427
|
+
var _extra, _extra$baseJs;
|
|
428
|
+
extra = _extends({}, extra);
|
|
429
|
+
(_extra$baseJs = (_extra = extra).baseJs) != null ? _extra$baseJs : _extra.baseJs = baseJsPaths.map(path => this.urlBuilder.getFullUrl(path)).map(path => markmapCommon.buildJSItem(path));
|
|
430
|
+
const {
|
|
431
|
+
scripts,
|
|
432
|
+
styles
|
|
433
|
+
} = assets;
|
|
434
|
+
const cssList = [...(styles ? markmapCommon.persistCSS(styles) : [])];
|
|
435
|
+
const context = {
|
|
436
|
+
getMarkmap: () => window.markmap,
|
|
437
|
+
getOptions: extra.getOptions,
|
|
438
|
+
jsonOptions: extra.jsonOptions,
|
|
439
|
+
root
|
|
440
|
+
};
|
|
441
|
+
const jsList = [...markmapCommon.persistJS([...extra.baseJs, ...(scripts || []), {
|
|
442
|
+
type: 'iife',
|
|
443
|
+
data: {
|
|
444
|
+
fn: (getMarkmap, getOptions, root, jsonOptions) => {
|
|
445
|
+
const markmap = getMarkmap();
|
|
446
|
+
window.mm = markmap.Markmap.create('svg#mindmap', (getOptions || markmap.deriveOptions)(jsonOptions), root);
|
|
447
|
+
},
|
|
448
|
+
getParams: ({
|
|
449
|
+
getMarkmap,
|
|
450
|
+
getOptions,
|
|
451
|
+
root,
|
|
452
|
+
jsonOptions
|
|
453
|
+
}) => {
|
|
454
|
+
return [getMarkmap, getOptions, root, jsonOptions];
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
}], context)];
|
|
458
|
+
const html = template.replace('<!--CSS-->', () => cssList.join('')).replace('<!--JS-->', () => jsList.join(''));
|
|
459
|
+
return html;
|
|
460
|
+
}
|
|
458
461
|
}
|
|
459
462
|
|
|
460
463
|
const transformerVersions = {
|
|
461
|
-
'markmap-lib': '0.15.
|
|
462
|
-
d3: "
|
|
464
|
+
'markmap-lib': '0.15.1',
|
|
465
|
+
d3: "7.8.5"
|
|
463
466
|
};
|
|
464
467
|
|
|
465
468
|
exports.Transformer = Transformer;
|
|
466
469
|
exports.baseJsPaths = baseJsPaths;
|
|
467
470
|
exports.builtInPlugins = plugins;
|
|
468
|
-
exports.
|
|
471
|
+
exports.template = template;
|
|
469
472
|
exports.transformerVersions = transformerVersions;
|