@nakobase/nakobase-md-html 1.2.0 → 1.2.2
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/esm/constants.js +8 -2
- package/dist/esm/index.js +19 -12
- package/dist/esm/sanitizer.js +16 -7
- package/dist/esm/types.js +5 -1
- package/dist/esm/utils/highlight.js +310 -303
- package/dist/esm/utils/md-container.js +16 -10
- package/dist/esm/utils/md-custom-blocks.js +16 -10
- package/dist/esm/utils/md-renderer-fence.js +14 -7
- package/package.json +1 -2
package/dist/esm/constants.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CONTAINER_TYPES = exports.ARGUMENT_DIVIDER = void 0;
|
|
7
|
+
const ARGUMENT_DIVIDER = exports.ARGUMENT_DIVIDER = '|';
|
|
8
|
+
const CONTAINER_TYPES = exports.CONTAINER_TYPES = {
|
|
3
9
|
TOC: 'toc',
|
|
4
10
|
BOX: 'box',
|
|
5
11
|
BUBBLE: 'bubble',
|
package/dist/esm/index.js
CHANGED
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
import { sanitize } from './sanitizer';
|
|
4
|
-
import { boxOptions, bubbleImageOptions, bubbleOptions, detailsOptions } from './utils/md-container';
|
|
5
|
-
import { mdRendererFence } from './utils/md-renderer-fence';
|
|
6
|
-
import { mdCustomBlocks } from './utils/md-custom-blocks';
|
|
7
|
-
import { CONTAINER_TYPES } from './constants';
|
|
2
|
+
"use strict";
|
|
8
3
|
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.mdToHtml = void 0;
|
|
8
|
+
var _markdownIt = _interopRequireDefault(require("markdown-it"));
|
|
9
|
+
var _sanitizer = require("./sanitizer");
|
|
10
|
+
var _mdContainer = require("./utils/md-container");
|
|
11
|
+
var _mdRendererFence = require("./utils/md-renderer-fence");
|
|
12
|
+
var _mdCustomBlocks = require("./utils/md-custom-blocks");
|
|
13
|
+
var _constants = require("./constants");
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
15
|
// plugins
|
|
10
16
|
const MdItImSize = require('@steelydylan/markdown-it-imsize').default;
|
|
11
17
|
const MdItInlineComments = require('markdown-it-inline-comments');
|
|
12
18
|
const MdItContainer = require('markdown-it-container');
|
|
13
19
|
const MdItTaskLists = require('markdown-it-task-lists');
|
|
14
|
-
|
|
20
|
+
const mdToHtml = (markdown, options) => {
|
|
15
21
|
const {
|
|
16
22
|
codeHighlight
|
|
17
23
|
} = options || {};
|
|
18
24
|
if (!(markdown && markdown.length)) return '';
|
|
19
|
-
const md =
|
|
25
|
+
const md = (0, _markdownIt.default)({
|
|
20
26
|
breaks: true,
|
|
21
27
|
linkify: true
|
|
22
28
|
});
|
|
@@ -28,9 +34,10 @@ export const mdToHtml = (markdown, options) => {
|
|
|
28
34
|
});
|
|
29
35
|
md.use(MdItInlineComments).use(MdItImSize).use(MdItTaskLists, {
|
|
30
36
|
enabled: true
|
|
31
|
-
}).use(MdItContainer, CONTAINER_TYPES.DETAILS, detailsOptions).use(MdItContainer, CONTAINER_TYPES.BOX, boxOptions).use(MdItContainer, CONTAINER_TYPES.BUBBLE, bubbleOptions).use(MdItContainer, CONTAINER_TYPES.BUBBLE_IMAGE, bubbleImageOptions).use(mdCustomBlocks);
|
|
37
|
+
}).use(MdItContainer, _constants.CONTAINER_TYPES.DETAILS, _mdContainer.detailsOptions).use(MdItContainer, _constants.CONTAINER_TYPES.BOX, _mdContainer.boxOptions).use(MdItContainer, _constants.CONTAINER_TYPES.BUBBLE, _mdContainer.bubbleOptions).use(MdItContainer, _constants.CONTAINER_TYPES.BUBBLE_IMAGE, _mdContainer.bubbleImageOptions).use(_mdCustomBlocks.mdCustomBlocks);
|
|
32
38
|
if (codeHighlight) {
|
|
33
|
-
md.use(mdRendererFence);
|
|
39
|
+
md.use(_mdRendererFence.mdRendererFence);
|
|
34
40
|
}
|
|
35
|
-
return sanitize(md.render(markdown));
|
|
36
|
-
};
|
|
41
|
+
return (0, _sanitizer.sanitize)(md.render(markdown));
|
|
42
|
+
};
|
|
43
|
+
exports.mdToHtml = mdToHtml;
|
package/dist/esm/sanitizer.js
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.sanitize = void 0;
|
|
7
|
+
var _sanitizeHtml = _interopRequireWildcard(require("sanitize-html"));
|
|
8
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
1
9
|
// sanitizer.ts
|
|
2
|
-
|
|
10
|
+
|
|
3
11
|
const extendedTags = ['iframe', 'code', 'details', 'summary', 'circle', 'img', 'input', 'pre', 'span', 'picture', 'source'];
|
|
4
12
|
const extendedAttributes = {
|
|
5
|
-
a: [...(defaults.allowedAttributes.a || []), 'id', 'class', 'data-line'],
|
|
13
|
+
a: [...(_sanitizeHtml.defaults.allowedAttributes.a || []), 'id', 'class', 'data-line'],
|
|
6
14
|
iframe: ['src', 'width', 'height', 'allow', 'sandbox', 'frameborder'],
|
|
7
15
|
input: ['type', 'checked', 'disabled', 'readonly', 'value', 'class'],
|
|
8
16
|
source: ['srcset', 'type'],
|
|
@@ -12,13 +20,13 @@ const extendedAttributes = {
|
|
|
12
20
|
li: ['class'],
|
|
13
21
|
div: ['class'],
|
|
14
22
|
pre: ['class'],
|
|
15
|
-
code: [...(defaults.allowedAttributes.code || []), 'class'],
|
|
23
|
+
code: [...(_sanitizeHtml.defaults.allowedAttributes.code || []), 'class'],
|
|
16
24
|
span: ['class']
|
|
17
25
|
};
|
|
18
|
-
|
|
19
|
-
allowedTags: [...defaults.allowedTags, ...extendedTags],
|
|
26
|
+
const sanitize = html => (0, _sanitizeHtml.default)(html, {
|
|
27
|
+
allowedTags: [..._sanitizeHtml.defaults.allowedTags, ...extendedTags],
|
|
20
28
|
allowedAttributes: {
|
|
21
|
-
...defaults.allowedAttributes,
|
|
29
|
+
..._sanitizeHtml.defaults.allowedAttributes,
|
|
22
30
|
...extendedAttributes
|
|
23
31
|
},
|
|
24
32
|
allowedSchemes: ['http', 'https', 'mailto', 'tel'],
|
|
@@ -34,4 +42,5 @@ export const sanitize = html => sanitizeHtml(html, {
|
|
|
34
42
|
}
|
|
35
43
|
},
|
|
36
44
|
disallowedTagsMode: 'discard'
|
|
37
|
-
});
|
|
45
|
+
});
|
|
46
|
+
exports.sanitize = sanitize;
|
package/dist/esm/types.js
CHANGED
|
@@ -1,304 +1,311 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.highlightCode = highlightCode;
|
|
7
|
+
var _prismCore = _interopRequireDefault(require("prismjs/components/prism-core"));
|
|
8
|
+
require("prismjs/components/prism-markup");
|
|
9
|
+
require("prismjs/components/prism-css");
|
|
10
|
+
require("prismjs/components/prism-clike");
|
|
11
|
+
require("prismjs/components/prism-regex");
|
|
12
|
+
require("prismjs/components/prism-javascript");
|
|
13
|
+
require("prismjs/components/prism-abap");
|
|
14
|
+
require("prismjs/components/prism-abnf");
|
|
15
|
+
require("prismjs/components/prism-actionscript");
|
|
16
|
+
require("prismjs/components/prism-ada");
|
|
17
|
+
require("prismjs/components/prism-agda");
|
|
18
|
+
require("prismjs/components/prism-al");
|
|
19
|
+
require("prismjs/components/prism-antlr4");
|
|
20
|
+
require("prismjs/components/prism-apacheconf");
|
|
21
|
+
require("prismjs/components/prism-sql");
|
|
22
|
+
require("prismjs/components/prism-apex");
|
|
23
|
+
require("prismjs/components/prism-apl");
|
|
24
|
+
require("prismjs/components/prism-applescript");
|
|
25
|
+
require("prismjs/components/prism-aql");
|
|
26
|
+
require("prismjs/components/prism-c");
|
|
27
|
+
require("prismjs/components/prism-cpp");
|
|
28
|
+
require("prismjs/components/prism-arduino");
|
|
29
|
+
require("prismjs/components/prism-arff");
|
|
30
|
+
require("prismjs/components/prism-armasm");
|
|
31
|
+
require("prismjs/components/prism-bash");
|
|
32
|
+
require("prismjs/components/prism-yaml");
|
|
33
|
+
require("prismjs/components/prism-markdown");
|
|
34
|
+
require("prismjs/components/prism-arturo");
|
|
35
|
+
require("prismjs/components/prism-asciidoc");
|
|
36
|
+
require("prismjs/components/prism-csharp");
|
|
37
|
+
require("prismjs/components/prism-aspnet");
|
|
38
|
+
require("prismjs/components/prism-asm6502");
|
|
39
|
+
require("prismjs/components/prism-asmatmel");
|
|
40
|
+
require("prismjs/components/prism-autohotkey");
|
|
41
|
+
require("prismjs/components/prism-autoit");
|
|
42
|
+
require("prismjs/components/prism-avisynth");
|
|
43
|
+
require("prismjs/components/prism-avro-idl");
|
|
44
|
+
require("prismjs/components/prism-awk");
|
|
45
|
+
require("prismjs/components/prism-basic");
|
|
46
|
+
require("prismjs/components/prism-batch");
|
|
47
|
+
require("prismjs/components/prism-bbcode");
|
|
48
|
+
require("prismjs/components/prism-bbj");
|
|
49
|
+
require("prismjs/components/prism-bicep");
|
|
50
|
+
require("prismjs/components/prism-birb");
|
|
51
|
+
require("prismjs/components/prism-bison");
|
|
52
|
+
require("prismjs/components/prism-bnf");
|
|
53
|
+
require("prismjs/components/prism-bqn");
|
|
54
|
+
require("prismjs/components/prism-brainfuck");
|
|
55
|
+
require("prismjs/components/prism-brightscript");
|
|
56
|
+
require("prismjs/components/prism-bro");
|
|
57
|
+
require("prismjs/components/prism-bsl");
|
|
58
|
+
require("prismjs/components/prism-cfscript");
|
|
59
|
+
require("prismjs/components/prism-chaiscript");
|
|
60
|
+
require("prismjs/components/prism-cil");
|
|
61
|
+
require("prismjs/components/prism-cilkc");
|
|
62
|
+
require("prismjs/components/prism-cilkcpp");
|
|
63
|
+
require("prismjs/components/prism-clojure");
|
|
64
|
+
require("prismjs/components/prism-cmake");
|
|
65
|
+
require("prismjs/components/prism-cobol");
|
|
66
|
+
require("prismjs/components/prism-coffeescript");
|
|
67
|
+
require("prismjs/components/prism-concurnas");
|
|
68
|
+
require("prismjs/components/prism-csp");
|
|
69
|
+
require("prismjs/components/prism-cooklang");
|
|
70
|
+
require("prismjs/components/prism-coq");
|
|
71
|
+
require("prismjs/components/prism-ruby");
|
|
72
|
+
require("prismjs/components/prism-crystal");
|
|
73
|
+
require("prismjs/components/prism-css-extras");
|
|
74
|
+
require("prismjs/components/prism-csv");
|
|
75
|
+
require("prismjs/components/prism-cue");
|
|
76
|
+
require("prismjs/components/prism-cypher");
|
|
77
|
+
require("prismjs/components/prism-d");
|
|
78
|
+
require("prismjs/components/prism-dart");
|
|
79
|
+
require("prismjs/components/prism-dataweave");
|
|
80
|
+
require("prismjs/components/prism-dax");
|
|
81
|
+
require("prismjs/components/prism-dhall");
|
|
82
|
+
require("prismjs/components/prism-diff");
|
|
83
|
+
require("prismjs/components/prism-markup-templating");
|
|
84
|
+
require("prismjs/components/prism-django");
|
|
85
|
+
require("prismjs/components/prism-dns-zone-file");
|
|
86
|
+
require("prismjs/components/prism-docker");
|
|
87
|
+
require("prismjs/components/prism-dot");
|
|
88
|
+
require("prismjs/components/prism-ebnf");
|
|
89
|
+
require("prismjs/components/prism-editorconfig");
|
|
90
|
+
require("prismjs/components/prism-eiffel");
|
|
91
|
+
require("prismjs/components/prism-ejs");
|
|
92
|
+
require("prismjs/components/prism-elixir");
|
|
93
|
+
require("prismjs/components/prism-elm");
|
|
94
|
+
require("prismjs/components/prism-lua");
|
|
95
|
+
require("prismjs/components/prism-etlua");
|
|
96
|
+
require("prismjs/components/prism-erb");
|
|
97
|
+
require("prismjs/components/prism-erlang");
|
|
98
|
+
require("prismjs/components/prism-excel-formula");
|
|
99
|
+
require("prismjs/components/prism-fsharp");
|
|
100
|
+
require("prismjs/components/prism-factor");
|
|
101
|
+
require("prismjs/components/prism-false");
|
|
102
|
+
require("prismjs/components/prism-firestore-security-rules");
|
|
103
|
+
require("prismjs/components/prism-flow");
|
|
104
|
+
require("prismjs/components/prism-fortran");
|
|
105
|
+
require("prismjs/components/prism-ftl");
|
|
106
|
+
require("prismjs/components/prism-gml");
|
|
107
|
+
require("prismjs/components/prism-gap");
|
|
108
|
+
require("prismjs/components/prism-gcode");
|
|
109
|
+
require("prismjs/components/prism-gdscript");
|
|
110
|
+
require("prismjs/components/prism-gedcom");
|
|
111
|
+
require("prismjs/components/prism-gettext");
|
|
112
|
+
require("prismjs/components/prism-gherkin");
|
|
113
|
+
require("prismjs/components/prism-git");
|
|
114
|
+
require("prismjs/components/prism-glsl");
|
|
115
|
+
require("prismjs/components/prism-gn");
|
|
116
|
+
require("prismjs/components/prism-linker-script");
|
|
117
|
+
require("prismjs/components/prism-go");
|
|
118
|
+
require("prismjs/components/prism-go-module");
|
|
119
|
+
require("prismjs/components/prism-gradle");
|
|
120
|
+
require("prismjs/components/prism-graphql");
|
|
121
|
+
require("prismjs/components/prism-groovy");
|
|
122
|
+
require("prismjs/components/prism-less");
|
|
123
|
+
require("prismjs/components/prism-scss");
|
|
124
|
+
require("prismjs/components/prism-textile");
|
|
125
|
+
require("prismjs/components/prism-haml");
|
|
126
|
+
require("prismjs/components/prism-handlebars");
|
|
127
|
+
require("prismjs/components/prism-haskell");
|
|
128
|
+
require("prismjs/components/prism-haxe");
|
|
129
|
+
require("prismjs/components/prism-hcl");
|
|
130
|
+
require("prismjs/components/prism-hlsl");
|
|
131
|
+
require("prismjs/components/prism-hoon");
|
|
132
|
+
require("prismjs/components/prism-hpkp");
|
|
133
|
+
require("prismjs/components/prism-hsts");
|
|
134
|
+
require("prismjs/components/prism-json");
|
|
135
|
+
require("prismjs/components/prism-uri");
|
|
136
|
+
require("prismjs/components/prism-http");
|
|
137
|
+
require("prismjs/components/prism-ichigojam");
|
|
138
|
+
require("prismjs/components/prism-icon");
|
|
139
|
+
require("prismjs/components/prism-icu-message-format");
|
|
140
|
+
require("prismjs/components/prism-idris");
|
|
141
|
+
require("prismjs/components/prism-ignore");
|
|
142
|
+
require("prismjs/components/prism-inform7");
|
|
143
|
+
require("prismjs/components/prism-ini");
|
|
144
|
+
require("prismjs/components/prism-io");
|
|
145
|
+
require("prismjs/components/prism-j");
|
|
146
|
+
require("prismjs/components/prism-java");
|
|
147
|
+
require("prismjs/components/prism-php");
|
|
148
|
+
require("prismjs/components/prism-javadoclike");
|
|
149
|
+
require("prismjs/components/prism-scala");
|
|
150
|
+
require("prismjs/components/prism-javadoc");
|
|
151
|
+
require("prismjs/components/prism-javastacktrace");
|
|
152
|
+
require("prismjs/components/prism-jexl");
|
|
153
|
+
require("prismjs/components/prism-jolie");
|
|
154
|
+
require("prismjs/components/prism-jq");
|
|
155
|
+
require("prismjs/components/prism-js-templates");
|
|
156
|
+
require("prismjs/components/prism-typescript");
|
|
157
|
+
require("prismjs/components/prism-jsdoc");
|
|
158
|
+
require("prismjs/components/prism-n4js");
|
|
159
|
+
require("prismjs/components/prism-js-extras");
|
|
160
|
+
require("prismjs/components/prism-json5");
|
|
161
|
+
require("prismjs/components/prism-jsonp");
|
|
162
|
+
require("prismjs/components/prism-jsstacktrace");
|
|
163
|
+
require("prismjs/components/prism-julia");
|
|
164
|
+
require("prismjs/components/prism-keepalived");
|
|
165
|
+
require("prismjs/components/prism-keyman");
|
|
166
|
+
require("prismjs/components/prism-kotlin");
|
|
167
|
+
require("prismjs/components/prism-kumir");
|
|
168
|
+
require("prismjs/components/prism-kusto");
|
|
169
|
+
require("prismjs/components/prism-latex");
|
|
170
|
+
require("prismjs/components/prism-latte");
|
|
171
|
+
require("prismjs/components/prism-scheme");
|
|
172
|
+
require("prismjs/components/prism-lilypond");
|
|
173
|
+
require("prismjs/components/prism-liquid");
|
|
174
|
+
require("prismjs/components/prism-lisp");
|
|
175
|
+
require("prismjs/components/prism-livescript");
|
|
176
|
+
require("prismjs/components/prism-llvm");
|
|
177
|
+
require("prismjs/components/prism-log");
|
|
178
|
+
require("prismjs/components/prism-lolcode");
|
|
179
|
+
require("prismjs/components/prism-magma");
|
|
180
|
+
require("prismjs/components/prism-makefile");
|
|
181
|
+
require("prismjs/components/prism-mata");
|
|
182
|
+
require("prismjs/components/prism-matlab");
|
|
183
|
+
require("prismjs/components/prism-maxscript");
|
|
184
|
+
require("prismjs/components/prism-mel");
|
|
185
|
+
require("prismjs/components/prism-mermaid");
|
|
186
|
+
require("prismjs/components/prism-metafont");
|
|
187
|
+
require("prismjs/components/prism-mizar");
|
|
188
|
+
require("prismjs/components/prism-mongodb");
|
|
189
|
+
require("prismjs/components/prism-monkey");
|
|
190
|
+
require("prismjs/components/prism-moonscript");
|
|
191
|
+
require("prismjs/components/prism-n1ql");
|
|
192
|
+
require("prismjs/components/prism-nand2tetris-hdl");
|
|
193
|
+
require("prismjs/components/prism-naniscript");
|
|
194
|
+
require("prismjs/components/prism-nasm");
|
|
195
|
+
require("prismjs/components/prism-neon");
|
|
196
|
+
require("prismjs/components/prism-nevod");
|
|
197
|
+
require("prismjs/components/prism-nginx");
|
|
198
|
+
require("prismjs/components/prism-nim");
|
|
199
|
+
require("prismjs/components/prism-nix");
|
|
200
|
+
require("prismjs/components/prism-nsis");
|
|
201
|
+
require("prismjs/components/prism-objectivec");
|
|
202
|
+
require("prismjs/components/prism-ocaml");
|
|
203
|
+
require("prismjs/components/prism-odin");
|
|
204
|
+
require("prismjs/components/prism-opencl");
|
|
205
|
+
require("prismjs/components/prism-openqasm");
|
|
206
|
+
require("prismjs/components/prism-oz");
|
|
207
|
+
require("prismjs/components/prism-parigp");
|
|
208
|
+
require("prismjs/components/prism-parser");
|
|
209
|
+
require("prismjs/components/prism-pascal");
|
|
210
|
+
require("prismjs/components/prism-pascaligo");
|
|
211
|
+
require("prismjs/components/prism-psl");
|
|
212
|
+
require("prismjs/components/prism-pcaxis");
|
|
213
|
+
require("prismjs/components/prism-peoplecode");
|
|
214
|
+
require("prismjs/components/prism-perl");
|
|
215
|
+
require("prismjs/components/prism-phpdoc");
|
|
216
|
+
require("prismjs/components/prism-php-extras");
|
|
217
|
+
require("prismjs/components/prism-plant-uml");
|
|
218
|
+
require("prismjs/components/prism-plsql");
|
|
219
|
+
require("prismjs/components/prism-powerquery");
|
|
220
|
+
require("prismjs/components/prism-powershell");
|
|
221
|
+
require("prismjs/components/prism-processing");
|
|
222
|
+
require("prismjs/components/prism-prolog");
|
|
223
|
+
require("prismjs/components/prism-promql");
|
|
224
|
+
require("prismjs/components/prism-properties");
|
|
225
|
+
require("prismjs/components/prism-protobuf");
|
|
226
|
+
require("prismjs/components/prism-stylus");
|
|
227
|
+
require("prismjs/components/prism-twig");
|
|
228
|
+
require("prismjs/components/prism-pug");
|
|
229
|
+
require("prismjs/components/prism-puppet");
|
|
230
|
+
require("prismjs/components/prism-pure");
|
|
231
|
+
require("prismjs/components/prism-purebasic");
|
|
232
|
+
require("prismjs/components/prism-purescript");
|
|
233
|
+
require("prismjs/components/prism-python");
|
|
234
|
+
require("prismjs/components/prism-qsharp");
|
|
235
|
+
require("prismjs/components/prism-q");
|
|
236
|
+
require("prismjs/components/prism-qml");
|
|
237
|
+
require("prismjs/components/prism-qore");
|
|
238
|
+
require("prismjs/components/prism-r");
|
|
239
|
+
require("prismjs/components/prism-racket");
|
|
240
|
+
require("prismjs/components/prism-cshtml");
|
|
241
|
+
require("prismjs/components/prism-jsx");
|
|
242
|
+
require("prismjs/components/prism-tsx");
|
|
243
|
+
require("prismjs/components/prism-reason");
|
|
244
|
+
require("prismjs/components/prism-rego");
|
|
245
|
+
require("prismjs/components/prism-renpy");
|
|
246
|
+
require("prismjs/components/prism-rescript");
|
|
247
|
+
require("prismjs/components/prism-rest");
|
|
248
|
+
require("prismjs/components/prism-rip");
|
|
249
|
+
require("prismjs/components/prism-roboconf");
|
|
250
|
+
require("prismjs/components/prism-robotframework");
|
|
251
|
+
require("prismjs/components/prism-rust");
|
|
252
|
+
require("prismjs/components/prism-sas");
|
|
253
|
+
require("prismjs/components/prism-sass");
|
|
254
|
+
require("prismjs/components/prism-shell-session");
|
|
255
|
+
require("prismjs/components/prism-smali");
|
|
256
|
+
require("prismjs/components/prism-smalltalk");
|
|
257
|
+
require("prismjs/components/prism-smarty");
|
|
258
|
+
require("prismjs/components/prism-sml");
|
|
259
|
+
require("prismjs/components/prism-solidity");
|
|
260
|
+
require("prismjs/components/prism-solution-file");
|
|
261
|
+
require("prismjs/components/prism-soy");
|
|
262
|
+
require("prismjs/components/prism-turtle");
|
|
263
|
+
require("prismjs/components/prism-sparql");
|
|
264
|
+
require("prismjs/components/prism-splunk-spl");
|
|
265
|
+
require("prismjs/components/prism-sqf");
|
|
266
|
+
require("prismjs/components/prism-squirrel");
|
|
267
|
+
require("prismjs/components/prism-stan");
|
|
268
|
+
require("prismjs/components/prism-stata");
|
|
269
|
+
require("prismjs/components/prism-iecst");
|
|
270
|
+
require("prismjs/components/prism-supercollider");
|
|
271
|
+
require("prismjs/components/prism-swift");
|
|
272
|
+
require("prismjs/components/prism-systemd");
|
|
273
|
+
require("prismjs/components/prism-t4-templating");
|
|
274
|
+
require("prismjs/components/prism-t4-cs");
|
|
275
|
+
require("prismjs/components/prism-vbnet");
|
|
276
|
+
require("prismjs/components/prism-t4-vb");
|
|
277
|
+
require("prismjs/components/prism-tap");
|
|
278
|
+
require("prismjs/components/prism-tcl");
|
|
279
|
+
require("prismjs/components/prism-tt2");
|
|
280
|
+
require("prismjs/components/prism-toml");
|
|
281
|
+
require("prismjs/components/prism-tremor");
|
|
282
|
+
require("prismjs/components/prism-typoscript");
|
|
283
|
+
require("prismjs/components/prism-unrealscript");
|
|
284
|
+
require("prismjs/components/prism-uorazor");
|
|
285
|
+
require("prismjs/components/prism-v");
|
|
286
|
+
require("prismjs/components/prism-vala");
|
|
287
|
+
require("prismjs/components/prism-velocity");
|
|
288
|
+
require("prismjs/components/prism-verilog");
|
|
289
|
+
require("prismjs/components/prism-vhdl");
|
|
290
|
+
require("prismjs/components/prism-vim");
|
|
291
|
+
require("prismjs/components/prism-visual-basic");
|
|
292
|
+
require("prismjs/components/prism-warpscript");
|
|
293
|
+
require("prismjs/components/prism-wasm");
|
|
294
|
+
require("prismjs/components/prism-web-idl");
|
|
295
|
+
require("prismjs/components/prism-wgsl");
|
|
296
|
+
require("prismjs/components/prism-wiki");
|
|
297
|
+
require("prismjs/components/prism-wolfram");
|
|
298
|
+
require("prismjs/components/prism-wren");
|
|
299
|
+
require("prismjs/components/prism-xeora");
|
|
300
|
+
require("prismjs/components/prism-xml-doc");
|
|
301
|
+
require("prismjs/components/prism-xojo");
|
|
302
|
+
require("prismjs/components/prism-xquery");
|
|
303
|
+
require("prismjs/components/prism-yang");
|
|
304
|
+
require("prismjs/components/prism-zig");
|
|
305
|
+
var _utils = require("markdown-it/lib/common/utils");
|
|
306
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
307
|
+
function highlightCode(text, lang) {
|
|
308
|
+
const grammar = _prismCore.default.languages[lang];
|
|
309
|
+
if (!grammar) return (0, _utils.escapeHtml)(text);
|
|
310
|
+
return _prismCore.default.highlight(text, grammar, lang);
|
|
304
311
|
}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.detailsOptions = exports.bubbleOptions = exports.bubbleImageOptions = exports.boxOptions = void 0;
|
|
7
|
+
var _utils = require("markdown-it/lib/common/utils");
|
|
2
8
|
// ::: details Detail
|
|
3
9
|
// summary here
|
|
4
10
|
// :::
|
|
5
|
-
|
|
11
|
+
const detailsOptions = exports.detailsOptions = {
|
|
6
12
|
validate: function (params) {
|
|
7
13
|
return /^details\s+(.*)$/.test(params.trim());
|
|
8
14
|
},
|
|
@@ -11,7 +17,7 @@ export const detailsOptions = {
|
|
|
11
17
|
const m = tokens[idx].info.trim().match(/^details\s+(.*)$/);
|
|
12
18
|
const summary = (m === null || m === void 0 ? void 0 : m[1]) || '';
|
|
13
19
|
if (isOpeningTag) {
|
|
14
|
-
return '<details><summary>' + escapeHtml(summary) + '</summary><div class="details-content">';
|
|
20
|
+
return '<details><summary>' + (0, _utils.escapeHtml)(summary) + '</summary><div class="details-content">';
|
|
15
21
|
} else {
|
|
16
22
|
return '</div></details>\n';
|
|
17
23
|
}
|
|
@@ -22,7 +28,7 @@ export const detailsOptions = {
|
|
|
22
28
|
// ::: bubble alt="alt" src="src" webp="src.webp" width="100" height="100" pos="left"
|
|
23
29
|
// markdown
|
|
24
30
|
// :::
|
|
25
|
-
|
|
31
|
+
const bubbleOptions = exports.bubbleOptions = {
|
|
26
32
|
validate: function (params) {
|
|
27
33
|
return /^bubble(?:\s+\w+="[^"]*")*\s*$/.test(params.trim());
|
|
28
34
|
},
|
|
@@ -44,10 +50,10 @@ export const bubbleOptions = {
|
|
|
44
50
|
pos = 'left',
|
|
45
51
|
webp = ''
|
|
46
52
|
} = attrs;
|
|
47
|
-
const imgHtml = `<img src="${escapeHtml(src)}" alt="${escapeHtml(alt)}" ` + `width="${escapeHtml(width)}" height="${escapeHtml(height)}">`;
|
|
53
|
+
const imgHtml = `<img src="${(0, _utils.escapeHtml)(src)}" alt="${(0, _utils.escapeHtml)(alt)}" ` + `width="${(0, _utils.escapeHtml)(width)}" height="${(0, _utils.escapeHtml)(height)}">`;
|
|
48
54
|
let imageElement;
|
|
49
55
|
if (webp) {
|
|
50
|
-
imageElement = '<picture>' + `<source srcset="${escapeHtml(webp)}" type="image/webp">` + imgHtml + '</picture>';
|
|
56
|
+
imageElement = '<picture>' + `<source srcset="${(0, _utils.escapeHtml)(webp)}" type="image/webp">` + imgHtml + '</picture>';
|
|
51
57
|
} else {
|
|
52
58
|
imageElement = imgHtml;
|
|
53
59
|
}
|
|
@@ -62,7 +68,7 @@ export const bubbleOptions = {
|
|
|
62
68
|
// ::: bubble-image alt="alt" src="src" webp="src.webp" width="640" height="360"
|
|
63
69
|
// markdown
|
|
64
70
|
// :::
|
|
65
|
-
|
|
71
|
+
const bubbleImageOptions = exports.bubbleImageOptions = {
|
|
66
72
|
validate: function (params) {
|
|
67
73
|
return /^bubble-image(?:\s+\w+="[^"]*")*\s*$/.test(params.trim());
|
|
68
74
|
},
|
|
@@ -83,10 +89,10 @@ export const bubbleImageOptions = {
|
|
|
83
89
|
height = '360',
|
|
84
90
|
webp = ''
|
|
85
91
|
} = attrs;
|
|
86
|
-
const imgHtml = `<img src="${escapeHtml(src)}" alt="${escapeHtml(alt)}" ` + `width="${escapeHtml(width)}" height="${escapeHtml(height)}">`;
|
|
92
|
+
const imgHtml = `<img src="${(0, _utils.escapeHtml)(src)}" alt="${(0, _utils.escapeHtml)(alt)}" ` + `width="${(0, _utils.escapeHtml)(width)}" height="${(0, _utils.escapeHtml)(height)}">`;
|
|
87
93
|
let imageElement;
|
|
88
94
|
if (webp) {
|
|
89
|
-
imageElement = '<picture>' + `<source srcset="${escapeHtml(webp)}" type="image/webp">` + imgHtml + '</picture>';
|
|
95
|
+
imageElement = '<picture>' + `<source srcset="${(0, _utils.escapeHtml)(webp)}" type="image/webp">` + imgHtml + '</picture>';
|
|
90
96
|
} else {
|
|
91
97
|
imageElement = imgHtml;
|
|
92
98
|
}
|
|
@@ -102,7 +108,7 @@ export const bubbleImageOptions = {
|
|
|
102
108
|
// markdown
|
|
103
109
|
// :::
|
|
104
110
|
//
|
|
105
|
-
|
|
111
|
+
const boxOptions = exports.boxOptions = {
|
|
106
112
|
validate: function (params) {
|
|
107
113
|
return /^(box[1-6])(?:\s+(.*))?$/.test(params.trim());
|
|
108
114
|
},
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.mdCustomBlocks = mdCustomBlocks;
|
|
7
|
+
var _utils = require("markdown-it/lib/common/utils");
|
|
2
8
|
function escapeRegExp(string) {
|
|
3
9
|
return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
4
10
|
}
|
|
@@ -30,7 +36,7 @@ function registerKVBlock(md, block) {
|
|
|
30
36
|
return block.renderer(tokens[idx].meta);
|
|
31
37
|
};
|
|
32
38
|
}
|
|
33
|
-
|
|
39
|
+
function mdCustomBlocks(md) {
|
|
34
40
|
// @[img](src="", alt="", webp="", width="", height="")
|
|
35
41
|
registerKVBlock(md, {
|
|
36
42
|
name: 'image_with_webp',
|
|
@@ -44,14 +50,14 @@ export function mdCustomBlocks(md) {
|
|
|
44
50
|
height,
|
|
45
51
|
caption
|
|
46
52
|
}) => {
|
|
47
|
-
const webpSource = webp ? `<source srcset="${escapeHtml(webp)}" type="image/webp">` : '';
|
|
48
|
-
const altText = alt ? `alt="${escapeHtml(alt)}"` : '';
|
|
49
|
-
const widthAttr = width ? ` width="${escapeHtml(width)}"` : '';
|
|
50
|
-
const heightAttr = height ? ` height="${escapeHtml(height)}"` : '';
|
|
51
|
-
const captionText = caption ? `<em>${escapeHtml(caption)}</em>` : '';
|
|
53
|
+
const webpSource = webp ? `<source srcset="${(0, _utils.escapeHtml)(webp)}" type="image/webp">` : '';
|
|
54
|
+
const altText = alt ? `alt="${(0, _utils.escapeHtml)(alt)}"` : '';
|
|
55
|
+
const widthAttr = width ? ` width="${(0, _utils.escapeHtml)(width)}"` : '';
|
|
56
|
+
const heightAttr = height ? ` height="${(0, _utils.escapeHtml)(height)}"` : '';
|
|
57
|
+
const captionText = caption ? `<em>${(0, _utils.escapeHtml)(caption)}</em>` : '';
|
|
52
58
|
return `<picture>
|
|
53
59
|
${webpSource}
|
|
54
|
-
<img src="${escapeHtml(src)}" ${altText}${widthAttr}${heightAttr}>
|
|
60
|
+
<img src="${(0, _utils.escapeHtml)(src)}" ${altText}${widthAttr}${heightAttr}>
|
|
55
61
|
${captionText}
|
|
56
62
|
</picture>`;
|
|
57
63
|
}
|
|
@@ -67,8 +73,8 @@ export function mdCustomBlocks(md) {
|
|
|
67
73
|
text
|
|
68
74
|
}) => {
|
|
69
75
|
const label = text || url;
|
|
70
|
-
return `<a href="${escapeHtml(url)}" target="_blank" rel="noopener noreferrer" class="external-link">
|
|
71
|
-
${escapeHtml(label)}
|
|
76
|
+
return `<a href="${(0, _utils.escapeHtml)(url)}" target="_blank" rel="noopener noreferrer" class="external-link">
|
|
77
|
+
${(0, _utils.escapeHtml)(label)}
|
|
72
78
|
</a>`;
|
|
73
79
|
}
|
|
74
80
|
});
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.mdRendererFence = mdRendererFence;
|
|
7
|
+
exports.parseInfo = parseInfo;
|
|
8
|
+
var _utils = require("markdown-it/lib/common/utils");
|
|
9
|
+
var _highlight = require("./highlight");
|
|
3
10
|
function getHtml({
|
|
4
11
|
content,
|
|
5
12
|
className,
|
|
6
13
|
fileName,
|
|
7
14
|
line
|
|
8
15
|
}) {
|
|
9
|
-
const escapedClass = escapeHtml(className);
|
|
10
|
-
return `<div class="code-container">${fileName ? `<div class="code-filename-container"><span class="code-filename">${escapeHtml(fileName)}</span></div>` : ''}<pre class="${escapedClass}"><code class="${escapedClass !== '' ? `${escapedClass} code-line` : 'code-line'}" ${line !== undefined ? `data-line="${line}"` : ''}>${content}</code></pre></div>`;
|
|
16
|
+
const escapedClass = (0, _utils.escapeHtml)(className);
|
|
17
|
+
return `<div class="code-container">${fileName ? `<div class="code-filename-container"><span class="code-filename">${(0, _utils.escapeHtml)(fileName)}</span></div>` : ''}<pre class="${escapedClass}"><code class="${escapedClass !== '' ? `${escapedClass} code-line` : 'code-line'}" ${line !== undefined ? `data-line="${line}"` : ''}>${content}</code></pre></div>`;
|
|
11
18
|
}
|
|
12
19
|
function getClassName({
|
|
13
20
|
lang = ''
|
|
@@ -29,7 +36,7 @@ function normalizeLangName(str) {
|
|
|
29
36
|
const langName = str.toLocaleLowerCase();
|
|
30
37
|
return fallbackLanguages[langName] ?? langName;
|
|
31
38
|
}
|
|
32
|
-
|
|
39
|
+
function parseInfo(str) {
|
|
33
40
|
if (str.trim() === '') {
|
|
34
41
|
return {
|
|
35
42
|
lang: '',
|
|
@@ -46,7 +53,7 @@ export function parseInfo(str) {
|
|
|
46
53
|
fileName
|
|
47
54
|
};
|
|
48
55
|
}
|
|
49
|
-
|
|
56
|
+
function mdRendererFence(md) {
|
|
50
57
|
// override fence
|
|
51
58
|
md.renderer.rules.fence = function (...args) {
|
|
52
59
|
var _tokens$idx$map;
|
|
@@ -62,7 +69,7 @@ export function mdRendererFence(md) {
|
|
|
62
69
|
const className = getClassName({
|
|
63
70
|
lang
|
|
64
71
|
});
|
|
65
|
-
const highlightedContent = highlightCode(content, lang);
|
|
72
|
+
const highlightedContent = (0, _highlight.highlightCode)(content, lang);
|
|
66
73
|
const fenceStart = (_tokens$idx$map = tokens[idx].map) === null || _tokens$idx$map === void 0 ? void 0 : _tokens$idx$map[0];
|
|
67
74
|
return getHtml({
|
|
68
75
|
content: highlightedContent,
|
package/package.json
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nakobase/nakobase-md-html",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "Convert Markdown to **sanitized HTML** and apply consistent styles – simple, secure, and styled.",
|
|
5
|
-
"type": "module",
|
|
6
5
|
"main": "dist/esm/index.js",
|
|
7
6
|
"types": "dist/esm/index.d.ts",
|
|
8
7
|
"bin": "./dist/esm/index.js",
|