markmap-lib 0.14.5-alpha.21 → 0.14.5-alpha.24
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 +186 -170
- package/dist/browser/index.mjs +181 -165
- package/dist/index.js +148 -133
- package/dist/index.mjs +148 -133
- package/package.json +4 -4
- package/types/constants.d.ts +2 -0
- package/types/index.d.ts +1 -1
- package/types/plugins/base.d.ts +3 -3
- package/types/plugins/frontmatter.d.ts +1 -1
- package/types/plugins/hljs.d.ts +2 -2
- package/types/plugins/index.d.ts +1 -1
- package/types/plugins/katex.browser.d.ts +2 -2
- package/types/plugins/katex.config.d.ts +1 -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 +1 -1
- package/types/plugins/prism.d.ts +2 -2
- package/types/plugins/util.d.ts +4 -0
- package/types/transform.d.ts +9 -3
- package/types/types.d.ts +5 -1
- package/types/template.d.ts +0 -8
package/dist/index.js
CHANGED
|
@@ -1,89 +1,53 @@
|
|
|
1
|
-
/*! markmap-lib v0.14.5-alpha.
|
|
1
|
+
/*! markmap-lib v0.14.5-alpha.24+08dd40c | 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
8
|
var yaml = require('js-yaml');
|
|
9
|
-
var hljs
|
|
9
|
+
var hljs = require('highlight.js');
|
|
10
10
|
|
|
11
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.14.5-alpha.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
root
|
|
27
|
-
};
|
|
28
|
-
const jsList = [...markmapCommon.persistJS([...extra.baseJs, ...(scripts || []), {
|
|
12
|
+
const baseJsPaths = [`d3@${"7.8.5"}/dist/d3.min.js`, `markmap-view@${"0.14.5-alpha.24"}/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: [{
|
|
29
26
|
type: 'iife',
|
|
30
27
|
data: {
|
|
31
|
-
fn:
|
|
32
|
-
|
|
33
|
-
|
|
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
|
+
};
|
|
34
37
|
},
|
|
35
|
-
getParams
|
|
36
|
-
getMarkmap
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
jsonOptions
|
|
40
|
-
}) => {
|
|
41
|
-
return [getMarkmap, getOptions, root, jsonOptions];
|
|
38
|
+
getParams({
|
|
39
|
+
getMarkmap
|
|
40
|
+
}) {
|
|
41
|
+
return [getMarkmap];
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
const name$3 = 'katex';
|
|
50
|
-
function getConfig$1() {
|
|
51
|
-
const preloadScripts = [`katex@${"0.16.8"}/dist/katex.min.js`].map(path => markmapCommon.buildJSItem(path));
|
|
52
|
-
const webfontloader = markmapCommon.buildJSItem(`webfontloader@${"1.6.28"}/webfontloader.js`);
|
|
53
|
-
webfontloader.data.defer = true;
|
|
54
|
-
const styles = [`katex@${"0.16.8"}/dist/katex.min.css`].map(path => markmapCommon.buildCSSItem(path));
|
|
55
|
-
return {
|
|
56
|
-
versions: {
|
|
57
|
-
katex: "0.16.8" ,
|
|
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,31 +63,29 @@ function definePlugin(plugin) {
|
|
|
99
63
|
return plugin;
|
|
100
64
|
}
|
|
101
65
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
transformHooks.beforeParse.tap((_, context) => {
|
|
116
|
-
enableFeature = () => {
|
|
117
|
-
context.features[name$3] = true;
|
|
118
|
-
};
|
|
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);
|
|
119
77
|
});
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
78
|
+
});
|
|
79
|
+
transformHooks.beforeParse.tap((_, context) => {
|
|
80
|
+
enableFeature = () => {
|
|
81
|
+
context.features[name$3] = true;
|
|
123
82
|
};
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
|
|
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
|
+
}
|
|
127
89
|
});
|
|
128
90
|
|
|
129
91
|
const name$2 = 'frontmatter';
|
|
@@ -191,7 +153,7 @@ var npmUrl = definePlugin({
|
|
|
191
153
|
if (value) {
|
|
192
154
|
markmap[key] = value.map(path => {
|
|
193
155
|
if (path.startsWith('npm:')) {
|
|
194
|
-
return
|
|
156
|
+
return transformHooks.transformer.urlBuilder.getFullUrl(path.slice(4));
|
|
195
157
|
}
|
|
196
158
|
return path;
|
|
197
159
|
});
|
|
@@ -204,43 +166,60 @@ var npmUrl = definePlugin({
|
|
|
204
166
|
});
|
|
205
167
|
|
|
206
168
|
const name = 'hljs';
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
return hljs$1.highlightAuto(str, language ? [language] : undefined).value;
|
|
227
|
-
}
|
|
228
|
-
});
|
|
229
|
-
});
|
|
230
|
-
transformHooks.beforeParse.tap((_, context) => {
|
|
231
|
-
enableFeature = () => {
|
|
232
|
-
context.features[name] = true;
|
|
233
|
-
};
|
|
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
|
+
}
|
|
234
188
|
});
|
|
235
|
-
|
|
236
|
-
|
|
189
|
+
});
|
|
190
|
+
transformHooks.beforeParse.tap((_, context) => {
|
|
191
|
+
enableFeature = () => {
|
|
192
|
+
context.features[name] = true;
|
|
237
193
|
};
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
|
|
194
|
+
});
|
|
195
|
+
return {
|
|
196
|
+
styles: (_plugin$config = plugin.config) == null ? void 0 : _plugin$config.styles
|
|
197
|
+
};
|
|
198
|
+
}
|
|
241
199
|
});
|
|
242
200
|
|
|
243
|
-
const plugins = [frontmatter,
|
|
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
|
+
}
|
|
244
223
|
|
|
245
224
|
function cleanNode(node) {
|
|
246
225
|
if (node.type === 'heading') {
|
|
@@ -290,7 +269,8 @@ function resetDepth(node, depth = 0) {
|
|
|
290
269
|
class Transformer {
|
|
291
270
|
constructor(plugins$1 = plugins) {
|
|
292
271
|
this.assetsMap = {};
|
|
293
|
-
this.
|
|
272
|
+
this.urlBuilder = new markmapCommon.UrlBuilder();
|
|
273
|
+
this.hooks = createTransformHooks(this);
|
|
294
274
|
this.plugins = plugins$1.map(plugin => typeof plugin === 'function' ? plugin() : plugin);
|
|
295
275
|
const assetsMap = {};
|
|
296
276
|
for (const {
|
|
@@ -431,8 +411,8 @@ class Transformer {
|
|
|
431
411
|
}
|
|
432
412
|
}
|
|
433
413
|
return {
|
|
434
|
-
styles,
|
|
435
|
-
scripts
|
|
414
|
+
styles: styles.map(item => patchCSSItem(this, item)),
|
|
415
|
+
scripts: scripts.map(item => patchJSItem(this, item))
|
|
436
416
|
};
|
|
437
417
|
}
|
|
438
418
|
|
|
@@ -443,15 +423,50 @@ class Transformer {
|
|
|
443
423
|
const keys = this.plugins.map(plugin => plugin.name).filter(name => features[name]);
|
|
444
424
|
return this.getAssets(keys);
|
|
445
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
|
+
}
|
|
446
461
|
}
|
|
447
462
|
|
|
448
463
|
const transformerVersions = {
|
|
449
|
-
'markmap-lib': '0.14.5-alpha.
|
|
464
|
+
'markmap-lib': '0.14.5-alpha.24+08dd40c',
|
|
450
465
|
d3: "7.8.5"
|
|
451
466
|
};
|
|
452
467
|
|
|
453
468
|
exports.Transformer = Transformer;
|
|
454
469
|
exports.baseJsPaths = baseJsPaths;
|
|
455
470
|
exports.builtInPlugins = plugins;
|
|
456
|
-
exports.
|
|
471
|
+
exports.template = template;
|
|
457
472
|
exports.transformerVersions = transformerVersions;
|