@abi-software/map-side-bar 1.3.30 → 1.3.32-staging
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/img/logo-sparc-wave-primary.8ed83a51.svg +1 -0
- package/dist/map-side-bar.common.js +3533 -230
- package/dist/map-side-bar.common.js.map +1 -1
- package/dist/map-side-bar.css +1 -1
- package/dist/map-side-bar.umd.js +3533 -230
- package/dist/map-side-bar.umd.js.map +1 -1
- package/dist/map-side-bar.umd.min.js +1 -1
- package/dist/map-side-bar.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/src/algolia/algolia.js +13 -13
- package/src/components/ContextCard.vue +4 -1
- package/src/components/DatasetCard.vue +67 -7
- package/src/components/ImageGallery.vue +5 -11
- package/src/components/SideBar.vue +13 -15
- package/src/components/SidebarContent.vue +6 -3
- package/src/mixins/GalleryHelpers.js +104 -0
- package/vue.config.js +1 -1
package/dist/map-side-bar.umd.js
CHANGED
|
@@ -117,6 +117,13 @@ module.exports = require("element-ui/lib/theme-chalk/pagination.css");
|
|
|
117
117
|
|
|
118
118
|
/***/ }),
|
|
119
119
|
|
|
120
|
+
/***/ "03b4":
|
|
121
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
122
|
+
|
|
123
|
+
// extracted by mini-css-extract-plugin
|
|
124
|
+
|
|
125
|
+
/***/ }),
|
|
126
|
+
|
|
120
127
|
/***/ "0b28":
|
|
121
128
|
/***/ (function(module, exports) {
|
|
122
129
|
|
|
@@ -159,17 +166,21 @@ module.exports = require("core-js/modules/es.array.concat");
|
|
|
159
166
|
|
|
160
167
|
/***/ }),
|
|
161
168
|
|
|
162
|
-
/***/ "
|
|
163
|
-
/***/ (function(module,
|
|
169
|
+
/***/ "19ba":
|
|
170
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
164
171
|
|
|
165
|
-
|
|
172
|
+
"use strict";
|
|
173
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SidebarContent_vue_vue_type_style_index_0_id_eca1cf88_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("9530");
|
|
174
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SidebarContent_vue_vue_type_style_index_0_id_eca1cf88_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SidebarContent_vue_vue_type_style_index_0_id_eca1cf88_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
|
|
175
|
+
/* unused harmony reexport * */
|
|
176
|
+
/* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SidebarContent_vue_vue_type_style_index_0_id_eca1cf88_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
|
|
166
177
|
|
|
167
178
|
/***/ }),
|
|
168
179
|
|
|
169
|
-
/***/ "
|
|
180
|
+
/***/ "1ce0":
|
|
170
181
|
/***/ (function(module, exports) {
|
|
171
182
|
|
|
172
|
-
module.exports = require("
|
|
183
|
+
module.exports = require("core-js/modules/web.dom-collections.iterator");
|
|
173
184
|
|
|
174
185
|
/***/ }),
|
|
175
186
|
|
|
@@ -187,6 +198,13 @@ module.exports = require("element-ui/lib/theme-chalk/link.css");
|
|
|
187
198
|
|
|
188
199
|
/***/ }),
|
|
189
200
|
|
|
201
|
+
/***/ "269b":
|
|
202
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
203
|
+
|
|
204
|
+
// extracted by mini-css-extract-plugin
|
|
205
|
+
|
|
206
|
+
/***/ }),
|
|
207
|
+
|
|
190
208
|
/***/ "26bc":
|
|
191
209
|
/***/ (function(module, exports) {
|
|
192
210
|
|
|
@@ -201,6 +219,17 @@ module.exports = require("core-js/modules/web.url");
|
|
|
201
219
|
|
|
202
220
|
/***/ }),
|
|
203
221
|
|
|
222
|
+
/***/ "2c0a":
|
|
223
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
224
|
+
|
|
225
|
+
"use strict";
|
|
226
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DatasetCard_vue_vue_type_style_index_0_id_37eaa59d_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ef67");
|
|
227
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DatasetCard_vue_vue_type_style_index_0_id_37eaa59d_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DatasetCard_vue_vue_type_style_index_0_id_37eaa59d_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
|
|
228
|
+
/* unused harmony reexport * */
|
|
229
|
+
/* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DatasetCard_vue_vue_type_style_index_0_id_37eaa59d_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
|
|
230
|
+
|
|
231
|
+
/***/ }),
|
|
232
|
+
|
|
204
233
|
/***/ "2c1b":
|
|
205
234
|
/***/ (function(module, exports) {
|
|
206
235
|
|
|
@@ -208,10 +237,14 @@ module.exports = require("element-ui/lib/theme-chalk/loading.css");
|
|
|
208
237
|
|
|
209
238
|
/***/ }),
|
|
210
239
|
|
|
211
|
-
/***/ "
|
|
212
|
-
/***/ (function(module,
|
|
240
|
+
/***/ "2da3":
|
|
241
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
213
242
|
|
|
214
|
-
|
|
243
|
+
"use strict";
|
|
244
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageGallery_vue_vue_type_style_index_0_id_5d1b779c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("03b4");
|
|
245
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageGallery_vue_vue_type_style_index_0_id_5d1b779c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageGallery_vue_vue_type_style_index_0_id_5d1b779c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
|
|
246
|
+
/* unused harmony reexport * */
|
|
247
|
+
/* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageGallery_vue_vue_type_style_index_0_id_5d1b779c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
|
|
215
248
|
|
|
216
249
|
/***/ }),
|
|
217
250
|
|
|
@@ -229,13 +262,6 @@ module.exports = require("@abi-software/gallery");
|
|
|
229
262
|
|
|
230
263
|
/***/ }),
|
|
231
264
|
|
|
232
|
-
/***/ "3a70":
|
|
233
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
234
|
-
|
|
235
|
-
// extracted by mini-css-extract-plugin
|
|
236
|
-
|
|
237
|
-
/***/ }),
|
|
238
|
-
|
|
239
265
|
/***/ "3e88":
|
|
240
266
|
/***/ (function(module, exports) {
|
|
241
267
|
|
|
@@ -289,17 +315,6 @@ module.exports = require("core-js/modules/es.array.filter");
|
|
|
289
315
|
|
|
290
316
|
/***/ }),
|
|
291
317
|
|
|
292
|
-
/***/ "4b72":
|
|
293
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
294
|
-
|
|
295
|
-
"use strict";
|
|
296
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContextCard_vue_vue_type_style_index_0_id_2d699d90_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("55ba");
|
|
297
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContextCard_vue_vue_type_style_index_0_id_2d699d90_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContextCard_vue_vue_type_style_index_0_id_2d699d90_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
|
|
298
|
-
/* unused harmony reexport * */
|
|
299
|
-
/* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContextCard_vue_vue_type_style_index_0_id_2d699d90_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
|
|
300
|
-
|
|
301
|
-
/***/ }),
|
|
302
|
-
|
|
303
318
|
/***/ "4b85":
|
|
304
319
|
/***/ (function(module, exports, __webpack_require__) {
|
|
305
320
|
|
|
@@ -335,101 +350,3188 @@ module.exports = require("core-js/modules/es.regexp.exec");
|
|
|
335
350
|
|
|
336
351
|
/***/ }),
|
|
337
352
|
|
|
338
|
-
/***/ "
|
|
339
|
-
/***/ (function(module, exports
|
|
353
|
+
/***/ "5658":
|
|
354
|
+
/***/ (function(module, exports) {
|
|
355
|
+
|
|
356
|
+
module.exports = require("@abi-software/gallery/dist/gallery.css");
|
|
357
|
+
|
|
358
|
+
/***/ }),
|
|
359
|
+
|
|
360
|
+
/***/ "5d8c":
|
|
361
|
+
/***/ (function(module, exports) {
|
|
362
|
+
|
|
363
|
+
module.exports = require("element-ui/lib/button");
|
|
364
|
+
|
|
365
|
+
/***/ }),
|
|
366
|
+
|
|
367
|
+
/***/ "5fef":
|
|
368
|
+
/***/ (function(module, exports) {
|
|
369
|
+
|
|
370
|
+
module.exports = require("core-js/modules/es.regexp.to-string");
|
|
371
|
+
|
|
372
|
+
/***/ }),
|
|
373
|
+
|
|
374
|
+
/***/ "6049":
|
|
375
|
+
/***/ (function(module, exports) {
|
|
376
|
+
|
|
377
|
+
module.exports = require("core-js/modules/es.symbol");
|
|
378
|
+
|
|
379
|
+
/***/ }),
|
|
380
|
+
|
|
381
|
+
/***/ "6328":
|
|
382
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
383
|
+
|
|
384
|
+
module.exports = __webpack_require__.p + "img/logo-sparc-wave-primary.8ed83a51.svg";
|
|
385
|
+
|
|
386
|
+
/***/ }),
|
|
387
|
+
|
|
388
|
+
/***/ "6579":
|
|
389
|
+
/***/ (function(module, exports) {
|
|
390
|
+
|
|
391
|
+
module.exports = require("core-js/modules/es.array.slice");
|
|
392
|
+
|
|
393
|
+
/***/ }),
|
|
394
|
+
|
|
395
|
+
/***/ "6631":
|
|
396
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
397
|
+
|
|
398
|
+
// extracted by mini-css-extract-plugin
|
|
399
|
+
|
|
400
|
+
/***/ }),
|
|
401
|
+
|
|
402
|
+
/***/ "6b07":
|
|
403
|
+
/***/ (function(module, exports) {
|
|
404
|
+
|
|
405
|
+
module.exports = require("core-js/modules/es.object.get-own-property-descriptor");
|
|
406
|
+
|
|
407
|
+
/***/ }),
|
|
408
|
+
|
|
409
|
+
/***/ "6bd8":
|
|
410
|
+
/***/ (function(module, exports) {
|
|
411
|
+
|
|
412
|
+
module.exports = require("element-ui/lib/cascader");
|
|
413
|
+
|
|
414
|
+
/***/ }),
|
|
415
|
+
|
|
416
|
+
/***/ "6bfd":
|
|
417
|
+
/***/ (function(module, exports) {
|
|
418
|
+
|
|
419
|
+
module.exports = require("element-ui/lib/locale/lang/en");
|
|
420
|
+
|
|
421
|
+
/***/ }),
|
|
422
|
+
|
|
423
|
+
/***/ "6e25":
|
|
424
|
+
/***/ (function(module, exports) {
|
|
425
|
+
|
|
426
|
+
module.exports = require("element-ui/lib/theme-chalk/cascader.css");
|
|
427
|
+
|
|
428
|
+
/***/ }),
|
|
429
|
+
|
|
430
|
+
/***/ "6ed7":
|
|
431
|
+
/***/ (function(module, exports) {
|
|
432
|
+
|
|
433
|
+
module.exports = require("core-js/modules/es.array.sort");
|
|
434
|
+
|
|
435
|
+
/***/ }),
|
|
436
|
+
|
|
437
|
+
/***/ "6faa":
|
|
438
|
+
/***/ (function(module, exports) {
|
|
439
|
+
|
|
440
|
+
module.exports = require("core-js/modules/es.number.constructor");
|
|
441
|
+
|
|
442
|
+
/***/ }),
|
|
443
|
+
|
|
444
|
+
/***/ "79d0":
|
|
445
|
+
/***/ (function(module, exports) {
|
|
446
|
+
|
|
447
|
+
module.exports = require("regenerator-runtime/runtime");
|
|
448
|
+
|
|
449
|
+
/***/ }),
|
|
450
|
+
|
|
451
|
+
/***/ "7c5c":
|
|
452
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
453
|
+
|
|
454
|
+
/**
|
|
455
|
+
* marked - a markdown parser
|
|
456
|
+
* Copyright (c) 2011-2022, Christopher Jeffrey. (MIT Licensed)
|
|
457
|
+
* https://github.com/markedjs/marked
|
|
458
|
+
*/
|
|
459
|
+
|
|
460
|
+
/**
|
|
461
|
+
* DO NOT EDIT THIS FILE
|
|
462
|
+
* The code in this file is generated from files in ./src/
|
|
463
|
+
*/
|
|
464
|
+
|
|
465
|
+
(function (global, factory) {
|
|
466
|
+
true ? factory(exports) :
|
|
467
|
+
undefined;
|
|
468
|
+
})(this, (function (exports) { 'use strict';
|
|
469
|
+
|
|
470
|
+
function _defineProperties(target, props) {
|
|
471
|
+
for (var i = 0; i < props.length; i++) {
|
|
472
|
+
var descriptor = props[i];
|
|
473
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
474
|
+
descriptor.configurable = true;
|
|
475
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
476
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
481
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
482
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
483
|
+
Object.defineProperty(Constructor, "prototype", {
|
|
484
|
+
writable: false
|
|
485
|
+
});
|
|
486
|
+
return Constructor;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
490
|
+
if (!o) return;
|
|
491
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
492
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
493
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
494
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
495
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
function _arrayLikeToArray(arr, len) {
|
|
499
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
500
|
+
|
|
501
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
502
|
+
|
|
503
|
+
return arr2;
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
507
|
+
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
|
508
|
+
if (it) return (it = it.call(o)).next.bind(it);
|
|
509
|
+
|
|
510
|
+
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
511
|
+
if (it) o = it;
|
|
512
|
+
var i = 0;
|
|
513
|
+
return function () {
|
|
514
|
+
if (i >= o.length) return {
|
|
515
|
+
done: true
|
|
516
|
+
};
|
|
517
|
+
return {
|
|
518
|
+
done: false,
|
|
519
|
+
value: o[i++]
|
|
520
|
+
};
|
|
521
|
+
};
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
function getDefaults() {
|
|
528
|
+
return {
|
|
529
|
+
async: false,
|
|
530
|
+
baseUrl: null,
|
|
531
|
+
breaks: false,
|
|
532
|
+
extensions: null,
|
|
533
|
+
gfm: true,
|
|
534
|
+
headerIds: true,
|
|
535
|
+
headerPrefix: '',
|
|
536
|
+
highlight: null,
|
|
537
|
+
langPrefix: 'language-',
|
|
538
|
+
mangle: true,
|
|
539
|
+
pedantic: false,
|
|
540
|
+
renderer: null,
|
|
541
|
+
sanitize: false,
|
|
542
|
+
sanitizer: null,
|
|
543
|
+
silent: false,
|
|
544
|
+
smartypants: false,
|
|
545
|
+
tokenizer: null,
|
|
546
|
+
walkTokens: null,
|
|
547
|
+
xhtml: false
|
|
548
|
+
};
|
|
549
|
+
}
|
|
550
|
+
exports.defaults = getDefaults();
|
|
551
|
+
function changeDefaults(newDefaults) {
|
|
552
|
+
exports.defaults = newDefaults;
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
/**
|
|
556
|
+
* Helpers
|
|
557
|
+
*/
|
|
558
|
+
var escapeTest = /[&<>"']/;
|
|
559
|
+
var escapeReplace = /[&<>"']/g;
|
|
560
|
+
var escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/;
|
|
561
|
+
var escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g;
|
|
562
|
+
var escapeReplacements = {
|
|
563
|
+
'&': '&',
|
|
564
|
+
'<': '<',
|
|
565
|
+
'>': '>',
|
|
566
|
+
'"': '"',
|
|
567
|
+
"'": '''
|
|
568
|
+
};
|
|
569
|
+
|
|
570
|
+
var getEscapeReplacement = function getEscapeReplacement(ch) {
|
|
571
|
+
return escapeReplacements[ch];
|
|
572
|
+
};
|
|
573
|
+
|
|
574
|
+
function escape(html, encode) {
|
|
575
|
+
if (encode) {
|
|
576
|
+
if (escapeTest.test(html)) {
|
|
577
|
+
return html.replace(escapeReplace, getEscapeReplacement);
|
|
578
|
+
}
|
|
579
|
+
} else {
|
|
580
|
+
if (escapeTestNoEncode.test(html)) {
|
|
581
|
+
return html.replace(escapeReplaceNoEncode, getEscapeReplacement);
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
return html;
|
|
586
|
+
}
|
|
587
|
+
var unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;
|
|
588
|
+
/**
|
|
589
|
+
* @param {string} html
|
|
590
|
+
*/
|
|
591
|
+
|
|
592
|
+
function unescape(html) {
|
|
593
|
+
// explicitly match decimal, hex, and named HTML entities
|
|
594
|
+
return html.replace(unescapeTest, function (_, n) {
|
|
595
|
+
n = n.toLowerCase();
|
|
596
|
+
if (n === 'colon') return ':';
|
|
597
|
+
|
|
598
|
+
if (n.charAt(0) === '#') {
|
|
599
|
+
return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
return '';
|
|
603
|
+
});
|
|
604
|
+
}
|
|
605
|
+
var caret = /(^|[^\[])\^/g;
|
|
606
|
+
/**
|
|
607
|
+
* @param {string | RegExp} regex
|
|
608
|
+
* @param {string} opt
|
|
609
|
+
*/
|
|
610
|
+
|
|
611
|
+
function edit(regex, opt) {
|
|
612
|
+
regex = typeof regex === 'string' ? regex : regex.source;
|
|
613
|
+
opt = opt || '';
|
|
614
|
+
var obj = {
|
|
615
|
+
replace: function replace(name, val) {
|
|
616
|
+
val = val.source || val;
|
|
617
|
+
val = val.replace(caret, '$1');
|
|
618
|
+
regex = regex.replace(name, val);
|
|
619
|
+
return obj;
|
|
620
|
+
},
|
|
621
|
+
getRegex: function getRegex() {
|
|
622
|
+
return new RegExp(regex, opt);
|
|
623
|
+
}
|
|
624
|
+
};
|
|
625
|
+
return obj;
|
|
626
|
+
}
|
|
627
|
+
var nonWordAndColonTest = /[^\w:]/g;
|
|
628
|
+
var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;
|
|
629
|
+
/**
|
|
630
|
+
* @param {boolean} sanitize
|
|
631
|
+
* @param {string} base
|
|
632
|
+
* @param {string} href
|
|
633
|
+
*/
|
|
634
|
+
|
|
635
|
+
function cleanUrl(sanitize, base, href) {
|
|
636
|
+
if (sanitize) {
|
|
637
|
+
var prot;
|
|
638
|
+
|
|
639
|
+
try {
|
|
640
|
+
prot = decodeURIComponent(unescape(href)).replace(nonWordAndColonTest, '').toLowerCase();
|
|
641
|
+
} catch (e) {
|
|
642
|
+
return null;
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {
|
|
646
|
+
return null;
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
if (base && !originIndependentUrl.test(href)) {
|
|
651
|
+
href = resolveUrl(base, href);
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
try {
|
|
655
|
+
href = encodeURI(href).replace(/%25/g, '%');
|
|
656
|
+
} catch (e) {
|
|
657
|
+
return null;
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
return href;
|
|
661
|
+
}
|
|
662
|
+
var baseUrls = {};
|
|
663
|
+
var justDomain = /^[^:]+:\/*[^/]*$/;
|
|
664
|
+
var protocol = /^([^:]+:)[\s\S]*$/;
|
|
665
|
+
var domain = /^([^:]+:\/*[^/]*)[\s\S]*$/;
|
|
666
|
+
/**
|
|
667
|
+
* @param {string} base
|
|
668
|
+
* @param {string} href
|
|
669
|
+
*/
|
|
670
|
+
|
|
671
|
+
function resolveUrl(base, href) {
|
|
672
|
+
if (!baseUrls[' ' + base]) {
|
|
673
|
+
// we can ignore everything in base after the last slash of its path component,
|
|
674
|
+
// but we might need to add _that_
|
|
675
|
+
// https://tools.ietf.org/html/rfc3986#section-3
|
|
676
|
+
if (justDomain.test(base)) {
|
|
677
|
+
baseUrls[' ' + base] = base + '/';
|
|
678
|
+
} else {
|
|
679
|
+
baseUrls[' ' + base] = rtrim(base, '/', true);
|
|
680
|
+
}
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
base = baseUrls[' ' + base];
|
|
684
|
+
var relativeBase = base.indexOf(':') === -1;
|
|
685
|
+
|
|
686
|
+
if (href.substring(0, 2) === '//') {
|
|
687
|
+
if (relativeBase) {
|
|
688
|
+
return href;
|
|
689
|
+
}
|
|
690
|
+
|
|
691
|
+
return base.replace(protocol, '$1') + href;
|
|
692
|
+
} else if (href.charAt(0) === '/') {
|
|
693
|
+
if (relativeBase) {
|
|
694
|
+
return href;
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
return base.replace(domain, '$1') + href;
|
|
698
|
+
} else {
|
|
699
|
+
return base + href;
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
var noopTest = {
|
|
703
|
+
exec: function noopTest() {}
|
|
704
|
+
};
|
|
705
|
+
function merge(obj) {
|
|
706
|
+
var i = 1,
|
|
707
|
+
target,
|
|
708
|
+
key;
|
|
709
|
+
|
|
710
|
+
for (; i < arguments.length; i++) {
|
|
711
|
+
target = arguments[i];
|
|
712
|
+
|
|
713
|
+
for (key in target) {
|
|
714
|
+
if (Object.prototype.hasOwnProperty.call(target, key)) {
|
|
715
|
+
obj[key] = target[key];
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
return obj;
|
|
721
|
+
}
|
|
722
|
+
function splitCells(tableRow, count) {
|
|
723
|
+
// ensure that every cell-delimiting pipe has a space
|
|
724
|
+
// before it to distinguish it from an escaped pipe
|
|
725
|
+
var row = tableRow.replace(/\|/g, function (match, offset, str) {
|
|
726
|
+
var escaped = false,
|
|
727
|
+
curr = offset;
|
|
728
|
+
|
|
729
|
+
while (--curr >= 0 && str[curr] === '\\') {
|
|
730
|
+
escaped = !escaped;
|
|
731
|
+
}
|
|
732
|
+
|
|
733
|
+
if (escaped) {
|
|
734
|
+
// odd number of slashes means | is escaped
|
|
735
|
+
// so we leave it alone
|
|
736
|
+
return '|';
|
|
737
|
+
} else {
|
|
738
|
+
// add space before unescaped |
|
|
739
|
+
return ' |';
|
|
740
|
+
}
|
|
741
|
+
}),
|
|
742
|
+
cells = row.split(/ \|/);
|
|
743
|
+
var i = 0; // First/last cell in a row cannot be empty if it has no leading/trailing pipe
|
|
744
|
+
|
|
745
|
+
if (!cells[0].trim()) {
|
|
746
|
+
cells.shift();
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
if (cells.length > 0 && !cells[cells.length - 1].trim()) {
|
|
750
|
+
cells.pop();
|
|
751
|
+
}
|
|
752
|
+
|
|
753
|
+
if (cells.length > count) {
|
|
754
|
+
cells.splice(count);
|
|
755
|
+
} else {
|
|
756
|
+
while (cells.length < count) {
|
|
757
|
+
cells.push('');
|
|
758
|
+
}
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
for (; i < cells.length; i++) {
|
|
762
|
+
// leading or trailing whitespace is ignored per the gfm spec
|
|
763
|
+
cells[i] = cells[i].trim().replace(/\\\|/g, '|');
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
return cells;
|
|
767
|
+
}
|
|
768
|
+
/**
|
|
769
|
+
* Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').
|
|
770
|
+
* /c*$/ is vulnerable to REDOS.
|
|
771
|
+
*
|
|
772
|
+
* @param {string} str
|
|
773
|
+
* @param {string} c
|
|
774
|
+
* @param {boolean} invert Remove suffix of non-c chars instead. Default falsey.
|
|
775
|
+
*/
|
|
776
|
+
|
|
777
|
+
function rtrim(str, c, invert) {
|
|
778
|
+
var l = str.length;
|
|
779
|
+
|
|
780
|
+
if (l === 0) {
|
|
781
|
+
return '';
|
|
782
|
+
} // Length of suffix matching the invert condition.
|
|
783
|
+
|
|
784
|
+
|
|
785
|
+
var suffLen = 0; // Step left until we fail to match the invert condition.
|
|
786
|
+
|
|
787
|
+
while (suffLen < l) {
|
|
788
|
+
var currChar = str.charAt(l - suffLen - 1);
|
|
789
|
+
|
|
790
|
+
if (currChar === c && !invert) {
|
|
791
|
+
suffLen++;
|
|
792
|
+
} else if (currChar !== c && invert) {
|
|
793
|
+
suffLen++;
|
|
794
|
+
} else {
|
|
795
|
+
break;
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
return str.slice(0, l - suffLen);
|
|
800
|
+
}
|
|
801
|
+
function findClosingBracket(str, b) {
|
|
802
|
+
if (str.indexOf(b[1]) === -1) {
|
|
803
|
+
return -1;
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
var l = str.length;
|
|
807
|
+
var level = 0,
|
|
808
|
+
i = 0;
|
|
809
|
+
|
|
810
|
+
for (; i < l; i++) {
|
|
811
|
+
if (str[i] === '\\') {
|
|
812
|
+
i++;
|
|
813
|
+
} else if (str[i] === b[0]) {
|
|
814
|
+
level++;
|
|
815
|
+
} else if (str[i] === b[1]) {
|
|
816
|
+
level--;
|
|
817
|
+
|
|
818
|
+
if (level < 0) {
|
|
819
|
+
return i;
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
return -1;
|
|
825
|
+
}
|
|
826
|
+
function checkSanitizeDeprecation(opt) {
|
|
827
|
+
if (opt && opt.sanitize && !opt.silent) {
|
|
828
|
+
console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');
|
|
829
|
+
}
|
|
830
|
+
} // copied from https://stackoverflow.com/a/5450113/806777
|
|
831
|
+
|
|
832
|
+
/**
|
|
833
|
+
* @param {string} pattern
|
|
834
|
+
* @param {number} count
|
|
835
|
+
*/
|
|
836
|
+
|
|
837
|
+
function repeatString(pattern, count) {
|
|
838
|
+
if (count < 1) {
|
|
839
|
+
return '';
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
var result = '';
|
|
843
|
+
|
|
844
|
+
while (count > 1) {
|
|
845
|
+
if (count & 1) {
|
|
846
|
+
result += pattern;
|
|
847
|
+
}
|
|
848
|
+
|
|
849
|
+
count >>= 1;
|
|
850
|
+
pattern += pattern;
|
|
851
|
+
}
|
|
852
|
+
|
|
853
|
+
return result + pattern;
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
function outputLink(cap, link, raw, lexer) {
|
|
857
|
+
var href = link.href;
|
|
858
|
+
var title = link.title ? escape(link.title) : null;
|
|
859
|
+
var text = cap[1].replace(/\\([\[\]])/g, '$1');
|
|
860
|
+
|
|
861
|
+
if (cap[0].charAt(0) !== '!') {
|
|
862
|
+
lexer.state.inLink = true;
|
|
863
|
+
var token = {
|
|
864
|
+
type: 'link',
|
|
865
|
+
raw: raw,
|
|
866
|
+
href: href,
|
|
867
|
+
title: title,
|
|
868
|
+
text: text,
|
|
869
|
+
tokens: lexer.inlineTokens(text)
|
|
870
|
+
};
|
|
871
|
+
lexer.state.inLink = false;
|
|
872
|
+
return token;
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
return {
|
|
876
|
+
type: 'image',
|
|
877
|
+
raw: raw,
|
|
878
|
+
href: href,
|
|
879
|
+
title: title,
|
|
880
|
+
text: escape(text)
|
|
881
|
+
};
|
|
882
|
+
}
|
|
883
|
+
|
|
884
|
+
function indentCodeCompensation(raw, text) {
|
|
885
|
+
var matchIndentToCode = raw.match(/^(\s+)(?:```)/);
|
|
886
|
+
|
|
887
|
+
if (matchIndentToCode === null) {
|
|
888
|
+
return text;
|
|
889
|
+
}
|
|
890
|
+
|
|
891
|
+
var indentToCode = matchIndentToCode[1];
|
|
892
|
+
return text.split('\n').map(function (node) {
|
|
893
|
+
var matchIndentInNode = node.match(/^\s+/);
|
|
894
|
+
|
|
895
|
+
if (matchIndentInNode === null) {
|
|
896
|
+
return node;
|
|
897
|
+
}
|
|
898
|
+
|
|
899
|
+
var indentInNode = matchIndentInNode[0];
|
|
900
|
+
|
|
901
|
+
if (indentInNode.length >= indentToCode.length) {
|
|
902
|
+
return node.slice(indentToCode.length);
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
return node;
|
|
906
|
+
}).join('\n');
|
|
907
|
+
}
|
|
908
|
+
/**
|
|
909
|
+
* Tokenizer
|
|
910
|
+
*/
|
|
911
|
+
|
|
912
|
+
|
|
913
|
+
var Tokenizer = /*#__PURE__*/function () {
|
|
914
|
+
function Tokenizer(options) {
|
|
915
|
+
this.options = options || exports.defaults;
|
|
916
|
+
}
|
|
917
|
+
|
|
918
|
+
var _proto = Tokenizer.prototype;
|
|
919
|
+
|
|
920
|
+
_proto.space = function space(src) {
|
|
921
|
+
var cap = this.rules.block.newline.exec(src);
|
|
922
|
+
|
|
923
|
+
if (cap && cap[0].length > 0) {
|
|
924
|
+
return {
|
|
925
|
+
type: 'space',
|
|
926
|
+
raw: cap[0]
|
|
927
|
+
};
|
|
928
|
+
}
|
|
929
|
+
};
|
|
930
|
+
|
|
931
|
+
_proto.code = function code(src) {
|
|
932
|
+
var cap = this.rules.block.code.exec(src);
|
|
933
|
+
|
|
934
|
+
if (cap) {
|
|
935
|
+
var text = cap[0].replace(/^ {1,4}/gm, '');
|
|
936
|
+
return {
|
|
937
|
+
type: 'code',
|
|
938
|
+
raw: cap[0],
|
|
939
|
+
codeBlockStyle: 'indented',
|
|
940
|
+
text: !this.options.pedantic ? rtrim(text, '\n') : text
|
|
941
|
+
};
|
|
942
|
+
}
|
|
943
|
+
};
|
|
944
|
+
|
|
945
|
+
_proto.fences = function fences(src) {
|
|
946
|
+
var cap = this.rules.block.fences.exec(src);
|
|
947
|
+
|
|
948
|
+
if (cap) {
|
|
949
|
+
var raw = cap[0];
|
|
950
|
+
var text = indentCodeCompensation(raw, cap[3] || '');
|
|
951
|
+
return {
|
|
952
|
+
type: 'code',
|
|
953
|
+
raw: raw,
|
|
954
|
+
lang: cap[2] ? cap[2].trim() : cap[2],
|
|
955
|
+
text: text
|
|
956
|
+
};
|
|
957
|
+
}
|
|
958
|
+
};
|
|
959
|
+
|
|
960
|
+
_proto.heading = function heading(src) {
|
|
961
|
+
var cap = this.rules.block.heading.exec(src);
|
|
962
|
+
|
|
963
|
+
if (cap) {
|
|
964
|
+
var text = cap[2].trim(); // remove trailing #s
|
|
965
|
+
|
|
966
|
+
if (/#$/.test(text)) {
|
|
967
|
+
var trimmed = rtrim(text, '#');
|
|
968
|
+
|
|
969
|
+
if (this.options.pedantic) {
|
|
970
|
+
text = trimmed.trim();
|
|
971
|
+
} else if (!trimmed || / $/.test(trimmed)) {
|
|
972
|
+
// CommonMark requires space before trailing #s
|
|
973
|
+
text = trimmed.trim();
|
|
974
|
+
}
|
|
975
|
+
}
|
|
976
|
+
|
|
977
|
+
return {
|
|
978
|
+
type: 'heading',
|
|
979
|
+
raw: cap[0],
|
|
980
|
+
depth: cap[1].length,
|
|
981
|
+
text: text,
|
|
982
|
+
tokens: this.lexer.inline(text)
|
|
983
|
+
};
|
|
984
|
+
}
|
|
985
|
+
};
|
|
986
|
+
|
|
987
|
+
_proto.hr = function hr(src) {
|
|
988
|
+
var cap = this.rules.block.hr.exec(src);
|
|
989
|
+
|
|
990
|
+
if (cap) {
|
|
991
|
+
return {
|
|
992
|
+
type: 'hr',
|
|
993
|
+
raw: cap[0]
|
|
994
|
+
};
|
|
995
|
+
}
|
|
996
|
+
};
|
|
997
|
+
|
|
998
|
+
_proto.blockquote = function blockquote(src) {
|
|
999
|
+
var cap = this.rules.block.blockquote.exec(src);
|
|
1000
|
+
|
|
1001
|
+
if (cap) {
|
|
1002
|
+
var text = cap[0].replace(/^ *>[ \t]?/gm, '');
|
|
1003
|
+
return {
|
|
1004
|
+
type: 'blockquote',
|
|
1005
|
+
raw: cap[0],
|
|
1006
|
+
tokens: this.lexer.blockTokens(text, []),
|
|
1007
|
+
text: text
|
|
1008
|
+
};
|
|
1009
|
+
}
|
|
1010
|
+
};
|
|
1011
|
+
|
|
1012
|
+
_proto.list = function list(src) {
|
|
1013
|
+
var cap = this.rules.block.list.exec(src);
|
|
1014
|
+
|
|
1015
|
+
if (cap) {
|
|
1016
|
+
var raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine, line, nextLine, rawLine, itemContents, endEarly;
|
|
1017
|
+
var bull = cap[1].trim();
|
|
1018
|
+
var isordered = bull.length > 1;
|
|
1019
|
+
var list = {
|
|
1020
|
+
type: 'list',
|
|
1021
|
+
raw: '',
|
|
1022
|
+
ordered: isordered,
|
|
1023
|
+
start: isordered ? +bull.slice(0, -1) : '',
|
|
1024
|
+
loose: false,
|
|
1025
|
+
items: []
|
|
1026
|
+
};
|
|
1027
|
+
bull = isordered ? "\\d{1,9}\\" + bull.slice(-1) : "\\" + bull;
|
|
1028
|
+
|
|
1029
|
+
if (this.options.pedantic) {
|
|
1030
|
+
bull = isordered ? bull : '[*+-]';
|
|
1031
|
+
} // Get next list item
|
|
1032
|
+
|
|
1033
|
+
|
|
1034
|
+
var itemRegex = new RegExp("^( {0,3}" + bull + ")((?:[\t ][^\\n]*)?(?:\\n|$))"); // Check if current bullet point can start a new List Item
|
|
1035
|
+
|
|
1036
|
+
while (src) {
|
|
1037
|
+
endEarly = false;
|
|
1038
|
+
|
|
1039
|
+
if (!(cap = itemRegex.exec(src))) {
|
|
1040
|
+
break;
|
|
1041
|
+
}
|
|
1042
|
+
|
|
1043
|
+
if (this.rules.block.hr.test(src)) {
|
|
1044
|
+
// End list if bullet was actually HR (possibly move into itemRegex?)
|
|
1045
|
+
break;
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
raw = cap[0];
|
|
1049
|
+
src = src.substring(raw.length);
|
|
1050
|
+
line = cap[2].split('\n', 1)[0];
|
|
1051
|
+
nextLine = src.split('\n', 1)[0];
|
|
1052
|
+
|
|
1053
|
+
if (this.options.pedantic) {
|
|
1054
|
+
indent = 2;
|
|
1055
|
+
itemContents = line.trimLeft();
|
|
1056
|
+
} else {
|
|
1057
|
+
indent = cap[2].search(/[^ ]/); // Find first non-space char
|
|
1058
|
+
|
|
1059
|
+
indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent
|
|
1060
|
+
|
|
1061
|
+
itemContents = line.slice(indent);
|
|
1062
|
+
indent += cap[1].length;
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1065
|
+
blankLine = false;
|
|
1066
|
+
|
|
1067
|
+
if (!line && /^ *$/.test(nextLine)) {
|
|
1068
|
+
// Items begin with at most one blank line
|
|
1069
|
+
raw += nextLine + '\n';
|
|
1070
|
+
src = src.substring(nextLine.length + 1);
|
|
1071
|
+
endEarly = true;
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
if (!endEarly) {
|
|
1075
|
+
var nextBulletRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))");
|
|
1076
|
+
var hrRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)");
|
|
1077
|
+
var fencesBeginRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}(?:```|~~~)");
|
|
1078
|
+
var headingBeginRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}#"); // Check if following lines should be included in List Item
|
|
1079
|
+
|
|
1080
|
+
while (src) {
|
|
1081
|
+
rawLine = src.split('\n', 1)[0];
|
|
1082
|
+
line = rawLine; // Re-align to follow commonmark nesting rules
|
|
1083
|
+
|
|
1084
|
+
if (this.options.pedantic) {
|
|
1085
|
+
line = line.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');
|
|
1086
|
+
} // End list item if found code fences
|
|
1087
|
+
|
|
1088
|
+
|
|
1089
|
+
if (fencesBeginRegex.test(line)) {
|
|
1090
|
+
break;
|
|
1091
|
+
} // End list item if found start of new heading
|
|
1092
|
+
|
|
1093
|
+
|
|
1094
|
+
if (headingBeginRegex.test(line)) {
|
|
1095
|
+
break;
|
|
1096
|
+
} // End list item if found start of new bullet
|
|
1097
|
+
|
|
1098
|
+
|
|
1099
|
+
if (nextBulletRegex.test(line)) {
|
|
1100
|
+
break;
|
|
1101
|
+
} // Horizontal rule found
|
|
1102
|
+
|
|
1103
|
+
|
|
1104
|
+
if (hrRegex.test(src)) {
|
|
1105
|
+
break;
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
if (line.search(/[^ ]/) >= indent || !line.trim()) {
|
|
1109
|
+
// Dedent if possible
|
|
1110
|
+
itemContents += '\n' + line.slice(indent);
|
|
1111
|
+
} else if (!blankLine) {
|
|
1112
|
+
// Until blank line, item doesn't need indentation
|
|
1113
|
+
itemContents += '\n' + line;
|
|
1114
|
+
} else {
|
|
1115
|
+
// Otherwise, improper indentation ends this item
|
|
1116
|
+
break;
|
|
1117
|
+
}
|
|
1118
|
+
|
|
1119
|
+
if (!blankLine && !line.trim()) {
|
|
1120
|
+
// Check if current line is blank
|
|
1121
|
+
blankLine = true;
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1124
|
+
raw += rawLine + '\n';
|
|
1125
|
+
src = src.substring(rawLine.length + 1);
|
|
1126
|
+
}
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1129
|
+
if (!list.loose) {
|
|
1130
|
+
// If the previous item ended with a blank line, the list is loose
|
|
1131
|
+
if (endsWithBlankLine) {
|
|
1132
|
+
list.loose = true;
|
|
1133
|
+
} else if (/\n *\n *$/.test(raw)) {
|
|
1134
|
+
endsWithBlankLine = true;
|
|
1135
|
+
}
|
|
1136
|
+
} // Check for task list items
|
|
1137
|
+
|
|
1138
|
+
|
|
1139
|
+
if (this.options.gfm) {
|
|
1140
|
+
istask = /^\[[ xX]\] /.exec(itemContents);
|
|
1141
|
+
|
|
1142
|
+
if (istask) {
|
|
1143
|
+
ischecked = istask[0] !== '[ ] ';
|
|
1144
|
+
itemContents = itemContents.replace(/^\[[ xX]\] +/, '');
|
|
1145
|
+
}
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
list.items.push({
|
|
1149
|
+
type: 'list_item',
|
|
1150
|
+
raw: raw,
|
|
1151
|
+
task: !!istask,
|
|
1152
|
+
checked: ischecked,
|
|
1153
|
+
loose: false,
|
|
1154
|
+
text: itemContents
|
|
1155
|
+
});
|
|
1156
|
+
list.raw += raw;
|
|
1157
|
+
} // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic
|
|
1158
|
+
|
|
1159
|
+
|
|
1160
|
+
list.items[list.items.length - 1].raw = raw.trimRight();
|
|
1161
|
+
list.items[list.items.length - 1].text = itemContents.trimRight();
|
|
1162
|
+
list.raw = list.raw.trimRight();
|
|
1163
|
+
var l = list.items.length; // Item child tokens handled here at end because we needed to have the final item to trim it first
|
|
1164
|
+
|
|
1165
|
+
for (i = 0; i < l; i++) {
|
|
1166
|
+
this.lexer.state.top = false;
|
|
1167
|
+
list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);
|
|
1168
|
+
var spacers = list.items[i].tokens.filter(function (t) {
|
|
1169
|
+
return t.type === 'space';
|
|
1170
|
+
});
|
|
1171
|
+
var hasMultipleLineBreaks = spacers.every(function (t) {
|
|
1172
|
+
var chars = t.raw.split('');
|
|
1173
|
+
var lineBreaks = 0;
|
|
1174
|
+
|
|
1175
|
+
for (var _iterator = _createForOfIteratorHelperLoose(chars), _step; !(_step = _iterator()).done;) {
|
|
1176
|
+
var _char = _step.value;
|
|
1177
|
+
|
|
1178
|
+
if (_char === '\n') {
|
|
1179
|
+
lineBreaks += 1;
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1182
|
+
if (lineBreaks > 1) {
|
|
1183
|
+
return true;
|
|
1184
|
+
}
|
|
1185
|
+
}
|
|
1186
|
+
|
|
1187
|
+
return false;
|
|
1188
|
+
});
|
|
1189
|
+
|
|
1190
|
+
if (!list.loose && spacers.length && hasMultipleLineBreaks) {
|
|
1191
|
+
// Having a single line break doesn't mean a list is loose. A single line break is terminating the last list item
|
|
1192
|
+
list.loose = true;
|
|
1193
|
+
list.items[i].loose = true;
|
|
1194
|
+
}
|
|
1195
|
+
}
|
|
1196
|
+
|
|
1197
|
+
return list;
|
|
1198
|
+
}
|
|
1199
|
+
};
|
|
1200
|
+
|
|
1201
|
+
_proto.html = function html(src) {
|
|
1202
|
+
var cap = this.rules.block.html.exec(src);
|
|
1203
|
+
|
|
1204
|
+
if (cap) {
|
|
1205
|
+
var token = {
|
|
1206
|
+
type: 'html',
|
|
1207
|
+
raw: cap[0],
|
|
1208
|
+
pre: !this.options.sanitizer && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),
|
|
1209
|
+
text: cap[0]
|
|
1210
|
+
};
|
|
1211
|
+
|
|
1212
|
+
if (this.options.sanitize) {
|
|
1213
|
+
var text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]);
|
|
1214
|
+
token.type = 'paragraph';
|
|
1215
|
+
token.text = text;
|
|
1216
|
+
token.tokens = this.lexer.inline(text);
|
|
1217
|
+
}
|
|
1218
|
+
|
|
1219
|
+
return token;
|
|
1220
|
+
}
|
|
1221
|
+
};
|
|
1222
|
+
|
|
1223
|
+
_proto.def = function def(src) {
|
|
1224
|
+
var cap = this.rules.block.def.exec(src);
|
|
1225
|
+
|
|
1226
|
+
if (cap) {
|
|
1227
|
+
if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);
|
|
1228
|
+
var tag = cap[1].toLowerCase().replace(/\s+/g, ' ');
|
|
1229
|
+
return {
|
|
1230
|
+
type: 'def',
|
|
1231
|
+
tag: tag,
|
|
1232
|
+
raw: cap[0],
|
|
1233
|
+
href: cap[2],
|
|
1234
|
+
title: cap[3]
|
|
1235
|
+
};
|
|
1236
|
+
}
|
|
1237
|
+
};
|
|
1238
|
+
|
|
1239
|
+
_proto.table = function table(src) {
|
|
1240
|
+
var cap = this.rules.block.table.exec(src);
|
|
1241
|
+
|
|
1242
|
+
if (cap) {
|
|
1243
|
+
var item = {
|
|
1244
|
+
type: 'table',
|
|
1245
|
+
header: splitCells(cap[1]).map(function (c) {
|
|
1246
|
+
return {
|
|
1247
|
+
text: c
|
|
1248
|
+
};
|
|
1249
|
+
}),
|
|
1250
|
+
align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
|
|
1251
|
+
rows: cap[3] && cap[3].trim() ? cap[3].replace(/\n[ \t]*$/, '').split('\n') : []
|
|
1252
|
+
};
|
|
1253
|
+
|
|
1254
|
+
if (item.header.length === item.align.length) {
|
|
1255
|
+
item.raw = cap[0];
|
|
1256
|
+
var l = item.align.length;
|
|
1257
|
+
var i, j, k, row;
|
|
1258
|
+
|
|
1259
|
+
for (i = 0; i < l; i++) {
|
|
1260
|
+
if (/^ *-+: *$/.test(item.align[i])) {
|
|
1261
|
+
item.align[i] = 'right';
|
|
1262
|
+
} else if (/^ *:-+: *$/.test(item.align[i])) {
|
|
1263
|
+
item.align[i] = 'center';
|
|
1264
|
+
} else if (/^ *:-+ *$/.test(item.align[i])) {
|
|
1265
|
+
item.align[i] = 'left';
|
|
1266
|
+
} else {
|
|
1267
|
+
item.align[i] = null;
|
|
1268
|
+
}
|
|
1269
|
+
}
|
|
1270
|
+
|
|
1271
|
+
l = item.rows.length;
|
|
1272
|
+
|
|
1273
|
+
for (i = 0; i < l; i++) {
|
|
1274
|
+
item.rows[i] = splitCells(item.rows[i], item.header.length).map(function (c) {
|
|
1275
|
+
return {
|
|
1276
|
+
text: c
|
|
1277
|
+
};
|
|
1278
|
+
});
|
|
1279
|
+
} // parse child tokens inside headers and cells
|
|
1280
|
+
// header child tokens
|
|
1281
|
+
|
|
1282
|
+
|
|
1283
|
+
l = item.header.length;
|
|
1284
|
+
|
|
1285
|
+
for (j = 0; j < l; j++) {
|
|
1286
|
+
item.header[j].tokens = this.lexer.inline(item.header[j].text);
|
|
1287
|
+
} // cell child tokens
|
|
1288
|
+
|
|
1289
|
+
|
|
1290
|
+
l = item.rows.length;
|
|
1291
|
+
|
|
1292
|
+
for (j = 0; j < l; j++) {
|
|
1293
|
+
row = item.rows[j];
|
|
1294
|
+
|
|
1295
|
+
for (k = 0; k < row.length; k++) {
|
|
1296
|
+
row[k].tokens = this.lexer.inline(row[k].text);
|
|
1297
|
+
}
|
|
1298
|
+
}
|
|
1299
|
+
|
|
1300
|
+
return item;
|
|
1301
|
+
}
|
|
1302
|
+
}
|
|
1303
|
+
};
|
|
1304
|
+
|
|
1305
|
+
_proto.lheading = function lheading(src) {
|
|
1306
|
+
var cap = this.rules.block.lheading.exec(src);
|
|
1307
|
+
|
|
1308
|
+
if (cap) {
|
|
1309
|
+
return {
|
|
1310
|
+
type: 'heading',
|
|
1311
|
+
raw: cap[0],
|
|
1312
|
+
depth: cap[2].charAt(0) === '=' ? 1 : 2,
|
|
1313
|
+
text: cap[1],
|
|
1314
|
+
tokens: this.lexer.inline(cap[1])
|
|
1315
|
+
};
|
|
1316
|
+
}
|
|
1317
|
+
};
|
|
1318
|
+
|
|
1319
|
+
_proto.paragraph = function paragraph(src) {
|
|
1320
|
+
var cap = this.rules.block.paragraph.exec(src);
|
|
1321
|
+
|
|
1322
|
+
if (cap) {
|
|
1323
|
+
var text = cap[1].charAt(cap[1].length - 1) === '\n' ? cap[1].slice(0, -1) : cap[1];
|
|
1324
|
+
return {
|
|
1325
|
+
type: 'paragraph',
|
|
1326
|
+
raw: cap[0],
|
|
1327
|
+
text: text,
|
|
1328
|
+
tokens: this.lexer.inline(text)
|
|
1329
|
+
};
|
|
1330
|
+
}
|
|
1331
|
+
};
|
|
1332
|
+
|
|
1333
|
+
_proto.text = function text(src) {
|
|
1334
|
+
var cap = this.rules.block.text.exec(src);
|
|
1335
|
+
|
|
1336
|
+
if (cap) {
|
|
1337
|
+
return {
|
|
1338
|
+
type: 'text',
|
|
1339
|
+
raw: cap[0],
|
|
1340
|
+
text: cap[0],
|
|
1341
|
+
tokens: this.lexer.inline(cap[0])
|
|
1342
|
+
};
|
|
1343
|
+
}
|
|
1344
|
+
};
|
|
1345
|
+
|
|
1346
|
+
_proto.escape = function escape$1(src) {
|
|
1347
|
+
var cap = this.rules.inline.escape.exec(src);
|
|
1348
|
+
|
|
1349
|
+
if (cap) {
|
|
1350
|
+
return {
|
|
1351
|
+
type: 'escape',
|
|
1352
|
+
raw: cap[0],
|
|
1353
|
+
text: escape(cap[1])
|
|
1354
|
+
};
|
|
1355
|
+
}
|
|
1356
|
+
};
|
|
1357
|
+
|
|
1358
|
+
_proto.tag = function tag(src) {
|
|
1359
|
+
var cap = this.rules.inline.tag.exec(src);
|
|
1360
|
+
|
|
1361
|
+
if (cap) {
|
|
1362
|
+
if (!this.lexer.state.inLink && /^<a /i.test(cap[0])) {
|
|
1363
|
+
this.lexer.state.inLink = true;
|
|
1364
|
+
} else if (this.lexer.state.inLink && /^<\/a>/i.test(cap[0])) {
|
|
1365
|
+
this.lexer.state.inLink = false;
|
|
1366
|
+
}
|
|
1367
|
+
|
|
1368
|
+
if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(cap[0])) {
|
|
1369
|
+
this.lexer.state.inRawBlock = true;
|
|
1370
|
+
} else if (this.lexer.state.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(cap[0])) {
|
|
1371
|
+
this.lexer.state.inRawBlock = false;
|
|
1372
|
+
}
|
|
1373
|
+
|
|
1374
|
+
return {
|
|
1375
|
+
type: this.options.sanitize ? 'text' : 'html',
|
|
1376
|
+
raw: cap[0],
|
|
1377
|
+
inLink: this.lexer.state.inLink,
|
|
1378
|
+
inRawBlock: this.lexer.state.inRawBlock,
|
|
1379
|
+
text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0]
|
|
1380
|
+
};
|
|
1381
|
+
}
|
|
1382
|
+
};
|
|
1383
|
+
|
|
1384
|
+
_proto.link = function link(src) {
|
|
1385
|
+
var cap = this.rules.inline.link.exec(src);
|
|
1386
|
+
|
|
1387
|
+
if (cap) {
|
|
1388
|
+
var trimmedUrl = cap[2].trim();
|
|
1389
|
+
|
|
1390
|
+
if (!this.options.pedantic && /^</.test(trimmedUrl)) {
|
|
1391
|
+
// commonmark requires matching angle brackets
|
|
1392
|
+
if (!/>$/.test(trimmedUrl)) {
|
|
1393
|
+
return;
|
|
1394
|
+
} // ending angle bracket cannot be escaped
|
|
1395
|
+
|
|
1396
|
+
|
|
1397
|
+
var rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\');
|
|
1398
|
+
|
|
1399
|
+
if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {
|
|
1400
|
+
return;
|
|
1401
|
+
}
|
|
1402
|
+
} else {
|
|
1403
|
+
// find closing parenthesis
|
|
1404
|
+
var lastParenIndex = findClosingBracket(cap[2], '()');
|
|
1405
|
+
|
|
1406
|
+
if (lastParenIndex > -1) {
|
|
1407
|
+
var start = cap[0].indexOf('!') === 0 ? 5 : 4;
|
|
1408
|
+
var linkLen = start + cap[1].length + lastParenIndex;
|
|
1409
|
+
cap[2] = cap[2].substring(0, lastParenIndex);
|
|
1410
|
+
cap[0] = cap[0].substring(0, linkLen).trim();
|
|
1411
|
+
cap[3] = '';
|
|
1412
|
+
}
|
|
1413
|
+
}
|
|
1414
|
+
|
|
1415
|
+
var href = cap[2];
|
|
1416
|
+
var title = '';
|
|
1417
|
+
|
|
1418
|
+
if (this.options.pedantic) {
|
|
1419
|
+
// split pedantic href and title
|
|
1420
|
+
var link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href);
|
|
1421
|
+
|
|
1422
|
+
if (link) {
|
|
1423
|
+
href = link[1];
|
|
1424
|
+
title = link[3];
|
|
1425
|
+
}
|
|
1426
|
+
} else {
|
|
1427
|
+
title = cap[3] ? cap[3].slice(1, -1) : '';
|
|
1428
|
+
}
|
|
1429
|
+
|
|
1430
|
+
href = href.trim();
|
|
1431
|
+
|
|
1432
|
+
if (/^</.test(href)) {
|
|
1433
|
+
if (this.options.pedantic && !/>$/.test(trimmedUrl)) {
|
|
1434
|
+
// pedantic allows starting angle bracket without ending angle bracket
|
|
1435
|
+
href = href.slice(1);
|
|
1436
|
+
} else {
|
|
1437
|
+
href = href.slice(1, -1);
|
|
1438
|
+
}
|
|
1439
|
+
}
|
|
1440
|
+
|
|
1441
|
+
return outputLink(cap, {
|
|
1442
|
+
href: href ? href.replace(this.rules.inline._escapes, '$1') : href,
|
|
1443
|
+
title: title ? title.replace(this.rules.inline._escapes, '$1') : title
|
|
1444
|
+
}, cap[0], this.lexer);
|
|
1445
|
+
}
|
|
1446
|
+
};
|
|
1447
|
+
|
|
1448
|
+
_proto.reflink = function reflink(src, links) {
|
|
1449
|
+
var cap;
|
|
1450
|
+
|
|
1451
|
+
if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {
|
|
1452
|
+
var link = (cap[2] || cap[1]).replace(/\s+/g, ' ');
|
|
1453
|
+
link = links[link.toLowerCase()];
|
|
1454
|
+
|
|
1455
|
+
if (!link || !link.href) {
|
|
1456
|
+
var text = cap[0].charAt(0);
|
|
1457
|
+
return {
|
|
1458
|
+
type: 'text',
|
|
1459
|
+
raw: text,
|
|
1460
|
+
text: text
|
|
1461
|
+
};
|
|
1462
|
+
}
|
|
1463
|
+
|
|
1464
|
+
return outputLink(cap, link, cap[0], this.lexer);
|
|
1465
|
+
}
|
|
1466
|
+
};
|
|
1467
|
+
|
|
1468
|
+
_proto.emStrong = function emStrong(src, maskedSrc, prevChar) {
|
|
1469
|
+
if (prevChar === void 0) {
|
|
1470
|
+
prevChar = '';
|
|
1471
|
+
}
|
|
1472
|
+
|
|
1473
|
+
var match = this.rules.inline.emStrong.lDelim.exec(src);
|
|
1474
|
+
if (!match) return; // _ can't be between two alphanumerics. \p{L}\p{N} includes non-english alphabet/numbers as well
|
|
1475
|
+
|
|
1476
|
+
if (match[3] && prevChar.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/)) return;
|
|
1477
|
+
var nextChar = match[1] || match[2] || '';
|
|
1478
|
+
|
|
1479
|
+
if (!nextChar || nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar))) {
|
|
1480
|
+
var lLength = match[0].length - 1;
|
|
1481
|
+
var rDelim,
|
|
1482
|
+
rLength,
|
|
1483
|
+
delimTotal = lLength,
|
|
1484
|
+
midDelimTotal = 0;
|
|
1485
|
+
var endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;
|
|
1486
|
+
endReg.lastIndex = 0; // Clip maskedSrc to same section of string as src (move to lexer?)
|
|
1487
|
+
|
|
1488
|
+
maskedSrc = maskedSrc.slice(-1 * src.length + lLength);
|
|
1489
|
+
|
|
1490
|
+
while ((match = endReg.exec(maskedSrc)) != null) {
|
|
1491
|
+
rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];
|
|
1492
|
+
if (!rDelim) continue; // skip single * in __abc*abc__
|
|
1493
|
+
|
|
1494
|
+
rLength = rDelim.length;
|
|
1495
|
+
|
|
1496
|
+
if (match[3] || match[4]) {
|
|
1497
|
+
// found another Left Delim
|
|
1498
|
+
delimTotal += rLength;
|
|
1499
|
+
continue;
|
|
1500
|
+
} else if (match[5] || match[6]) {
|
|
1501
|
+
// either Left or Right Delim
|
|
1502
|
+
if (lLength % 3 && !((lLength + rLength) % 3)) {
|
|
1503
|
+
midDelimTotal += rLength;
|
|
1504
|
+
continue; // CommonMark Emphasis Rules 9-10
|
|
1505
|
+
}
|
|
1506
|
+
}
|
|
1507
|
+
|
|
1508
|
+
delimTotal -= rLength;
|
|
1509
|
+
if (delimTotal > 0) continue; // Haven't found enough closing delimiters
|
|
1510
|
+
// Remove extra characters. *a*** -> *a*
|
|
1511
|
+
|
|
1512
|
+
rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal); // Create `em` if smallest delimiter has odd char count. *a***
|
|
1513
|
+
|
|
1514
|
+
if (Math.min(lLength, rLength) % 2) {
|
|
1515
|
+
var _text = src.slice(1, lLength + match.index + rLength);
|
|
1516
|
+
|
|
1517
|
+
return {
|
|
1518
|
+
type: 'em',
|
|
1519
|
+
raw: src.slice(0, lLength + match.index + rLength + 1),
|
|
1520
|
+
text: _text,
|
|
1521
|
+
tokens: this.lexer.inlineTokens(_text)
|
|
1522
|
+
};
|
|
1523
|
+
} // Create 'strong' if smallest delimiter has even char count. **a***
|
|
1524
|
+
|
|
1525
|
+
|
|
1526
|
+
var text = src.slice(2, lLength + match.index + rLength - 1);
|
|
1527
|
+
return {
|
|
1528
|
+
type: 'strong',
|
|
1529
|
+
raw: src.slice(0, lLength + match.index + rLength + 1),
|
|
1530
|
+
text: text,
|
|
1531
|
+
tokens: this.lexer.inlineTokens(text)
|
|
1532
|
+
};
|
|
1533
|
+
}
|
|
1534
|
+
}
|
|
1535
|
+
};
|
|
1536
|
+
|
|
1537
|
+
_proto.codespan = function codespan(src) {
|
|
1538
|
+
var cap = this.rules.inline.code.exec(src);
|
|
1539
|
+
|
|
1540
|
+
if (cap) {
|
|
1541
|
+
var text = cap[2].replace(/\n/g, ' ');
|
|
1542
|
+
var hasNonSpaceChars = /[^ ]/.test(text);
|
|
1543
|
+
var hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);
|
|
1544
|
+
|
|
1545
|
+
if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {
|
|
1546
|
+
text = text.substring(1, text.length - 1);
|
|
1547
|
+
}
|
|
1548
|
+
|
|
1549
|
+
text = escape(text, true);
|
|
1550
|
+
return {
|
|
1551
|
+
type: 'codespan',
|
|
1552
|
+
raw: cap[0],
|
|
1553
|
+
text: text
|
|
1554
|
+
};
|
|
1555
|
+
}
|
|
1556
|
+
};
|
|
1557
|
+
|
|
1558
|
+
_proto.br = function br(src) {
|
|
1559
|
+
var cap = this.rules.inline.br.exec(src);
|
|
1560
|
+
|
|
1561
|
+
if (cap) {
|
|
1562
|
+
return {
|
|
1563
|
+
type: 'br',
|
|
1564
|
+
raw: cap[0]
|
|
1565
|
+
};
|
|
1566
|
+
}
|
|
1567
|
+
};
|
|
1568
|
+
|
|
1569
|
+
_proto.del = function del(src) {
|
|
1570
|
+
var cap = this.rules.inline.del.exec(src);
|
|
1571
|
+
|
|
1572
|
+
if (cap) {
|
|
1573
|
+
return {
|
|
1574
|
+
type: 'del',
|
|
1575
|
+
raw: cap[0],
|
|
1576
|
+
text: cap[2],
|
|
1577
|
+
tokens: this.lexer.inlineTokens(cap[2])
|
|
1578
|
+
};
|
|
1579
|
+
}
|
|
1580
|
+
};
|
|
1581
|
+
|
|
1582
|
+
_proto.autolink = function autolink(src, mangle) {
|
|
1583
|
+
var cap = this.rules.inline.autolink.exec(src);
|
|
1584
|
+
|
|
1585
|
+
if (cap) {
|
|
1586
|
+
var text, href;
|
|
1587
|
+
|
|
1588
|
+
if (cap[2] === '@') {
|
|
1589
|
+
text = escape(this.options.mangle ? mangle(cap[1]) : cap[1]);
|
|
1590
|
+
href = 'mailto:' + text;
|
|
1591
|
+
} else {
|
|
1592
|
+
text = escape(cap[1]);
|
|
1593
|
+
href = text;
|
|
1594
|
+
}
|
|
1595
|
+
|
|
1596
|
+
return {
|
|
1597
|
+
type: 'link',
|
|
1598
|
+
raw: cap[0],
|
|
1599
|
+
text: text,
|
|
1600
|
+
href: href,
|
|
1601
|
+
tokens: [{
|
|
1602
|
+
type: 'text',
|
|
1603
|
+
raw: text,
|
|
1604
|
+
text: text
|
|
1605
|
+
}]
|
|
1606
|
+
};
|
|
1607
|
+
}
|
|
1608
|
+
};
|
|
1609
|
+
|
|
1610
|
+
_proto.url = function url(src, mangle) {
|
|
1611
|
+
var cap;
|
|
1612
|
+
|
|
1613
|
+
if (cap = this.rules.inline.url.exec(src)) {
|
|
1614
|
+
var text, href;
|
|
1615
|
+
|
|
1616
|
+
if (cap[2] === '@') {
|
|
1617
|
+
text = escape(this.options.mangle ? mangle(cap[0]) : cap[0]);
|
|
1618
|
+
href = 'mailto:' + text;
|
|
1619
|
+
} else {
|
|
1620
|
+
// do extended autolink path validation
|
|
1621
|
+
var prevCapZero;
|
|
1622
|
+
|
|
1623
|
+
do {
|
|
1624
|
+
prevCapZero = cap[0];
|
|
1625
|
+
cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];
|
|
1626
|
+
} while (prevCapZero !== cap[0]);
|
|
1627
|
+
|
|
1628
|
+
text = escape(cap[0]);
|
|
1629
|
+
|
|
1630
|
+
if (cap[1] === 'www.') {
|
|
1631
|
+
href = 'http://' + text;
|
|
1632
|
+
} else {
|
|
1633
|
+
href = text;
|
|
1634
|
+
}
|
|
1635
|
+
}
|
|
1636
|
+
|
|
1637
|
+
return {
|
|
1638
|
+
type: 'link',
|
|
1639
|
+
raw: cap[0],
|
|
1640
|
+
text: text,
|
|
1641
|
+
href: href,
|
|
1642
|
+
tokens: [{
|
|
1643
|
+
type: 'text',
|
|
1644
|
+
raw: text,
|
|
1645
|
+
text: text
|
|
1646
|
+
}]
|
|
1647
|
+
};
|
|
1648
|
+
}
|
|
1649
|
+
};
|
|
1650
|
+
|
|
1651
|
+
_proto.inlineText = function inlineText(src, smartypants) {
|
|
1652
|
+
var cap = this.rules.inline.text.exec(src);
|
|
1653
|
+
|
|
1654
|
+
if (cap) {
|
|
1655
|
+
var text;
|
|
1656
|
+
|
|
1657
|
+
if (this.lexer.state.inRawBlock) {
|
|
1658
|
+
text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0];
|
|
1659
|
+
} else {
|
|
1660
|
+
text = escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);
|
|
1661
|
+
}
|
|
1662
|
+
|
|
1663
|
+
return {
|
|
1664
|
+
type: 'text',
|
|
1665
|
+
raw: cap[0],
|
|
1666
|
+
text: text
|
|
1667
|
+
};
|
|
1668
|
+
}
|
|
1669
|
+
};
|
|
1670
|
+
|
|
1671
|
+
return Tokenizer;
|
|
1672
|
+
}();
|
|
1673
|
+
|
|
1674
|
+
/**
|
|
1675
|
+
* Block-Level Grammar
|
|
1676
|
+
*/
|
|
1677
|
+
|
|
1678
|
+
var block = {
|
|
1679
|
+
newline: /^(?: *(?:\n|$))+/,
|
|
1680
|
+
code: /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,
|
|
1681
|
+
fences: /^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,
|
|
1682
|
+
hr: /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,
|
|
1683
|
+
heading: /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,
|
|
1684
|
+
blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,
|
|
1685
|
+
list: /^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,
|
|
1686
|
+
html: '^ {0,3}(?:' // optional indentation
|
|
1687
|
+
+ '<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)' // (1)
|
|
1688
|
+
+ '|comment[^\\n]*(\\n+|$)' // (2)
|
|
1689
|
+
+ '|<\\?[\\s\\S]*?(?:\\?>\\n*|$)' // (3)
|
|
1690
|
+
+ '|<![A-Z][\\s\\S]*?(?:>\\n*|$)' // (4)
|
|
1691
|
+
+ '|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)' // (5)
|
|
1692
|
+
+ '|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (6)
|
|
1693
|
+
+ '|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) open tag
|
|
1694
|
+
+ '|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) closing tag
|
|
1695
|
+
+ ')',
|
|
1696
|
+
def: /^ {0,3}\[(label)\]: *(?:\n *)?<?([^\s>]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,
|
|
1697
|
+
table: noopTest,
|
|
1698
|
+
lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,
|
|
1699
|
+
// regex template, placeholders will be replaced according to different paragraph
|
|
1700
|
+
// interruption rules of commonmark and the original markdown spec:
|
|
1701
|
+
_paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,
|
|
1702
|
+
text: /^[^\n]+/
|
|
1703
|
+
};
|
|
1704
|
+
block._label = /(?!\s*\])(?:\\.|[^\[\]\\])+/;
|
|
1705
|
+
block._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/;
|
|
1706
|
+
block.def = edit(block.def).replace('label', block._label).replace('title', block._title).getRegex();
|
|
1707
|
+
block.bullet = /(?:[*+-]|\d{1,9}[.)])/;
|
|
1708
|
+
block.listItemStart = edit(/^( *)(bull) */).replace('bull', block.bullet).getRegex();
|
|
1709
|
+
block.list = edit(block.list).replace(/bull/g, block.bullet).replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))').replace('def', '\\n+(?=' + block.def.source + ')').getRegex();
|
|
1710
|
+
block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + '|track|ul';
|
|
1711
|
+
block._comment = /<!--(?!-?>)[\s\S]*?(?:-->|$)/;
|
|
1712
|
+
block.html = edit(block.html, 'i').replace('comment', block._comment).replace('tag', block._tag).replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
|
|
1713
|
+
block.paragraph = edit(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs
|
|
1714
|
+
.replace('|table', '').replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
|
|
1715
|
+
.replace('html', '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks
|
|
1716
|
+
.getRegex();
|
|
1717
|
+
block.blockquote = edit(block.blockquote).replace('paragraph', block.paragraph).getRegex();
|
|
1718
|
+
/**
|
|
1719
|
+
* Normal Block Grammar
|
|
1720
|
+
*/
|
|
1721
|
+
|
|
1722
|
+
block.normal = merge({}, block);
|
|
1723
|
+
/**
|
|
1724
|
+
* GFM Block Grammar
|
|
1725
|
+
*/
|
|
1726
|
+
|
|
1727
|
+
block.gfm = merge({}, block.normal, {
|
|
1728
|
+
table: '^ *([^\\n ].*\\|.*)\\n' // Header
|
|
1729
|
+
+ ' {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?' // Align
|
|
1730
|
+
+ '(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)' // Cells
|
|
1731
|
+
|
|
1732
|
+
});
|
|
1733
|
+
block.gfm.table = edit(block.gfm.table).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
|
|
1734
|
+
.replace('html', '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // tables can be interrupted by type (6) html blocks
|
|
1735
|
+
.getRegex();
|
|
1736
|
+
block.gfm.paragraph = edit(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs
|
|
1737
|
+
.replace('table', block.gfm.table) // interrupt paragraphs with table
|
|
1738
|
+
.replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
|
|
1739
|
+
.replace('html', '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks
|
|
1740
|
+
.getRegex();
|
|
1741
|
+
/**
|
|
1742
|
+
* Pedantic grammar (original John Gruber's loose markdown specification)
|
|
1743
|
+
*/
|
|
1744
|
+
|
|
1745
|
+
block.pedantic = merge({}, block.normal, {
|
|
1746
|
+
html: edit('^ *(?:comment *(?:\\n|\\s*$)' + '|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)' // closed tag
|
|
1747
|
+
+ '|<tag(?:"[^"]*"|\'[^\']*\'|\\s[^\'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))').replace('comment', block._comment).replace(/tag/g, '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b').getRegex(),
|
|
1748
|
+
def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
|
|
1749
|
+
heading: /^(#{1,6})(.*)(?:\n+|$)/,
|
|
1750
|
+
fences: noopTest,
|
|
1751
|
+
// fences not supported
|
|
1752
|
+
paragraph: edit(block.normal._paragraph).replace('hr', block.hr).replace('heading', ' *#{1,6} *[^\n]').replace('lheading', block.lheading).replace('blockquote', ' {0,3}>').replace('|fences', '').replace('|list', '').replace('|html', '').getRegex()
|
|
1753
|
+
});
|
|
1754
|
+
/**
|
|
1755
|
+
* Inline-Level Grammar
|
|
1756
|
+
*/
|
|
1757
|
+
|
|
1758
|
+
var inline = {
|
|
1759
|
+
escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,
|
|
1760
|
+
autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/,
|
|
1761
|
+
url: noopTest,
|
|
1762
|
+
tag: '^comment' + '|^</[a-zA-Z][\\w:-]*\\s*>' // self-closing tag
|
|
1763
|
+
+ '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag
|
|
1764
|
+
+ '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g. <?php ?>
|
|
1765
|
+
+ '|^<![a-zA-Z]+\\s[\\s\\S]*?>' // declaration, e.g. <!DOCTYPE html>
|
|
1766
|
+
+ '|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>',
|
|
1767
|
+
// CDATA section
|
|
1768
|
+
link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,
|
|
1769
|
+
reflink: /^!?\[(label)\]\[(ref)\]/,
|
|
1770
|
+
nolink: /^!?\[(ref)\](?:\[\])?/,
|
|
1771
|
+
reflinkSearch: 'reflink|nolink(?!\\()',
|
|
1772
|
+
emStrong: {
|
|
1773
|
+
lDelim: /^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,
|
|
1774
|
+
// (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left. (5) and (6) can be either Left or Right.
|
|
1775
|
+
// () Skip orphan inside strong () Consume to delim (1) #*** (2) a***#, a*** (3) #***a, ***a (4) ***# (5) #***# (6) a***a
|
|
1776
|
+
rDelimAst: /^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,
|
|
1777
|
+
rDelimUnd: /^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/ // ^- Not allowed for _
|
|
1778
|
+
|
|
1779
|
+
},
|
|
1780
|
+
code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,
|
|
1781
|
+
br: /^( {2,}|\\)\n(?!\s*$)/,
|
|
1782
|
+
del: noopTest,
|
|
1783
|
+
text: /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,
|
|
1784
|
+
punctuation: /^([\spunctuation])/
|
|
1785
|
+
}; // list of punctuation marks from CommonMark spec
|
|
1786
|
+
// without * and _ to handle the different emphasis markers * and _
|
|
1787
|
+
|
|
1788
|
+
inline._punctuation = '!"#$%&\'()+\\-.,/:;<=>?@\\[\\]`^{|}~';
|
|
1789
|
+
inline.punctuation = edit(inline.punctuation).replace(/punctuation/g, inline._punctuation).getRegex(); // sequences em should skip over [title](link), `code`, <html>
|
|
1790
|
+
|
|
1791
|
+
inline.blockSkip = /\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g;
|
|
1792
|
+
inline.escapedEmSt = /\\\*|\\_/g;
|
|
1793
|
+
inline._comment = edit(block._comment).replace('(?:-->|$)', '-->').getRegex();
|
|
1794
|
+
inline.emStrong.lDelim = edit(inline.emStrong.lDelim).replace(/punct/g, inline._punctuation).getRegex();
|
|
1795
|
+
inline.emStrong.rDelimAst = edit(inline.emStrong.rDelimAst, 'g').replace(/punct/g, inline._punctuation).getRegex();
|
|
1796
|
+
inline.emStrong.rDelimUnd = edit(inline.emStrong.rDelimUnd, 'g').replace(/punct/g, inline._punctuation).getRegex();
|
|
1797
|
+
inline._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g;
|
|
1798
|
+
inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;
|
|
1799
|
+
inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;
|
|
1800
|
+
inline.autolink = edit(inline.autolink).replace('scheme', inline._scheme).replace('email', inline._email).getRegex();
|
|
1801
|
+
inline._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/;
|
|
1802
|
+
inline.tag = edit(inline.tag).replace('comment', inline._comment).replace('attribute', inline._attribute).getRegex();
|
|
1803
|
+
inline._label = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;
|
|
1804
|
+
inline._href = /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/;
|
|
1805
|
+
inline._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/;
|
|
1806
|
+
inline.link = edit(inline.link).replace('label', inline._label).replace('href', inline._href).replace('title', inline._title).getRegex();
|
|
1807
|
+
inline.reflink = edit(inline.reflink).replace('label', inline._label).replace('ref', block._label).getRegex();
|
|
1808
|
+
inline.nolink = edit(inline.nolink).replace('ref', block._label).getRegex();
|
|
1809
|
+
inline.reflinkSearch = edit(inline.reflinkSearch, 'g').replace('reflink', inline.reflink).replace('nolink', inline.nolink).getRegex();
|
|
1810
|
+
/**
|
|
1811
|
+
* Normal Inline Grammar
|
|
1812
|
+
*/
|
|
1813
|
+
|
|
1814
|
+
inline.normal = merge({}, inline);
|
|
1815
|
+
/**
|
|
1816
|
+
* Pedantic Inline Grammar
|
|
1817
|
+
*/
|
|
1818
|
+
|
|
1819
|
+
inline.pedantic = merge({}, inline.normal, {
|
|
1820
|
+
strong: {
|
|
1821
|
+
start: /^__|\*\*/,
|
|
1822
|
+
middle: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,
|
|
1823
|
+
endAst: /\*\*(?!\*)/g,
|
|
1824
|
+
endUnd: /__(?!_)/g
|
|
1825
|
+
},
|
|
1826
|
+
em: {
|
|
1827
|
+
start: /^_|\*/,
|
|
1828
|
+
middle: /^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,
|
|
1829
|
+
endAst: /\*(?!\*)/g,
|
|
1830
|
+
endUnd: /_(?!_)/g
|
|
1831
|
+
},
|
|
1832
|
+
link: edit(/^!?\[(label)\]\((.*?)\)/).replace('label', inline._label).getRegex(),
|
|
1833
|
+
reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace('label', inline._label).getRegex()
|
|
1834
|
+
});
|
|
1835
|
+
/**
|
|
1836
|
+
* GFM Inline Grammar
|
|
1837
|
+
*/
|
|
1838
|
+
|
|
1839
|
+
inline.gfm = merge({}, inline.normal, {
|
|
1840
|
+
escape: edit(inline.escape).replace('])', '~|])').getRegex(),
|
|
1841
|
+
_extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,
|
|
1842
|
+
url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,
|
|
1843
|
+
_backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,
|
|
1844
|
+
del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,
|
|
1845
|
+
text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/
|
|
1846
|
+
});
|
|
1847
|
+
inline.gfm.url = edit(inline.gfm.url, 'i').replace('email', inline.gfm._extended_email).getRegex();
|
|
1848
|
+
/**
|
|
1849
|
+
* GFM + Line Breaks Inline Grammar
|
|
1850
|
+
*/
|
|
1851
|
+
|
|
1852
|
+
inline.breaks = merge({}, inline.gfm, {
|
|
1853
|
+
br: edit(inline.br).replace('{2,}', '*').getRegex(),
|
|
1854
|
+
text: edit(inline.gfm.text).replace('\\b_', '\\b_| {2,}\\n').replace(/\{2,\}/g, '*').getRegex()
|
|
1855
|
+
});
|
|
1856
|
+
|
|
1857
|
+
/**
|
|
1858
|
+
* smartypants text replacement
|
|
1859
|
+
* @param {string} text
|
|
1860
|
+
*/
|
|
1861
|
+
|
|
1862
|
+
function smartypants(text) {
|
|
1863
|
+
return text // em-dashes
|
|
1864
|
+
.replace(/---/g, "\u2014") // en-dashes
|
|
1865
|
+
.replace(/--/g, "\u2013") // opening singles
|
|
1866
|
+
.replace(/(^|[-\u2014/(\[{"\s])'/g, "$1\u2018") // closing singles & apostrophes
|
|
1867
|
+
.replace(/'/g, "\u2019") // opening doubles
|
|
1868
|
+
.replace(/(^|[-\u2014/(\[{\u2018\s])"/g, "$1\u201C") // closing doubles
|
|
1869
|
+
.replace(/"/g, "\u201D") // ellipses
|
|
1870
|
+
.replace(/\.{3}/g, "\u2026");
|
|
1871
|
+
}
|
|
1872
|
+
/**
|
|
1873
|
+
* mangle email addresses
|
|
1874
|
+
* @param {string} text
|
|
1875
|
+
*/
|
|
1876
|
+
|
|
1877
|
+
|
|
1878
|
+
function mangle(text) {
|
|
1879
|
+
var out = '',
|
|
1880
|
+
i,
|
|
1881
|
+
ch;
|
|
1882
|
+
var l = text.length;
|
|
1883
|
+
|
|
1884
|
+
for (i = 0; i < l; i++) {
|
|
1885
|
+
ch = text.charCodeAt(i);
|
|
1886
|
+
|
|
1887
|
+
if (Math.random() > 0.5) {
|
|
1888
|
+
ch = 'x' + ch.toString(16);
|
|
1889
|
+
}
|
|
1890
|
+
|
|
1891
|
+
out += '&#' + ch + ';';
|
|
1892
|
+
}
|
|
1893
|
+
|
|
1894
|
+
return out;
|
|
1895
|
+
}
|
|
1896
|
+
/**
|
|
1897
|
+
* Block Lexer
|
|
1898
|
+
*/
|
|
1899
|
+
|
|
1900
|
+
|
|
1901
|
+
var Lexer = /*#__PURE__*/function () {
|
|
1902
|
+
function Lexer(options) {
|
|
1903
|
+
this.tokens = [];
|
|
1904
|
+
this.tokens.links = Object.create(null);
|
|
1905
|
+
this.options = options || exports.defaults;
|
|
1906
|
+
this.options.tokenizer = this.options.tokenizer || new Tokenizer();
|
|
1907
|
+
this.tokenizer = this.options.tokenizer;
|
|
1908
|
+
this.tokenizer.options = this.options;
|
|
1909
|
+
this.tokenizer.lexer = this;
|
|
1910
|
+
this.inlineQueue = [];
|
|
1911
|
+
this.state = {
|
|
1912
|
+
inLink: false,
|
|
1913
|
+
inRawBlock: false,
|
|
1914
|
+
top: true
|
|
1915
|
+
};
|
|
1916
|
+
var rules = {
|
|
1917
|
+
block: block.normal,
|
|
1918
|
+
inline: inline.normal
|
|
1919
|
+
};
|
|
1920
|
+
|
|
1921
|
+
if (this.options.pedantic) {
|
|
1922
|
+
rules.block = block.pedantic;
|
|
1923
|
+
rules.inline = inline.pedantic;
|
|
1924
|
+
} else if (this.options.gfm) {
|
|
1925
|
+
rules.block = block.gfm;
|
|
1926
|
+
|
|
1927
|
+
if (this.options.breaks) {
|
|
1928
|
+
rules.inline = inline.breaks;
|
|
1929
|
+
} else {
|
|
1930
|
+
rules.inline = inline.gfm;
|
|
1931
|
+
}
|
|
1932
|
+
}
|
|
1933
|
+
|
|
1934
|
+
this.tokenizer.rules = rules;
|
|
1935
|
+
}
|
|
1936
|
+
/**
|
|
1937
|
+
* Expose Rules
|
|
1938
|
+
*/
|
|
1939
|
+
|
|
1940
|
+
|
|
1941
|
+
/**
|
|
1942
|
+
* Static Lex Method
|
|
1943
|
+
*/
|
|
1944
|
+
Lexer.lex = function lex(src, options) {
|
|
1945
|
+
var lexer = new Lexer(options);
|
|
1946
|
+
return lexer.lex(src);
|
|
1947
|
+
}
|
|
1948
|
+
/**
|
|
1949
|
+
* Static Lex Inline Method
|
|
1950
|
+
*/
|
|
1951
|
+
;
|
|
1952
|
+
|
|
1953
|
+
Lexer.lexInline = function lexInline(src, options) {
|
|
1954
|
+
var lexer = new Lexer(options);
|
|
1955
|
+
return lexer.inlineTokens(src);
|
|
1956
|
+
}
|
|
1957
|
+
/**
|
|
1958
|
+
* Preprocessing
|
|
1959
|
+
*/
|
|
1960
|
+
;
|
|
1961
|
+
|
|
1962
|
+
var _proto = Lexer.prototype;
|
|
1963
|
+
|
|
1964
|
+
_proto.lex = function lex(src) {
|
|
1965
|
+
src = src.replace(/\r\n|\r/g, '\n');
|
|
1966
|
+
this.blockTokens(src, this.tokens);
|
|
1967
|
+
var next;
|
|
1968
|
+
|
|
1969
|
+
while (next = this.inlineQueue.shift()) {
|
|
1970
|
+
this.inlineTokens(next.src, next.tokens);
|
|
1971
|
+
}
|
|
1972
|
+
|
|
1973
|
+
return this.tokens;
|
|
1974
|
+
}
|
|
1975
|
+
/**
|
|
1976
|
+
* Lexing
|
|
1977
|
+
*/
|
|
1978
|
+
;
|
|
1979
|
+
|
|
1980
|
+
_proto.blockTokens = function blockTokens(src, tokens) {
|
|
1981
|
+
var _this = this;
|
|
1982
|
+
|
|
1983
|
+
if (tokens === void 0) {
|
|
1984
|
+
tokens = [];
|
|
1985
|
+
}
|
|
1986
|
+
|
|
1987
|
+
if (this.options.pedantic) {
|
|
1988
|
+
src = src.replace(/\t/g, ' ').replace(/^ +$/gm, '');
|
|
1989
|
+
} else {
|
|
1990
|
+
src = src.replace(/^( *)(\t+)/gm, function (_, leading, tabs) {
|
|
1991
|
+
return leading + ' '.repeat(tabs.length);
|
|
1992
|
+
});
|
|
1993
|
+
}
|
|
1994
|
+
|
|
1995
|
+
var token, lastToken, cutSrc, lastParagraphClipped;
|
|
1996
|
+
|
|
1997
|
+
while (src) {
|
|
1998
|
+
if (this.options.extensions && this.options.extensions.block && this.options.extensions.block.some(function (extTokenizer) {
|
|
1999
|
+
if (token = extTokenizer.call({
|
|
2000
|
+
lexer: _this
|
|
2001
|
+
}, src, tokens)) {
|
|
2002
|
+
src = src.substring(token.raw.length);
|
|
2003
|
+
tokens.push(token);
|
|
2004
|
+
return true;
|
|
2005
|
+
}
|
|
2006
|
+
|
|
2007
|
+
return false;
|
|
2008
|
+
})) {
|
|
2009
|
+
continue;
|
|
2010
|
+
} // newline
|
|
2011
|
+
|
|
2012
|
+
|
|
2013
|
+
if (token = this.tokenizer.space(src)) {
|
|
2014
|
+
src = src.substring(token.raw.length);
|
|
2015
|
+
|
|
2016
|
+
if (token.raw.length === 1 && tokens.length > 0) {
|
|
2017
|
+
// if there's a single \n as a spacer, it's terminating the last line,
|
|
2018
|
+
// so move it there so that we don't get unecessary paragraph tags
|
|
2019
|
+
tokens[tokens.length - 1].raw += '\n';
|
|
2020
|
+
} else {
|
|
2021
|
+
tokens.push(token);
|
|
2022
|
+
}
|
|
2023
|
+
|
|
2024
|
+
continue;
|
|
2025
|
+
} // code
|
|
2026
|
+
|
|
2027
|
+
|
|
2028
|
+
if (token = this.tokenizer.code(src)) {
|
|
2029
|
+
src = src.substring(token.raw.length);
|
|
2030
|
+
lastToken = tokens[tokens.length - 1]; // An indented code block cannot interrupt a paragraph.
|
|
2031
|
+
|
|
2032
|
+
if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {
|
|
2033
|
+
lastToken.raw += '\n' + token.raw;
|
|
2034
|
+
lastToken.text += '\n' + token.text;
|
|
2035
|
+
this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
|
|
2036
|
+
} else {
|
|
2037
|
+
tokens.push(token);
|
|
2038
|
+
}
|
|
2039
|
+
|
|
2040
|
+
continue;
|
|
2041
|
+
} // fences
|
|
2042
|
+
|
|
2043
|
+
|
|
2044
|
+
if (token = this.tokenizer.fences(src)) {
|
|
2045
|
+
src = src.substring(token.raw.length);
|
|
2046
|
+
tokens.push(token);
|
|
2047
|
+
continue;
|
|
2048
|
+
} // heading
|
|
2049
|
+
|
|
2050
|
+
|
|
2051
|
+
if (token = this.tokenizer.heading(src)) {
|
|
2052
|
+
src = src.substring(token.raw.length);
|
|
2053
|
+
tokens.push(token);
|
|
2054
|
+
continue;
|
|
2055
|
+
} // hr
|
|
2056
|
+
|
|
2057
|
+
|
|
2058
|
+
if (token = this.tokenizer.hr(src)) {
|
|
2059
|
+
src = src.substring(token.raw.length);
|
|
2060
|
+
tokens.push(token);
|
|
2061
|
+
continue;
|
|
2062
|
+
} // blockquote
|
|
2063
|
+
|
|
2064
|
+
|
|
2065
|
+
if (token = this.tokenizer.blockquote(src)) {
|
|
2066
|
+
src = src.substring(token.raw.length);
|
|
2067
|
+
tokens.push(token);
|
|
2068
|
+
continue;
|
|
2069
|
+
} // list
|
|
2070
|
+
|
|
2071
|
+
|
|
2072
|
+
if (token = this.tokenizer.list(src)) {
|
|
2073
|
+
src = src.substring(token.raw.length);
|
|
2074
|
+
tokens.push(token);
|
|
2075
|
+
continue;
|
|
2076
|
+
} // html
|
|
2077
|
+
|
|
2078
|
+
|
|
2079
|
+
if (token = this.tokenizer.html(src)) {
|
|
2080
|
+
src = src.substring(token.raw.length);
|
|
2081
|
+
tokens.push(token);
|
|
2082
|
+
continue;
|
|
2083
|
+
} // def
|
|
2084
|
+
|
|
2085
|
+
|
|
2086
|
+
if (token = this.tokenizer.def(src)) {
|
|
2087
|
+
src = src.substring(token.raw.length);
|
|
2088
|
+
lastToken = tokens[tokens.length - 1];
|
|
2089
|
+
|
|
2090
|
+
if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {
|
|
2091
|
+
lastToken.raw += '\n' + token.raw;
|
|
2092
|
+
lastToken.text += '\n' + token.raw;
|
|
2093
|
+
this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
|
|
2094
|
+
} else if (!this.tokens.links[token.tag]) {
|
|
2095
|
+
this.tokens.links[token.tag] = {
|
|
2096
|
+
href: token.href,
|
|
2097
|
+
title: token.title
|
|
2098
|
+
};
|
|
2099
|
+
}
|
|
2100
|
+
|
|
2101
|
+
continue;
|
|
2102
|
+
} // table (gfm)
|
|
2103
|
+
|
|
2104
|
+
|
|
2105
|
+
if (token = this.tokenizer.table(src)) {
|
|
2106
|
+
src = src.substring(token.raw.length);
|
|
2107
|
+
tokens.push(token);
|
|
2108
|
+
continue;
|
|
2109
|
+
} // lheading
|
|
2110
|
+
|
|
2111
|
+
|
|
2112
|
+
if (token = this.tokenizer.lheading(src)) {
|
|
2113
|
+
src = src.substring(token.raw.length);
|
|
2114
|
+
tokens.push(token);
|
|
2115
|
+
continue;
|
|
2116
|
+
} // top-level paragraph
|
|
2117
|
+
// prevent paragraph consuming extensions by clipping 'src' to extension start
|
|
2118
|
+
|
|
2119
|
+
|
|
2120
|
+
cutSrc = src;
|
|
2121
|
+
|
|
2122
|
+
if (this.options.extensions && this.options.extensions.startBlock) {
|
|
2123
|
+
(function () {
|
|
2124
|
+
var startIndex = Infinity;
|
|
2125
|
+
var tempSrc = src.slice(1);
|
|
2126
|
+
var tempStart = void 0;
|
|
2127
|
+
|
|
2128
|
+
_this.options.extensions.startBlock.forEach(function (getStartIndex) {
|
|
2129
|
+
tempStart = getStartIndex.call({
|
|
2130
|
+
lexer: this
|
|
2131
|
+
}, tempSrc);
|
|
2132
|
+
|
|
2133
|
+
if (typeof tempStart === 'number' && tempStart >= 0) {
|
|
2134
|
+
startIndex = Math.min(startIndex, tempStart);
|
|
2135
|
+
}
|
|
2136
|
+
});
|
|
2137
|
+
|
|
2138
|
+
if (startIndex < Infinity && startIndex >= 0) {
|
|
2139
|
+
cutSrc = src.substring(0, startIndex + 1);
|
|
2140
|
+
}
|
|
2141
|
+
})();
|
|
2142
|
+
}
|
|
2143
|
+
|
|
2144
|
+
if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {
|
|
2145
|
+
lastToken = tokens[tokens.length - 1];
|
|
2146
|
+
|
|
2147
|
+
if (lastParagraphClipped && lastToken.type === 'paragraph') {
|
|
2148
|
+
lastToken.raw += '\n' + token.raw;
|
|
2149
|
+
lastToken.text += '\n' + token.text;
|
|
2150
|
+
this.inlineQueue.pop();
|
|
2151
|
+
this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
|
|
2152
|
+
} else {
|
|
2153
|
+
tokens.push(token);
|
|
2154
|
+
}
|
|
2155
|
+
|
|
2156
|
+
lastParagraphClipped = cutSrc.length !== src.length;
|
|
2157
|
+
src = src.substring(token.raw.length);
|
|
2158
|
+
continue;
|
|
2159
|
+
} // text
|
|
2160
|
+
|
|
2161
|
+
|
|
2162
|
+
if (token = this.tokenizer.text(src)) {
|
|
2163
|
+
src = src.substring(token.raw.length);
|
|
2164
|
+
lastToken = tokens[tokens.length - 1];
|
|
2165
|
+
|
|
2166
|
+
if (lastToken && lastToken.type === 'text') {
|
|
2167
|
+
lastToken.raw += '\n' + token.raw;
|
|
2168
|
+
lastToken.text += '\n' + token.text;
|
|
2169
|
+
this.inlineQueue.pop();
|
|
2170
|
+
this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
|
|
2171
|
+
} else {
|
|
2172
|
+
tokens.push(token);
|
|
2173
|
+
}
|
|
2174
|
+
|
|
2175
|
+
continue;
|
|
2176
|
+
}
|
|
2177
|
+
|
|
2178
|
+
if (src) {
|
|
2179
|
+
var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);
|
|
2180
|
+
|
|
2181
|
+
if (this.options.silent) {
|
|
2182
|
+
console.error(errMsg);
|
|
2183
|
+
break;
|
|
2184
|
+
} else {
|
|
2185
|
+
throw new Error(errMsg);
|
|
2186
|
+
}
|
|
2187
|
+
}
|
|
2188
|
+
}
|
|
2189
|
+
|
|
2190
|
+
this.state.top = true;
|
|
2191
|
+
return tokens;
|
|
2192
|
+
};
|
|
2193
|
+
|
|
2194
|
+
_proto.inline = function inline(src, tokens) {
|
|
2195
|
+
if (tokens === void 0) {
|
|
2196
|
+
tokens = [];
|
|
2197
|
+
}
|
|
2198
|
+
|
|
2199
|
+
this.inlineQueue.push({
|
|
2200
|
+
src: src,
|
|
2201
|
+
tokens: tokens
|
|
2202
|
+
});
|
|
2203
|
+
return tokens;
|
|
2204
|
+
}
|
|
2205
|
+
/**
|
|
2206
|
+
* Lexing/Compiling
|
|
2207
|
+
*/
|
|
2208
|
+
;
|
|
2209
|
+
|
|
2210
|
+
_proto.inlineTokens = function inlineTokens(src, tokens) {
|
|
2211
|
+
var _this2 = this;
|
|
2212
|
+
|
|
2213
|
+
if (tokens === void 0) {
|
|
2214
|
+
tokens = [];
|
|
2215
|
+
}
|
|
2216
|
+
|
|
2217
|
+
var token, lastToken, cutSrc; // String with links masked to avoid interference with em and strong
|
|
2218
|
+
|
|
2219
|
+
var maskedSrc = src;
|
|
2220
|
+
var match;
|
|
2221
|
+
var keepPrevChar, prevChar; // Mask out reflinks
|
|
2222
|
+
|
|
2223
|
+
if (this.tokens.links) {
|
|
2224
|
+
var links = Object.keys(this.tokens.links);
|
|
2225
|
+
|
|
2226
|
+
if (links.length > 0) {
|
|
2227
|
+
while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {
|
|
2228
|
+
if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {
|
|
2229
|
+
maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);
|
|
2230
|
+
}
|
|
2231
|
+
}
|
|
2232
|
+
}
|
|
2233
|
+
} // Mask out other blocks
|
|
2234
|
+
|
|
2235
|
+
|
|
2236
|
+
while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {
|
|
2237
|
+
maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
|
|
2238
|
+
} // Mask out escaped em & strong delimiters
|
|
2239
|
+
|
|
2240
|
+
|
|
2241
|
+
while ((match = this.tokenizer.rules.inline.escapedEmSt.exec(maskedSrc)) != null) {
|
|
2242
|
+
maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);
|
|
2243
|
+
}
|
|
2244
|
+
|
|
2245
|
+
while (src) {
|
|
2246
|
+
if (!keepPrevChar) {
|
|
2247
|
+
prevChar = '';
|
|
2248
|
+
}
|
|
2249
|
+
|
|
2250
|
+
keepPrevChar = false; // extensions
|
|
2251
|
+
|
|
2252
|
+
if (this.options.extensions && this.options.extensions.inline && this.options.extensions.inline.some(function (extTokenizer) {
|
|
2253
|
+
if (token = extTokenizer.call({
|
|
2254
|
+
lexer: _this2
|
|
2255
|
+
}, src, tokens)) {
|
|
2256
|
+
src = src.substring(token.raw.length);
|
|
2257
|
+
tokens.push(token);
|
|
2258
|
+
return true;
|
|
2259
|
+
}
|
|
2260
|
+
|
|
2261
|
+
return false;
|
|
2262
|
+
})) {
|
|
2263
|
+
continue;
|
|
2264
|
+
} // escape
|
|
2265
|
+
|
|
2266
|
+
|
|
2267
|
+
if (token = this.tokenizer.escape(src)) {
|
|
2268
|
+
src = src.substring(token.raw.length);
|
|
2269
|
+
tokens.push(token);
|
|
2270
|
+
continue;
|
|
2271
|
+
} // tag
|
|
2272
|
+
|
|
2273
|
+
|
|
2274
|
+
if (token = this.tokenizer.tag(src)) {
|
|
2275
|
+
src = src.substring(token.raw.length);
|
|
2276
|
+
lastToken = tokens[tokens.length - 1];
|
|
2277
|
+
|
|
2278
|
+
if (lastToken && token.type === 'text' && lastToken.type === 'text') {
|
|
2279
|
+
lastToken.raw += token.raw;
|
|
2280
|
+
lastToken.text += token.text;
|
|
2281
|
+
} else {
|
|
2282
|
+
tokens.push(token);
|
|
2283
|
+
}
|
|
2284
|
+
|
|
2285
|
+
continue;
|
|
2286
|
+
} // link
|
|
2287
|
+
|
|
2288
|
+
|
|
2289
|
+
if (token = this.tokenizer.link(src)) {
|
|
2290
|
+
src = src.substring(token.raw.length);
|
|
2291
|
+
tokens.push(token);
|
|
2292
|
+
continue;
|
|
2293
|
+
} // reflink, nolink
|
|
2294
|
+
|
|
2295
|
+
|
|
2296
|
+
if (token = this.tokenizer.reflink(src, this.tokens.links)) {
|
|
2297
|
+
src = src.substring(token.raw.length);
|
|
2298
|
+
lastToken = tokens[tokens.length - 1];
|
|
2299
|
+
|
|
2300
|
+
if (lastToken && token.type === 'text' && lastToken.type === 'text') {
|
|
2301
|
+
lastToken.raw += token.raw;
|
|
2302
|
+
lastToken.text += token.text;
|
|
2303
|
+
} else {
|
|
2304
|
+
tokens.push(token);
|
|
2305
|
+
}
|
|
2306
|
+
|
|
2307
|
+
continue;
|
|
2308
|
+
} // em & strong
|
|
2309
|
+
|
|
2310
|
+
|
|
2311
|
+
if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {
|
|
2312
|
+
src = src.substring(token.raw.length);
|
|
2313
|
+
tokens.push(token);
|
|
2314
|
+
continue;
|
|
2315
|
+
} // code
|
|
2316
|
+
|
|
2317
|
+
|
|
2318
|
+
if (token = this.tokenizer.codespan(src)) {
|
|
2319
|
+
src = src.substring(token.raw.length);
|
|
2320
|
+
tokens.push(token);
|
|
2321
|
+
continue;
|
|
2322
|
+
} // br
|
|
2323
|
+
|
|
2324
|
+
|
|
2325
|
+
if (token = this.tokenizer.br(src)) {
|
|
2326
|
+
src = src.substring(token.raw.length);
|
|
2327
|
+
tokens.push(token);
|
|
2328
|
+
continue;
|
|
2329
|
+
} // del (gfm)
|
|
2330
|
+
|
|
2331
|
+
|
|
2332
|
+
if (token = this.tokenizer.del(src)) {
|
|
2333
|
+
src = src.substring(token.raw.length);
|
|
2334
|
+
tokens.push(token);
|
|
2335
|
+
continue;
|
|
2336
|
+
} // autolink
|
|
2337
|
+
|
|
2338
|
+
|
|
2339
|
+
if (token = this.tokenizer.autolink(src, mangle)) {
|
|
2340
|
+
src = src.substring(token.raw.length);
|
|
2341
|
+
tokens.push(token);
|
|
2342
|
+
continue;
|
|
2343
|
+
} // url (gfm)
|
|
2344
|
+
|
|
2345
|
+
|
|
2346
|
+
if (!this.state.inLink && (token = this.tokenizer.url(src, mangle))) {
|
|
2347
|
+
src = src.substring(token.raw.length);
|
|
2348
|
+
tokens.push(token);
|
|
2349
|
+
continue;
|
|
2350
|
+
} // text
|
|
2351
|
+
// prevent inlineText consuming extensions by clipping 'src' to extension start
|
|
2352
|
+
|
|
2353
|
+
|
|
2354
|
+
cutSrc = src;
|
|
2355
|
+
|
|
2356
|
+
if (this.options.extensions && this.options.extensions.startInline) {
|
|
2357
|
+
(function () {
|
|
2358
|
+
var startIndex = Infinity;
|
|
2359
|
+
var tempSrc = src.slice(1);
|
|
2360
|
+
var tempStart = void 0;
|
|
2361
|
+
|
|
2362
|
+
_this2.options.extensions.startInline.forEach(function (getStartIndex) {
|
|
2363
|
+
tempStart = getStartIndex.call({
|
|
2364
|
+
lexer: this
|
|
2365
|
+
}, tempSrc);
|
|
2366
|
+
|
|
2367
|
+
if (typeof tempStart === 'number' && tempStart >= 0) {
|
|
2368
|
+
startIndex = Math.min(startIndex, tempStart);
|
|
2369
|
+
}
|
|
2370
|
+
});
|
|
2371
|
+
|
|
2372
|
+
if (startIndex < Infinity && startIndex >= 0) {
|
|
2373
|
+
cutSrc = src.substring(0, startIndex + 1);
|
|
2374
|
+
}
|
|
2375
|
+
})();
|
|
2376
|
+
}
|
|
2377
|
+
|
|
2378
|
+
if (token = this.tokenizer.inlineText(cutSrc, smartypants)) {
|
|
2379
|
+
src = src.substring(token.raw.length);
|
|
2380
|
+
|
|
2381
|
+
if (token.raw.slice(-1) !== '_') {
|
|
2382
|
+
// Track prevChar before string of ____ started
|
|
2383
|
+
prevChar = token.raw.slice(-1);
|
|
2384
|
+
}
|
|
2385
|
+
|
|
2386
|
+
keepPrevChar = true;
|
|
2387
|
+
lastToken = tokens[tokens.length - 1];
|
|
2388
|
+
|
|
2389
|
+
if (lastToken && lastToken.type === 'text') {
|
|
2390
|
+
lastToken.raw += token.raw;
|
|
2391
|
+
lastToken.text += token.text;
|
|
2392
|
+
} else {
|
|
2393
|
+
tokens.push(token);
|
|
2394
|
+
}
|
|
2395
|
+
|
|
2396
|
+
continue;
|
|
2397
|
+
}
|
|
2398
|
+
|
|
2399
|
+
if (src) {
|
|
2400
|
+
var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);
|
|
2401
|
+
|
|
2402
|
+
if (this.options.silent) {
|
|
2403
|
+
console.error(errMsg);
|
|
2404
|
+
break;
|
|
2405
|
+
} else {
|
|
2406
|
+
throw new Error(errMsg);
|
|
2407
|
+
}
|
|
2408
|
+
}
|
|
2409
|
+
}
|
|
2410
|
+
|
|
2411
|
+
return tokens;
|
|
2412
|
+
};
|
|
2413
|
+
|
|
2414
|
+
_createClass(Lexer, null, [{
|
|
2415
|
+
key: "rules",
|
|
2416
|
+
get: function get() {
|
|
2417
|
+
return {
|
|
2418
|
+
block: block,
|
|
2419
|
+
inline: inline
|
|
2420
|
+
};
|
|
2421
|
+
}
|
|
2422
|
+
}]);
|
|
2423
|
+
|
|
2424
|
+
return Lexer;
|
|
2425
|
+
}();
|
|
2426
|
+
|
|
2427
|
+
/**
|
|
2428
|
+
* Renderer
|
|
2429
|
+
*/
|
|
2430
|
+
|
|
2431
|
+
var Renderer = /*#__PURE__*/function () {
|
|
2432
|
+
function Renderer(options) {
|
|
2433
|
+
this.options = options || exports.defaults;
|
|
2434
|
+
}
|
|
2435
|
+
|
|
2436
|
+
var _proto = Renderer.prototype;
|
|
2437
|
+
|
|
2438
|
+
_proto.code = function code(_code, infostring, escaped) {
|
|
2439
|
+
var lang = (infostring || '').match(/\S*/)[0];
|
|
2440
|
+
|
|
2441
|
+
if (this.options.highlight) {
|
|
2442
|
+
var out = this.options.highlight(_code, lang);
|
|
2443
|
+
|
|
2444
|
+
if (out != null && out !== _code) {
|
|
2445
|
+
escaped = true;
|
|
2446
|
+
_code = out;
|
|
2447
|
+
}
|
|
2448
|
+
}
|
|
2449
|
+
|
|
2450
|
+
_code = _code.replace(/\n$/, '') + '\n';
|
|
2451
|
+
|
|
2452
|
+
if (!lang) {
|
|
2453
|
+
return '<pre><code>' + (escaped ? _code : escape(_code, true)) + '</code></pre>\n';
|
|
2454
|
+
}
|
|
2455
|
+
|
|
2456
|
+
return '<pre><code class="' + this.options.langPrefix + escape(lang, true) + '">' + (escaped ? _code : escape(_code, true)) + '</code></pre>\n';
|
|
2457
|
+
}
|
|
2458
|
+
/**
|
|
2459
|
+
* @param {string} quote
|
|
2460
|
+
*/
|
|
2461
|
+
;
|
|
2462
|
+
|
|
2463
|
+
_proto.blockquote = function blockquote(quote) {
|
|
2464
|
+
return "<blockquote>\n" + quote + "</blockquote>\n";
|
|
2465
|
+
};
|
|
2466
|
+
|
|
2467
|
+
_proto.html = function html(_html) {
|
|
2468
|
+
return _html;
|
|
2469
|
+
}
|
|
2470
|
+
/**
|
|
2471
|
+
* @param {string} text
|
|
2472
|
+
* @param {string} level
|
|
2473
|
+
* @param {string} raw
|
|
2474
|
+
* @param {any} slugger
|
|
2475
|
+
*/
|
|
2476
|
+
;
|
|
2477
|
+
|
|
2478
|
+
_proto.heading = function heading(text, level, raw, slugger) {
|
|
2479
|
+
if (this.options.headerIds) {
|
|
2480
|
+
var id = this.options.headerPrefix + slugger.slug(raw);
|
|
2481
|
+
return "<h" + level + " id=\"" + id + "\">" + text + "</h" + level + ">\n";
|
|
2482
|
+
} // ignore IDs
|
|
2483
|
+
|
|
2484
|
+
|
|
2485
|
+
return "<h" + level + ">" + text + "</h" + level + ">\n";
|
|
2486
|
+
};
|
|
2487
|
+
|
|
2488
|
+
_proto.hr = function hr() {
|
|
2489
|
+
return this.options.xhtml ? '<hr/>\n' : '<hr>\n';
|
|
2490
|
+
};
|
|
2491
|
+
|
|
2492
|
+
_proto.list = function list(body, ordered, start) {
|
|
2493
|
+
var type = ordered ? 'ol' : 'ul',
|
|
2494
|
+
startatt = ordered && start !== 1 ? ' start="' + start + '"' : '';
|
|
2495
|
+
return '<' + type + startatt + '>\n' + body + '</' + type + '>\n';
|
|
2496
|
+
}
|
|
2497
|
+
/**
|
|
2498
|
+
* @param {string} text
|
|
2499
|
+
*/
|
|
2500
|
+
;
|
|
2501
|
+
|
|
2502
|
+
_proto.listitem = function listitem(text) {
|
|
2503
|
+
return "<li>" + text + "</li>\n";
|
|
2504
|
+
};
|
|
2505
|
+
|
|
2506
|
+
_proto.checkbox = function checkbox(checked) {
|
|
2507
|
+
return '<input ' + (checked ? 'checked="" ' : '') + 'disabled="" type="checkbox"' + (this.options.xhtml ? ' /' : '') + '> ';
|
|
2508
|
+
}
|
|
2509
|
+
/**
|
|
2510
|
+
* @param {string} text
|
|
2511
|
+
*/
|
|
2512
|
+
;
|
|
2513
|
+
|
|
2514
|
+
_proto.paragraph = function paragraph(text) {
|
|
2515
|
+
return "<p>" + text + "</p>\n";
|
|
2516
|
+
}
|
|
2517
|
+
/**
|
|
2518
|
+
* @param {string} header
|
|
2519
|
+
* @param {string} body
|
|
2520
|
+
*/
|
|
2521
|
+
;
|
|
2522
|
+
|
|
2523
|
+
_proto.table = function table(header, body) {
|
|
2524
|
+
if (body) body = "<tbody>" + body + "</tbody>";
|
|
2525
|
+
return '<table>\n' + '<thead>\n' + header + '</thead>\n' + body + '</table>\n';
|
|
2526
|
+
}
|
|
2527
|
+
/**
|
|
2528
|
+
* @param {string} content
|
|
2529
|
+
*/
|
|
2530
|
+
;
|
|
2531
|
+
|
|
2532
|
+
_proto.tablerow = function tablerow(content) {
|
|
2533
|
+
return "<tr>\n" + content + "</tr>\n";
|
|
2534
|
+
};
|
|
2535
|
+
|
|
2536
|
+
_proto.tablecell = function tablecell(content, flags) {
|
|
2537
|
+
var type = flags.header ? 'th' : 'td';
|
|
2538
|
+
var tag = flags.align ? "<" + type + " align=\"" + flags.align + "\">" : "<" + type + ">";
|
|
2539
|
+
return tag + content + ("</" + type + ">\n");
|
|
2540
|
+
}
|
|
2541
|
+
/**
|
|
2542
|
+
* span level renderer
|
|
2543
|
+
* @param {string} text
|
|
2544
|
+
*/
|
|
2545
|
+
;
|
|
2546
|
+
|
|
2547
|
+
_proto.strong = function strong(text) {
|
|
2548
|
+
return "<strong>" + text + "</strong>";
|
|
2549
|
+
}
|
|
2550
|
+
/**
|
|
2551
|
+
* @param {string} text
|
|
2552
|
+
*/
|
|
2553
|
+
;
|
|
2554
|
+
|
|
2555
|
+
_proto.em = function em(text) {
|
|
2556
|
+
return "<em>" + text + "</em>";
|
|
2557
|
+
}
|
|
2558
|
+
/**
|
|
2559
|
+
* @param {string} text
|
|
2560
|
+
*/
|
|
2561
|
+
;
|
|
2562
|
+
|
|
2563
|
+
_proto.codespan = function codespan(text) {
|
|
2564
|
+
return "<code>" + text + "</code>";
|
|
2565
|
+
};
|
|
2566
|
+
|
|
2567
|
+
_proto.br = function br() {
|
|
2568
|
+
return this.options.xhtml ? '<br/>' : '<br>';
|
|
2569
|
+
}
|
|
2570
|
+
/**
|
|
2571
|
+
* @param {string} text
|
|
2572
|
+
*/
|
|
2573
|
+
;
|
|
2574
|
+
|
|
2575
|
+
_proto.del = function del(text) {
|
|
2576
|
+
return "<del>" + text + "</del>";
|
|
2577
|
+
}
|
|
2578
|
+
/**
|
|
2579
|
+
* @param {string} href
|
|
2580
|
+
* @param {string} title
|
|
2581
|
+
* @param {string} text
|
|
2582
|
+
*/
|
|
2583
|
+
;
|
|
2584
|
+
|
|
2585
|
+
_proto.link = function link(href, title, text) {
|
|
2586
|
+
href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);
|
|
2587
|
+
|
|
2588
|
+
if (href === null) {
|
|
2589
|
+
return text;
|
|
2590
|
+
}
|
|
2591
|
+
|
|
2592
|
+
var out = '<a href="' + escape(href) + '"';
|
|
2593
|
+
|
|
2594
|
+
if (title) {
|
|
2595
|
+
out += ' title="' + title + '"';
|
|
2596
|
+
}
|
|
2597
|
+
|
|
2598
|
+
out += '>' + text + '</a>';
|
|
2599
|
+
return out;
|
|
2600
|
+
}
|
|
2601
|
+
/**
|
|
2602
|
+
* @param {string} href
|
|
2603
|
+
* @param {string} title
|
|
2604
|
+
* @param {string} text
|
|
2605
|
+
*/
|
|
2606
|
+
;
|
|
2607
|
+
|
|
2608
|
+
_proto.image = function image(href, title, text) {
|
|
2609
|
+
href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);
|
|
2610
|
+
|
|
2611
|
+
if (href === null) {
|
|
2612
|
+
return text;
|
|
2613
|
+
}
|
|
2614
|
+
|
|
2615
|
+
var out = "<img src=\"" + href + "\" alt=\"" + text + "\"";
|
|
2616
|
+
|
|
2617
|
+
if (title) {
|
|
2618
|
+
out += " title=\"" + title + "\"";
|
|
2619
|
+
}
|
|
2620
|
+
|
|
2621
|
+
out += this.options.xhtml ? '/>' : '>';
|
|
2622
|
+
return out;
|
|
2623
|
+
};
|
|
2624
|
+
|
|
2625
|
+
_proto.text = function text(_text) {
|
|
2626
|
+
return _text;
|
|
2627
|
+
};
|
|
2628
|
+
|
|
2629
|
+
return Renderer;
|
|
2630
|
+
}();
|
|
2631
|
+
|
|
2632
|
+
/**
|
|
2633
|
+
* TextRenderer
|
|
2634
|
+
* returns only the textual part of the token
|
|
2635
|
+
*/
|
|
2636
|
+
var TextRenderer = /*#__PURE__*/function () {
|
|
2637
|
+
function TextRenderer() {}
|
|
2638
|
+
|
|
2639
|
+
var _proto = TextRenderer.prototype;
|
|
2640
|
+
|
|
2641
|
+
// no need for block level renderers
|
|
2642
|
+
_proto.strong = function strong(text) {
|
|
2643
|
+
return text;
|
|
2644
|
+
};
|
|
2645
|
+
|
|
2646
|
+
_proto.em = function em(text) {
|
|
2647
|
+
return text;
|
|
2648
|
+
};
|
|
2649
|
+
|
|
2650
|
+
_proto.codespan = function codespan(text) {
|
|
2651
|
+
return text;
|
|
2652
|
+
};
|
|
2653
|
+
|
|
2654
|
+
_proto.del = function del(text) {
|
|
2655
|
+
return text;
|
|
2656
|
+
};
|
|
2657
|
+
|
|
2658
|
+
_proto.html = function html(text) {
|
|
2659
|
+
return text;
|
|
2660
|
+
};
|
|
2661
|
+
|
|
2662
|
+
_proto.text = function text(_text) {
|
|
2663
|
+
return _text;
|
|
2664
|
+
};
|
|
2665
|
+
|
|
2666
|
+
_proto.link = function link(href, title, text) {
|
|
2667
|
+
return '' + text;
|
|
2668
|
+
};
|
|
2669
|
+
|
|
2670
|
+
_proto.image = function image(href, title, text) {
|
|
2671
|
+
return '' + text;
|
|
2672
|
+
};
|
|
2673
|
+
|
|
2674
|
+
_proto.br = function br() {
|
|
2675
|
+
return '';
|
|
2676
|
+
};
|
|
2677
|
+
|
|
2678
|
+
return TextRenderer;
|
|
2679
|
+
}();
|
|
2680
|
+
|
|
2681
|
+
/**
|
|
2682
|
+
* Slugger generates header id
|
|
2683
|
+
*/
|
|
2684
|
+
var Slugger = /*#__PURE__*/function () {
|
|
2685
|
+
function Slugger() {
|
|
2686
|
+
this.seen = {};
|
|
2687
|
+
}
|
|
2688
|
+
/**
|
|
2689
|
+
* @param {string} value
|
|
2690
|
+
*/
|
|
2691
|
+
|
|
2692
|
+
|
|
2693
|
+
var _proto = Slugger.prototype;
|
|
2694
|
+
|
|
2695
|
+
_proto.serialize = function serialize(value) {
|
|
2696
|
+
return value.toLowerCase().trim() // remove html tags
|
|
2697
|
+
.replace(/<[!\/a-z].*?>/ig, '') // remove unwanted chars
|
|
2698
|
+
.replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, '').replace(/\s/g, '-');
|
|
2699
|
+
}
|
|
2700
|
+
/**
|
|
2701
|
+
* Finds the next safe (unique) slug to use
|
|
2702
|
+
* @param {string} originalSlug
|
|
2703
|
+
* @param {boolean} isDryRun
|
|
2704
|
+
*/
|
|
2705
|
+
;
|
|
2706
|
+
|
|
2707
|
+
_proto.getNextSafeSlug = function getNextSafeSlug(originalSlug, isDryRun) {
|
|
2708
|
+
var slug = originalSlug;
|
|
2709
|
+
var occurenceAccumulator = 0;
|
|
2710
|
+
|
|
2711
|
+
if (this.seen.hasOwnProperty(slug)) {
|
|
2712
|
+
occurenceAccumulator = this.seen[originalSlug];
|
|
2713
|
+
|
|
2714
|
+
do {
|
|
2715
|
+
occurenceAccumulator++;
|
|
2716
|
+
slug = originalSlug + '-' + occurenceAccumulator;
|
|
2717
|
+
} while (this.seen.hasOwnProperty(slug));
|
|
2718
|
+
}
|
|
2719
|
+
|
|
2720
|
+
if (!isDryRun) {
|
|
2721
|
+
this.seen[originalSlug] = occurenceAccumulator;
|
|
2722
|
+
this.seen[slug] = 0;
|
|
2723
|
+
}
|
|
2724
|
+
|
|
2725
|
+
return slug;
|
|
2726
|
+
}
|
|
2727
|
+
/**
|
|
2728
|
+
* Convert string to unique id
|
|
2729
|
+
* @param {object} [options]
|
|
2730
|
+
* @param {boolean} [options.dryrun] Generates the next unique slug without
|
|
2731
|
+
* updating the internal accumulator.
|
|
2732
|
+
*/
|
|
2733
|
+
;
|
|
2734
|
+
|
|
2735
|
+
_proto.slug = function slug(value, options) {
|
|
2736
|
+
if (options === void 0) {
|
|
2737
|
+
options = {};
|
|
2738
|
+
}
|
|
2739
|
+
|
|
2740
|
+
var slug = this.serialize(value);
|
|
2741
|
+
return this.getNextSafeSlug(slug, options.dryrun);
|
|
2742
|
+
};
|
|
2743
|
+
|
|
2744
|
+
return Slugger;
|
|
2745
|
+
}();
|
|
2746
|
+
|
|
2747
|
+
/**
|
|
2748
|
+
* Parsing & Compiling
|
|
2749
|
+
*/
|
|
2750
|
+
|
|
2751
|
+
var Parser = /*#__PURE__*/function () {
|
|
2752
|
+
function Parser(options) {
|
|
2753
|
+
this.options = options || exports.defaults;
|
|
2754
|
+
this.options.renderer = this.options.renderer || new Renderer();
|
|
2755
|
+
this.renderer = this.options.renderer;
|
|
2756
|
+
this.renderer.options = this.options;
|
|
2757
|
+
this.textRenderer = new TextRenderer();
|
|
2758
|
+
this.slugger = new Slugger();
|
|
2759
|
+
}
|
|
2760
|
+
/**
|
|
2761
|
+
* Static Parse Method
|
|
2762
|
+
*/
|
|
2763
|
+
|
|
2764
|
+
|
|
2765
|
+
Parser.parse = function parse(tokens, options) {
|
|
2766
|
+
var parser = new Parser(options);
|
|
2767
|
+
return parser.parse(tokens);
|
|
2768
|
+
}
|
|
2769
|
+
/**
|
|
2770
|
+
* Static Parse Inline Method
|
|
2771
|
+
*/
|
|
2772
|
+
;
|
|
2773
|
+
|
|
2774
|
+
Parser.parseInline = function parseInline(tokens, options) {
|
|
2775
|
+
var parser = new Parser(options);
|
|
2776
|
+
return parser.parseInline(tokens);
|
|
2777
|
+
}
|
|
2778
|
+
/**
|
|
2779
|
+
* Parse Loop
|
|
2780
|
+
*/
|
|
2781
|
+
;
|
|
2782
|
+
|
|
2783
|
+
var _proto = Parser.prototype;
|
|
2784
|
+
|
|
2785
|
+
_proto.parse = function parse(tokens, top) {
|
|
2786
|
+
if (top === void 0) {
|
|
2787
|
+
top = true;
|
|
2788
|
+
}
|
|
2789
|
+
|
|
2790
|
+
var out = '',
|
|
2791
|
+
i,
|
|
2792
|
+
j,
|
|
2793
|
+
k,
|
|
2794
|
+
l2,
|
|
2795
|
+
l3,
|
|
2796
|
+
row,
|
|
2797
|
+
cell,
|
|
2798
|
+
header,
|
|
2799
|
+
body,
|
|
2800
|
+
token,
|
|
2801
|
+
ordered,
|
|
2802
|
+
start,
|
|
2803
|
+
loose,
|
|
2804
|
+
itemBody,
|
|
2805
|
+
item,
|
|
2806
|
+
checked,
|
|
2807
|
+
task,
|
|
2808
|
+
checkbox,
|
|
2809
|
+
ret;
|
|
2810
|
+
var l = tokens.length;
|
|
2811
|
+
|
|
2812
|
+
for (i = 0; i < l; i++) {
|
|
2813
|
+
token = tokens[i]; // Run any renderer extensions
|
|
2814
|
+
|
|
2815
|
+
if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {
|
|
2816
|
+
ret = this.options.extensions.renderers[token.type].call({
|
|
2817
|
+
parser: this
|
|
2818
|
+
}, token);
|
|
2819
|
+
|
|
2820
|
+
if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(token.type)) {
|
|
2821
|
+
out += ret || '';
|
|
2822
|
+
continue;
|
|
2823
|
+
}
|
|
2824
|
+
}
|
|
2825
|
+
|
|
2826
|
+
switch (token.type) {
|
|
2827
|
+
case 'space':
|
|
2828
|
+
{
|
|
2829
|
+
continue;
|
|
2830
|
+
}
|
|
2831
|
+
|
|
2832
|
+
case 'hr':
|
|
2833
|
+
{
|
|
2834
|
+
out += this.renderer.hr();
|
|
2835
|
+
continue;
|
|
2836
|
+
}
|
|
2837
|
+
|
|
2838
|
+
case 'heading':
|
|
2839
|
+
{
|
|
2840
|
+
out += this.renderer.heading(this.parseInline(token.tokens), token.depth, unescape(this.parseInline(token.tokens, this.textRenderer)), this.slugger);
|
|
2841
|
+
continue;
|
|
2842
|
+
}
|
|
2843
|
+
|
|
2844
|
+
case 'code':
|
|
2845
|
+
{
|
|
2846
|
+
out += this.renderer.code(token.text, token.lang, token.escaped);
|
|
2847
|
+
continue;
|
|
2848
|
+
}
|
|
2849
|
+
|
|
2850
|
+
case 'table':
|
|
2851
|
+
{
|
|
2852
|
+
header = ''; // header
|
|
2853
|
+
|
|
2854
|
+
cell = '';
|
|
2855
|
+
l2 = token.header.length;
|
|
2856
|
+
|
|
2857
|
+
for (j = 0; j < l2; j++) {
|
|
2858
|
+
cell += this.renderer.tablecell(this.parseInline(token.header[j].tokens), {
|
|
2859
|
+
header: true,
|
|
2860
|
+
align: token.align[j]
|
|
2861
|
+
});
|
|
2862
|
+
}
|
|
2863
|
+
|
|
2864
|
+
header += this.renderer.tablerow(cell);
|
|
2865
|
+
body = '';
|
|
2866
|
+
l2 = token.rows.length;
|
|
2867
|
+
|
|
2868
|
+
for (j = 0; j < l2; j++) {
|
|
2869
|
+
row = token.rows[j];
|
|
2870
|
+
cell = '';
|
|
2871
|
+
l3 = row.length;
|
|
2872
|
+
|
|
2873
|
+
for (k = 0; k < l3; k++) {
|
|
2874
|
+
cell += this.renderer.tablecell(this.parseInline(row[k].tokens), {
|
|
2875
|
+
header: false,
|
|
2876
|
+
align: token.align[k]
|
|
2877
|
+
});
|
|
2878
|
+
}
|
|
2879
|
+
|
|
2880
|
+
body += this.renderer.tablerow(cell);
|
|
2881
|
+
}
|
|
2882
|
+
|
|
2883
|
+
out += this.renderer.table(header, body);
|
|
2884
|
+
continue;
|
|
2885
|
+
}
|
|
2886
|
+
|
|
2887
|
+
case 'blockquote':
|
|
2888
|
+
{
|
|
2889
|
+
body = this.parse(token.tokens);
|
|
2890
|
+
out += this.renderer.blockquote(body);
|
|
2891
|
+
continue;
|
|
2892
|
+
}
|
|
2893
|
+
|
|
2894
|
+
case 'list':
|
|
2895
|
+
{
|
|
2896
|
+
ordered = token.ordered;
|
|
2897
|
+
start = token.start;
|
|
2898
|
+
loose = token.loose;
|
|
2899
|
+
l2 = token.items.length;
|
|
2900
|
+
body = '';
|
|
2901
|
+
|
|
2902
|
+
for (j = 0; j < l2; j++) {
|
|
2903
|
+
item = token.items[j];
|
|
2904
|
+
checked = item.checked;
|
|
2905
|
+
task = item.task;
|
|
2906
|
+
itemBody = '';
|
|
2907
|
+
|
|
2908
|
+
if (item.task) {
|
|
2909
|
+
checkbox = this.renderer.checkbox(checked);
|
|
2910
|
+
|
|
2911
|
+
if (loose) {
|
|
2912
|
+
if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') {
|
|
2913
|
+
item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;
|
|
2914
|
+
|
|
2915
|
+
if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {
|
|
2916
|
+
item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;
|
|
2917
|
+
}
|
|
2918
|
+
} else {
|
|
2919
|
+
item.tokens.unshift({
|
|
2920
|
+
type: 'text',
|
|
2921
|
+
text: checkbox
|
|
2922
|
+
});
|
|
2923
|
+
}
|
|
2924
|
+
} else {
|
|
2925
|
+
itemBody += checkbox;
|
|
2926
|
+
}
|
|
2927
|
+
}
|
|
2928
|
+
|
|
2929
|
+
itemBody += this.parse(item.tokens, loose);
|
|
2930
|
+
body += this.renderer.listitem(itemBody, task, checked);
|
|
2931
|
+
}
|
|
2932
|
+
|
|
2933
|
+
out += this.renderer.list(body, ordered, start);
|
|
2934
|
+
continue;
|
|
2935
|
+
}
|
|
2936
|
+
|
|
2937
|
+
case 'html':
|
|
2938
|
+
{
|
|
2939
|
+
// TODO parse inline content if parameter markdown=1
|
|
2940
|
+
out += this.renderer.html(token.text);
|
|
2941
|
+
continue;
|
|
2942
|
+
}
|
|
2943
|
+
|
|
2944
|
+
case 'paragraph':
|
|
2945
|
+
{
|
|
2946
|
+
out += this.renderer.paragraph(this.parseInline(token.tokens));
|
|
2947
|
+
continue;
|
|
2948
|
+
}
|
|
2949
|
+
|
|
2950
|
+
case 'text':
|
|
2951
|
+
{
|
|
2952
|
+
body = token.tokens ? this.parseInline(token.tokens) : token.text;
|
|
2953
|
+
|
|
2954
|
+
while (i + 1 < l && tokens[i + 1].type === 'text') {
|
|
2955
|
+
token = tokens[++i];
|
|
2956
|
+
body += '\n' + (token.tokens ? this.parseInline(token.tokens) : token.text);
|
|
2957
|
+
}
|
|
2958
|
+
|
|
2959
|
+
out += top ? this.renderer.paragraph(body) : body;
|
|
2960
|
+
continue;
|
|
2961
|
+
}
|
|
2962
|
+
|
|
2963
|
+
default:
|
|
2964
|
+
{
|
|
2965
|
+
var errMsg = 'Token with "' + token.type + '" type was not found.';
|
|
2966
|
+
|
|
2967
|
+
if (this.options.silent) {
|
|
2968
|
+
console.error(errMsg);
|
|
2969
|
+
return;
|
|
2970
|
+
} else {
|
|
2971
|
+
throw new Error(errMsg);
|
|
2972
|
+
}
|
|
2973
|
+
}
|
|
2974
|
+
}
|
|
2975
|
+
}
|
|
2976
|
+
|
|
2977
|
+
return out;
|
|
2978
|
+
}
|
|
2979
|
+
/**
|
|
2980
|
+
* Parse Inline Tokens
|
|
2981
|
+
*/
|
|
2982
|
+
;
|
|
2983
|
+
|
|
2984
|
+
_proto.parseInline = function parseInline(tokens, renderer) {
|
|
2985
|
+
renderer = renderer || this.renderer;
|
|
2986
|
+
var out = '',
|
|
2987
|
+
i,
|
|
2988
|
+
token,
|
|
2989
|
+
ret;
|
|
2990
|
+
var l = tokens.length;
|
|
2991
|
+
|
|
2992
|
+
for (i = 0; i < l; i++) {
|
|
2993
|
+
token = tokens[i]; // Run any renderer extensions
|
|
2994
|
+
|
|
2995
|
+
if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {
|
|
2996
|
+
ret = this.options.extensions.renderers[token.type].call({
|
|
2997
|
+
parser: this
|
|
2998
|
+
}, token);
|
|
2999
|
+
|
|
3000
|
+
if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {
|
|
3001
|
+
out += ret || '';
|
|
3002
|
+
continue;
|
|
3003
|
+
}
|
|
3004
|
+
}
|
|
3005
|
+
|
|
3006
|
+
switch (token.type) {
|
|
3007
|
+
case 'escape':
|
|
3008
|
+
{
|
|
3009
|
+
out += renderer.text(token.text);
|
|
3010
|
+
break;
|
|
3011
|
+
}
|
|
3012
|
+
|
|
3013
|
+
case 'html':
|
|
3014
|
+
{
|
|
3015
|
+
out += renderer.html(token.text);
|
|
3016
|
+
break;
|
|
3017
|
+
}
|
|
3018
|
+
|
|
3019
|
+
case 'link':
|
|
3020
|
+
{
|
|
3021
|
+
out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer));
|
|
3022
|
+
break;
|
|
3023
|
+
}
|
|
3024
|
+
|
|
3025
|
+
case 'image':
|
|
3026
|
+
{
|
|
3027
|
+
out += renderer.image(token.href, token.title, token.text);
|
|
3028
|
+
break;
|
|
3029
|
+
}
|
|
3030
|
+
|
|
3031
|
+
case 'strong':
|
|
3032
|
+
{
|
|
3033
|
+
out += renderer.strong(this.parseInline(token.tokens, renderer));
|
|
3034
|
+
break;
|
|
3035
|
+
}
|
|
3036
|
+
|
|
3037
|
+
case 'em':
|
|
3038
|
+
{
|
|
3039
|
+
out += renderer.em(this.parseInline(token.tokens, renderer));
|
|
3040
|
+
break;
|
|
3041
|
+
}
|
|
3042
|
+
|
|
3043
|
+
case 'codespan':
|
|
3044
|
+
{
|
|
3045
|
+
out += renderer.codespan(token.text);
|
|
3046
|
+
break;
|
|
3047
|
+
}
|
|
3048
|
+
|
|
3049
|
+
case 'br':
|
|
3050
|
+
{
|
|
3051
|
+
out += renderer.br();
|
|
3052
|
+
break;
|
|
3053
|
+
}
|
|
3054
|
+
|
|
3055
|
+
case 'del':
|
|
3056
|
+
{
|
|
3057
|
+
out += renderer.del(this.parseInline(token.tokens, renderer));
|
|
3058
|
+
break;
|
|
3059
|
+
}
|
|
3060
|
+
|
|
3061
|
+
case 'text':
|
|
3062
|
+
{
|
|
3063
|
+
out += renderer.text(token.text);
|
|
3064
|
+
break;
|
|
3065
|
+
}
|
|
3066
|
+
|
|
3067
|
+
default:
|
|
3068
|
+
{
|
|
3069
|
+
var errMsg = 'Token with "' + token.type + '" type was not found.';
|
|
3070
|
+
|
|
3071
|
+
if (this.options.silent) {
|
|
3072
|
+
console.error(errMsg);
|
|
3073
|
+
return;
|
|
3074
|
+
} else {
|
|
3075
|
+
throw new Error(errMsg);
|
|
3076
|
+
}
|
|
3077
|
+
}
|
|
3078
|
+
}
|
|
3079
|
+
}
|
|
3080
|
+
|
|
3081
|
+
return out;
|
|
3082
|
+
};
|
|
3083
|
+
|
|
3084
|
+
return Parser;
|
|
3085
|
+
}();
|
|
3086
|
+
|
|
3087
|
+
/**
|
|
3088
|
+
* Marked
|
|
3089
|
+
*/
|
|
3090
|
+
|
|
3091
|
+
function marked(src, opt, callback) {
|
|
3092
|
+
// throw error in case of non string input
|
|
3093
|
+
if (typeof src === 'undefined' || src === null) {
|
|
3094
|
+
throw new Error('marked(): input parameter is undefined or null');
|
|
3095
|
+
}
|
|
3096
|
+
|
|
3097
|
+
if (typeof src !== 'string') {
|
|
3098
|
+
throw new Error('marked(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');
|
|
3099
|
+
}
|
|
3100
|
+
|
|
3101
|
+
if (typeof opt === 'function') {
|
|
3102
|
+
callback = opt;
|
|
3103
|
+
opt = null;
|
|
3104
|
+
}
|
|
3105
|
+
|
|
3106
|
+
opt = merge({}, marked.defaults, opt || {});
|
|
3107
|
+
checkSanitizeDeprecation(opt);
|
|
3108
|
+
|
|
3109
|
+
if (callback) {
|
|
3110
|
+
var highlight = opt.highlight;
|
|
3111
|
+
var tokens;
|
|
3112
|
+
|
|
3113
|
+
try {
|
|
3114
|
+
tokens = Lexer.lex(src, opt);
|
|
3115
|
+
} catch (e) {
|
|
3116
|
+
return callback(e);
|
|
3117
|
+
}
|
|
3118
|
+
|
|
3119
|
+
var done = function done(err) {
|
|
3120
|
+
var out;
|
|
3121
|
+
|
|
3122
|
+
if (!err) {
|
|
3123
|
+
try {
|
|
3124
|
+
if (opt.walkTokens) {
|
|
3125
|
+
marked.walkTokens(tokens, opt.walkTokens);
|
|
3126
|
+
}
|
|
3127
|
+
|
|
3128
|
+
out = Parser.parse(tokens, opt);
|
|
3129
|
+
} catch (e) {
|
|
3130
|
+
err = e;
|
|
3131
|
+
}
|
|
3132
|
+
}
|
|
3133
|
+
|
|
3134
|
+
opt.highlight = highlight;
|
|
3135
|
+
return err ? callback(err) : callback(null, out);
|
|
3136
|
+
};
|
|
3137
|
+
|
|
3138
|
+
if (!highlight || highlight.length < 3) {
|
|
3139
|
+
return done();
|
|
3140
|
+
}
|
|
3141
|
+
|
|
3142
|
+
delete opt.highlight;
|
|
3143
|
+
if (!tokens.length) return done();
|
|
3144
|
+
var pending = 0;
|
|
3145
|
+
marked.walkTokens(tokens, function (token) {
|
|
3146
|
+
if (token.type === 'code') {
|
|
3147
|
+
pending++;
|
|
3148
|
+
setTimeout(function () {
|
|
3149
|
+
highlight(token.text, token.lang, function (err, code) {
|
|
3150
|
+
if (err) {
|
|
3151
|
+
return done(err);
|
|
3152
|
+
}
|
|
3153
|
+
|
|
3154
|
+
if (code != null && code !== token.text) {
|
|
3155
|
+
token.text = code;
|
|
3156
|
+
token.escaped = true;
|
|
3157
|
+
}
|
|
3158
|
+
|
|
3159
|
+
pending--;
|
|
3160
|
+
|
|
3161
|
+
if (pending === 0) {
|
|
3162
|
+
done();
|
|
3163
|
+
}
|
|
3164
|
+
});
|
|
3165
|
+
}, 0);
|
|
3166
|
+
}
|
|
3167
|
+
});
|
|
3168
|
+
|
|
3169
|
+
if (pending === 0) {
|
|
3170
|
+
done();
|
|
3171
|
+
}
|
|
3172
|
+
|
|
3173
|
+
return;
|
|
3174
|
+
}
|
|
3175
|
+
|
|
3176
|
+
function onError(e) {
|
|
3177
|
+
e.message += '\nPlease report this to https://github.com/markedjs/marked.';
|
|
3178
|
+
|
|
3179
|
+
if (opt.silent) {
|
|
3180
|
+
return '<p>An error occurred:</p><pre>' + escape(e.message + '', true) + '</pre>';
|
|
3181
|
+
}
|
|
3182
|
+
|
|
3183
|
+
throw e;
|
|
3184
|
+
}
|
|
3185
|
+
|
|
3186
|
+
try {
|
|
3187
|
+
var _tokens = Lexer.lex(src, opt);
|
|
3188
|
+
|
|
3189
|
+
if (opt.walkTokens) {
|
|
3190
|
+
if (opt.async) {
|
|
3191
|
+
return Promise.all(marked.walkTokens(_tokens, opt.walkTokens)).then(function () {
|
|
3192
|
+
return Parser.parse(_tokens, opt);
|
|
3193
|
+
})["catch"](onError);
|
|
3194
|
+
}
|
|
3195
|
+
|
|
3196
|
+
marked.walkTokens(_tokens, opt.walkTokens);
|
|
3197
|
+
}
|
|
3198
|
+
|
|
3199
|
+
return Parser.parse(_tokens, opt);
|
|
3200
|
+
} catch (e) {
|
|
3201
|
+
onError(e);
|
|
3202
|
+
}
|
|
3203
|
+
}
|
|
3204
|
+
/**
|
|
3205
|
+
* Options
|
|
3206
|
+
*/
|
|
3207
|
+
|
|
3208
|
+
marked.options = marked.setOptions = function (opt) {
|
|
3209
|
+
merge(marked.defaults, opt);
|
|
3210
|
+
changeDefaults(marked.defaults);
|
|
3211
|
+
return marked;
|
|
3212
|
+
};
|
|
3213
|
+
|
|
3214
|
+
marked.getDefaults = getDefaults;
|
|
3215
|
+
marked.defaults = exports.defaults;
|
|
3216
|
+
/**
|
|
3217
|
+
* Use Extension
|
|
3218
|
+
*/
|
|
3219
|
+
|
|
3220
|
+
marked.use = function () {
|
|
3221
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
3222
|
+
args[_key] = arguments[_key];
|
|
3223
|
+
}
|
|
3224
|
+
|
|
3225
|
+
var opts = merge.apply(void 0, [{}].concat(args));
|
|
3226
|
+
var extensions = marked.defaults.extensions || {
|
|
3227
|
+
renderers: {},
|
|
3228
|
+
childTokens: {}
|
|
3229
|
+
};
|
|
3230
|
+
var hasExtensions;
|
|
3231
|
+
args.forEach(function (pack) {
|
|
3232
|
+
// ==-- Parse "addon" extensions --== //
|
|
3233
|
+
if (pack.extensions) {
|
|
3234
|
+
hasExtensions = true;
|
|
3235
|
+
pack.extensions.forEach(function (ext) {
|
|
3236
|
+
if (!ext.name) {
|
|
3237
|
+
throw new Error('extension name required');
|
|
3238
|
+
}
|
|
3239
|
+
|
|
3240
|
+
if (ext.renderer) {
|
|
3241
|
+
// Renderer extensions
|
|
3242
|
+
var prevRenderer = extensions.renderers ? extensions.renderers[ext.name] : null;
|
|
3243
|
+
|
|
3244
|
+
if (prevRenderer) {
|
|
3245
|
+
// Replace extension with func to run new extension but fall back if false
|
|
3246
|
+
extensions.renderers[ext.name] = function () {
|
|
3247
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
3248
|
+
args[_key2] = arguments[_key2];
|
|
3249
|
+
}
|
|
3250
|
+
|
|
3251
|
+
var ret = ext.renderer.apply(this, args);
|
|
3252
|
+
|
|
3253
|
+
if (ret === false) {
|
|
3254
|
+
ret = prevRenderer.apply(this, args);
|
|
3255
|
+
}
|
|
3256
|
+
|
|
3257
|
+
return ret;
|
|
3258
|
+
};
|
|
3259
|
+
} else {
|
|
3260
|
+
extensions.renderers[ext.name] = ext.renderer;
|
|
3261
|
+
}
|
|
3262
|
+
}
|
|
3263
|
+
|
|
3264
|
+
if (ext.tokenizer) {
|
|
3265
|
+
// Tokenizer Extensions
|
|
3266
|
+
if (!ext.level || ext.level !== 'block' && ext.level !== 'inline') {
|
|
3267
|
+
throw new Error("extension level must be 'block' or 'inline'");
|
|
3268
|
+
}
|
|
3269
|
+
|
|
3270
|
+
if (extensions[ext.level]) {
|
|
3271
|
+
extensions[ext.level].unshift(ext.tokenizer);
|
|
3272
|
+
} else {
|
|
3273
|
+
extensions[ext.level] = [ext.tokenizer];
|
|
3274
|
+
}
|
|
3275
|
+
|
|
3276
|
+
if (ext.start) {
|
|
3277
|
+
// Function to check for start of token
|
|
3278
|
+
if (ext.level === 'block') {
|
|
3279
|
+
if (extensions.startBlock) {
|
|
3280
|
+
extensions.startBlock.push(ext.start);
|
|
3281
|
+
} else {
|
|
3282
|
+
extensions.startBlock = [ext.start];
|
|
3283
|
+
}
|
|
3284
|
+
} else if (ext.level === 'inline') {
|
|
3285
|
+
if (extensions.startInline) {
|
|
3286
|
+
extensions.startInline.push(ext.start);
|
|
3287
|
+
} else {
|
|
3288
|
+
extensions.startInline = [ext.start];
|
|
3289
|
+
}
|
|
3290
|
+
}
|
|
3291
|
+
}
|
|
3292
|
+
}
|
|
3293
|
+
|
|
3294
|
+
if (ext.childTokens) {
|
|
3295
|
+
// Child tokens to be visited by walkTokens
|
|
3296
|
+
extensions.childTokens[ext.name] = ext.childTokens;
|
|
3297
|
+
}
|
|
3298
|
+
});
|
|
3299
|
+
} // ==-- Parse "overwrite" extensions --== //
|
|
3300
|
+
|
|
3301
|
+
|
|
3302
|
+
if (pack.renderer) {
|
|
3303
|
+
(function () {
|
|
3304
|
+
var renderer = marked.defaults.renderer || new Renderer();
|
|
3305
|
+
|
|
3306
|
+
var _loop = function _loop(prop) {
|
|
3307
|
+
var prevRenderer = renderer[prop]; // Replace renderer with func to run extension, but fall back if false
|
|
3308
|
+
|
|
3309
|
+
renderer[prop] = function () {
|
|
3310
|
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
3311
|
+
args[_key3] = arguments[_key3];
|
|
3312
|
+
}
|
|
3313
|
+
|
|
3314
|
+
var ret = pack.renderer[prop].apply(renderer, args);
|
|
3315
|
+
|
|
3316
|
+
if (ret === false) {
|
|
3317
|
+
ret = prevRenderer.apply(renderer, args);
|
|
3318
|
+
}
|
|
3319
|
+
|
|
3320
|
+
return ret;
|
|
3321
|
+
};
|
|
3322
|
+
};
|
|
3323
|
+
|
|
3324
|
+
for (var prop in pack.renderer) {
|
|
3325
|
+
_loop(prop);
|
|
3326
|
+
}
|
|
340
3327
|
|
|
341
|
-
|
|
3328
|
+
opts.renderer = renderer;
|
|
3329
|
+
})();
|
|
3330
|
+
}
|
|
342
3331
|
|
|
343
|
-
|
|
3332
|
+
if (pack.tokenizer) {
|
|
3333
|
+
(function () {
|
|
3334
|
+
var tokenizer = marked.defaults.tokenizer || new Tokenizer();
|
|
344
3335
|
|
|
345
|
-
|
|
346
|
-
|
|
3336
|
+
var _loop2 = function _loop2(prop) {
|
|
3337
|
+
var prevTokenizer = tokenizer[prop]; // Replace tokenizer with func to run extension, but fall back if false
|
|
347
3338
|
|
|
348
|
-
|
|
3339
|
+
tokenizer[prop] = function () {
|
|
3340
|
+
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
3341
|
+
args[_key4] = arguments[_key4];
|
|
3342
|
+
}
|
|
349
3343
|
|
|
350
|
-
|
|
3344
|
+
var ret = pack.tokenizer[prop].apply(tokenizer, args);
|
|
351
3345
|
|
|
352
|
-
|
|
353
|
-
|
|
3346
|
+
if (ret === false) {
|
|
3347
|
+
ret = prevTokenizer.apply(tokenizer, args);
|
|
3348
|
+
}
|
|
354
3349
|
|
|
355
|
-
|
|
3350
|
+
return ret;
|
|
3351
|
+
};
|
|
3352
|
+
};
|
|
356
3353
|
|
|
357
|
-
|
|
3354
|
+
for (var prop in pack.tokenizer) {
|
|
3355
|
+
_loop2(prop);
|
|
3356
|
+
}
|
|
358
3357
|
|
|
359
|
-
|
|
360
|
-
|
|
3358
|
+
opts.tokenizer = tokenizer;
|
|
3359
|
+
})();
|
|
3360
|
+
} // ==-- Parse WalkTokens extensions --== //
|
|
361
3361
|
|
|
362
|
-
module.exports = require("core-js/modules/es.regexp.to-string");
|
|
363
3362
|
|
|
364
|
-
|
|
3363
|
+
if (pack.walkTokens) {
|
|
3364
|
+
var _walkTokens = marked.defaults.walkTokens;
|
|
365
3365
|
|
|
366
|
-
|
|
367
|
-
|
|
3366
|
+
opts.walkTokens = function (token) {
|
|
3367
|
+
var values = [];
|
|
3368
|
+
values.push(pack.walkTokens.call(this, token));
|
|
368
3369
|
|
|
369
|
-
|
|
3370
|
+
if (_walkTokens) {
|
|
3371
|
+
values = values.concat(_walkTokens.call(this, token));
|
|
3372
|
+
}
|
|
370
3373
|
|
|
371
|
-
|
|
3374
|
+
return values;
|
|
3375
|
+
};
|
|
3376
|
+
}
|
|
372
3377
|
|
|
373
|
-
|
|
374
|
-
|
|
3378
|
+
if (hasExtensions) {
|
|
3379
|
+
opts.extensions = extensions;
|
|
3380
|
+
}
|
|
375
3381
|
|
|
376
|
-
|
|
3382
|
+
marked.setOptions(opts);
|
|
3383
|
+
});
|
|
3384
|
+
};
|
|
3385
|
+
/**
|
|
3386
|
+
* Run callback for every token
|
|
3387
|
+
*/
|
|
377
3388
|
|
|
378
|
-
/***/ }),
|
|
379
3389
|
|
|
380
|
-
|
|
381
|
-
|
|
3390
|
+
marked.walkTokens = function (tokens, callback) {
|
|
3391
|
+
var values = [];
|
|
382
3392
|
|
|
383
|
-
|
|
3393
|
+
var _loop3 = function _loop3() {
|
|
3394
|
+
var token = _step.value;
|
|
3395
|
+
values = values.concat(callback.call(marked, token));
|
|
384
3396
|
|
|
385
|
-
|
|
3397
|
+
switch (token.type) {
|
|
3398
|
+
case 'table':
|
|
3399
|
+
{
|
|
3400
|
+
for (var _iterator2 = _createForOfIteratorHelperLoose(token.header), _step2; !(_step2 = _iterator2()).done;) {
|
|
3401
|
+
var cell = _step2.value;
|
|
3402
|
+
values = values.concat(marked.walkTokens(cell.tokens, callback));
|
|
3403
|
+
}
|
|
386
3404
|
|
|
387
|
-
|
|
388
|
-
|
|
3405
|
+
for (var _iterator3 = _createForOfIteratorHelperLoose(token.rows), _step3; !(_step3 = _iterator3()).done;) {
|
|
3406
|
+
var row = _step3.value;
|
|
389
3407
|
|
|
390
|
-
|
|
3408
|
+
for (var _iterator4 = _createForOfIteratorHelperLoose(row), _step4; !(_step4 = _iterator4()).done;) {
|
|
3409
|
+
var _cell = _step4.value;
|
|
3410
|
+
values = values.concat(marked.walkTokens(_cell.tokens, callback));
|
|
3411
|
+
}
|
|
3412
|
+
}
|
|
391
3413
|
|
|
392
|
-
|
|
3414
|
+
break;
|
|
3415
|
+
}
|
|
393
3416
|
|
|
394
|
-
|
|
395
|
-
|
|
3417
|
+
case 'list':
|
|
3418
|
+
{
|
|
3419
|
+
values = values.concat(marked.walkTokens(token.items, callback));
|
|
3420
|
+
break;
|
|
3421
|
+
}
|
|
396
3422
|
|
|
397
|
-
|
|
3423
|
+
default:
|
|
3424
|
+
{
|
|
3425
|
+
if (marked.defaults.extensions && marked.defaults.extensions.childTokens && marked.defaults.extensions.childTokens[token.type]) {
|
|
3426
|
+
// Walk any extensions
|
|
3427
|
+
marked.defaults.extensions.childTokens[token.type].forEach(function (childTokens) {
|
|
3428
|
+
values = values.concat(marked.walkTokens(token[childTokens], callback));
|
|
3429
|
+
});
|
|
3430
|
+
} else if (token.tokens) {
|
|
3431
|
+
values = values.concat(marked.walkTokens(token.tokens, callback));
|
|
3432
|
+
}
|
|
3433
|
+
}
|
|
3434
|
+
}
|
|
3435
|
+
};
|
|
398
3436
|
|
|
399
|
-
|
|
3437
|
+
for (var _iterator = _createForOfIteratorHelperLoose(tokens), _step; !(_step = _iterator()).done;) {
|
|
3438
|
+
_loop3();
|
|
3439
|
+
}
|
|
400
3440
|
|
|
401
|
-
|
|
402
|
-
|
|
3441
|
+
return values;
|
|
3442
|
+
};
|
|
3443
|
+
/**
|
|
3444
|
+
* Parse Inline
|
|
3445
|
+
* @param {string} src
|
|
3446
|
+
*/
|
|
403
3447
|
|
|
404
|
-
module.exports = require("element-ui/lib/locale/lang/en");
|
|
405
3448
|
|
|
406
|
-
|
|
3449
|
+
marked.parseInline = function (src, opt) {
|
|
3450
|
+
// throw error in case of non string input
|
|
3451
|
+
if (typeof src === 'undefined' || src === null) {
|
|
3452
|
+
throw new Error('marked.parseInline(): input parameter is undefined or null');
|
|
3453
|
+
}
|
|
407
3454
|
|
|
408
|
-
|
|
409
|
-
|
|
3455
|
+
if (typeof src !== 'string') {
|
|
3456
|
+
throw new Error('marked.parseInline(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');
|
|
3457
|
+
}
|
|
410
3458
|
|
|
411
|
-
|
|
3459
|
+
opt = merge({}, marked.defaults, opt || {});
|
|
3460
|
+
checkSanitizeDeprecation(opt);
|
|
412
3461
|
|
|
413
|
-
|
|
3462
|
+
try {
|
|
3463
|
+
var tokens = Lexer.lexInline(src, opt);
|
|
414
3464
|
|
|
415
|
-
|
|
416
|
-
|
|
3465
|
+
if (opt.walkTokens) {
|
|
3466
|
+
marked.walkTokens(tokens, opt.walkTokens);
|
|
3467
|
+
}
|
|
417
3468
|
|
|
418
|
-
|
|
3469
|
+
return Parser.parseInline(tokens, opt);
|
|
3470
|
+
} catch (e) {
|
|
3471
|
+
e.message += '\nPlease report this to https://github.com/markedjs/marked.';
|
|
419
3472
|
|
|
420
|
-
|
|
3473
|
+
if (opt.silent) {
|
|
3474
|
+
return '<p>An error occurred:</p><pre>' + escape(e.message + '', true) + '</pre>';
|
|
3475
|
+
}
|
|
421
3476
|
|
|
422
|
-
|
|
423
|
-
|
|
3477
|
+
throw e;
|
|
3478
|
+
}
|
|
3479
|
+
};
|
|
3480
|
+
/**
|
|
3481
|
+
* Expose
|
|
3482
|
+
*/
|
|
3483
|
+
|
|
3484
|
+
|
|
3485
|
+
marked.Parser = Parser;
|
|
3486
|
+
marked.parser = Parser.parse;
|
|
3487
|
+
marked.Renderer = Renderer;
|
|
3488
|
+
marked.TextRenderer = TextRenderer;
|
|
3489
|
+
marked.Lexer = Lexer;
|
|
3490
|
+
marked.lexer = Lexer.lex;
|
|
3491
|
+
marked.Tokenizer = Tokenizer;
|
|
3492
|
+
marked.Slugger = Slugger;
|
|
3493
|
+
marked.parse = marked;
|
|
3494
|
+
var options = marked.options;
|
|
3495
|
+
var setOptions = marked.setOptions;
|
|
3496
|
+
var use = marked.use;
|
|
3497
|
+
var walkTokens = marked.walkTokens;
|
|
3498
|
+
var parseInline = marked.parseInline;
|
|
3499
|
+
var parse = marked;
|
|
3500
|
+
var parser = Parser.parse;
|
|
3501
|
+
var lexer = Lexer.lex;
|
|
3502
|
+
|
|
3503
|
+
exports.Lexer = Lexer;
|
|
3504
|
+
exports.Parser = Parser;
|
|
3505
|
+
exports.Renderer = Renderer;
|
|
3506
|
+
exports.Slugger = Slugger;
|
|
3507
|
+
exports.TextRenderer = TextRenderer;
|
|
3508
|
+
exports.Tokenizer = Tokenizer;
|
|
3509
|
+
exports.getDefaults = getDefaults;
|
|
3510
|
+
exports.lexer = lexer;
|
|
3511
|
+
exports.marked = marked;
|
|
3512
|
+
exports.options = options;
|
|
3513
|
+
exports.parse = parse;
|
|
3514
|
+
exports.parseInline = parseInline;
|
|
3515
|
+
exports.parser = parser;
|
|
3516
|
+
exports.setOptions = setOptions;
|
|
3517
|
+
exports.use = use;
|
|
3518
|
+
exports.walkTokens = walkTokens;
|
|
3519
|
+
|
|
3520
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
3521
|
+
|
|
3522
|
+
}));
|
|
424
3523
|
|
|
425
|
-
module.exports = require("core-js/modules/es.number.constructor");
|
|
426
3524
|
|
|
427
3525
|
/***/ }),
|
|
428
3526
|
|
|
429
|
-
/***/ "
|
|
430
|
-
/***/ (function(module,
|
|
3527
|
+
/***/ "7c68":
|
|
3528
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
431
3529
|
|
|
432
|
-
|
|
3530
|
+
"use strict";
|
|
3531
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContextCard_vue_vue_type_style_index_0_id_b7364fce_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("269b");
|
|
3532
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContextCard_vue_vue_type_style_index_0_id_b7364fce_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContextCard_vue_vue_type_style_index_0_id_b7364fce_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
|
|
3533
|
+
/* unused harmony reexport * */
|
|
3534
|
+
/* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContextCard_vue_vue_type_style_index_0_id_b7364fce_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
|
|
433
3535
|
|
|
434
3536
|
/***/ }),
|
|
435
3537
|
|
|
@@ -482,6 +3584,17 @@ module.exports = require("algoliasearch");
|
|
|
482
3584
|
|
|
483
3585
|
/***/ }),
|
|
484
3586
|
|
|
3587
|
+
/***/ "8b9f":
|
|
3588
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
3589
|
+
|
|
3590
|
+
"use strict";
|
|
3591
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SideBar_vue_vue_type_style_index_0_id_9b3acd4c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("b133");
|
|
3592
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SideBar_vue_vue_type_style_index_0_id_9b3acd4c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SideBar_vue_vue_type_style_index_0_id_9b3acd4c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
|
|
3593
|
+
/* unused harmony reexport * */
|
|
3594
|
+
/* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SideBar_vue_vue_type_style_index_0_id_9b3acd4c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
|
|
3595
|
+
|
|
3596
|
+
/***/ }),
|
|
3597
|
+
|
|
485
3598
|
/***/ "8bbf":
|
|
486
3599
|
/***/ (function(module, exports) {
|
|
487
3600
|
|
|
@@ -496,17 +3609,6 @@ module.exports = require("core-js/modules/es.array.iterator");
|
|
|
496
3609
|
|
|
497
3610
|
/***/ }),
|
|
498
3611
|
|
|
499
|
-
/***/ "8e8c":
|
|
500
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
501
|
-
|
|
502
|
-
"use strict";
|
|
503
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SideBar_vue_vue_type_style_index_0_id_313390a9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("b629");
|
|
504
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SideBar_vue_vue_type_style_index_0_id_313390a9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SideBar_vue_vue_type_style_index_0_id_313390a9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
|
|
505
|
-
/* unused harmony reexport * */
|
|
506
|
-
/* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SideBar_vue_vue_type_style_index_0_id_313390a9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
|
|
507
|
-
|
|
508
|
-
/***/ }),
|
|
509
|
-
|
|
510
3612
|
/***/ "8f11":
|
|
511
3613
|
/***/ (function(module, exports) {
|
|
512
3614
|
|
|
@@ -528,6 +3630,13 @@ module.exports = require("element-ui/lib/popover");
|
|
|
528
3630
|
|
|
529
3631
|
/***/ }),
|
|
530
3632
|
|
|
3633
|
+
/***/ "9530":
|
|
3634
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
3635
|
+
|
|
3636
|
+
// extracted by mini-css-extract-plugin
|
|
3637
|
+
|
|
3638
|
+
/***/ }),
|
|
3639
|
+
|
|
531
3640
|
/***/ "9861":
|
|
532
3641
|
/***/ (function(module, exports) {
|
|
533
3642
|
|
|
@@ -556,13 +3665,6 @@ module.exports = __webpack_require__.p + "img/missing-image.1878d8b8.svg";
|
|
|
556
3665
|
|
|
557
3666
|
/***/ }),
|
|
558
3667
|
|
|
559
|
-
/***/ "a012":
|
|
560
|
-
/***/ (function(module, exports) {
|
|
561
|
-
|
|
562
|
-
module.exports = require("@abi-software/gallery/src/mixins/GalleryHelpers");
|
|
563
|
-
|
|
564
|
-
/***/ }),
|
|
565
|
-
|
|
566
3668
|
/***/ "a525":
|
|
567
3669
|
/***/ (function(module, exports) {
|
|
568
3670
|
|
|
@@ -609,6 +3711,13 @@ module.exports = require("core-js/modules/es.array.find-index");
|
|
|
609
3711
|
|
|
610
3712
|
/***/ }),
|
|
611
3713
|
|
|
3714
|
+
/***/ "b133":
|
|
3715
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
3716
|
+
|
|
3717
|
+
// extracted by mini-css-extract-plugin
|
|
3718
|
+
|
|
3719
|
+
/***/ }),
|
|
3720
|
+
|
|
612
3721
|
/***/ "b2c7":
|
|
613
3722
|
/***/ (function(module, exports) {
|
|
614
3723
|
|
|
@@ -623,24 +3732,6 @@ module.exports = require("element-ui/lib/icon");
|
|
|
623
3732
|
|
|
624
3733
|
/***/ }),
|
|
625
3734
|
|
|
626
|
-
/***/ "b629":
|
|
627
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
628
|
-
|
|
629
|
-
// extracted by mini-css-extract-plugin
|
|
630
|
-
|
|
631
|
-
/***/ }),
|
|
632
|
-
|
|
633
|
-
/***/ "b725":
|
|
634
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
635
|
-
|
|
636
|
-
"use strict";
|
|
637
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageGallery_vue_vue_type_style_index_0_id_c336c3ca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("bd01");
|
|
638
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageGallery_vue_vue_type_style_index_0_id_c336c3ca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageGallery_vue_vue_type_style_index_0_id_c336c3ca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
|
|
639
|
-
/* unused harmony reexport * */
|
|
640
|
-
/* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageGallery_vue_vue_type_style_index_0_id_c336c3ca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
|
|
641
|
-
|
|
642
|
-
/***/ }),
|
|
643
|
-
|
|
644
3735
|
/***/ "b917":
|
|
645
3736
|
/***/ (function(module, exports) {
|
|
646
3737
|
|
|
@@ -662,24 +3753,6 @@ module.exports = require("core-js/modules/web.dom-collections.for-each");
|
|
|
662
3753
|
|
|
663
3754
|
/***/ }),
|
|
664
3755
|
|
|
665
|
-
/***/ "bd01":
|
|
666
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
667
|
-
|
|
668
|
-
// extracted by mini-css-extract-plugin
|
|
669
|
-
|
|
670
|
-
/***/ }),
|
|
671
|
-
|
|
672
|
-
/***/ "bd6b":
|
|
673
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
674
|
-
|
|
675
|
-
"use strict";
|
|
676
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SidebarContent_vue_vue_type_style_index_0_id_13cf0a2e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("2ffa");
|
|
677
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SidebarContent_vue_vue_type_style_index_0_id_13cf0a2e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SidebarContent_vue_vue_type_style_index_0_id_13cf0a2e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
|
|
678
|
-
/* unused harmony reexport * */
|
|
679
|
-
/* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SidebarContent_vue_vue_type_style_index_0_id_13cf0a2e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
|
|
680
|
-
|
|
681
|
-
/***/ }),
|
|
682
|
-
|
|
683
3756
|
/***/ "be6e":
|
|
684
3757
|
/***/ (function(module, exports) {
|
|
685
3758
|
|
|
@@ -701,14 +3774,10 @@ module.exports = require("element-ui/lib/option");
|
|
|
701
3774
|
|
|
702
3775
|
/***/ }),
|
|
703
3776
|
|
|
704
|
-
/***/ "
|
|
705
|
-
/***/ (function(module,
|
|
3777
|
+
/***/ "cebe":
|
|
3778
|
+
/***/ (function(module, exports) {
|
|
706
3779
|
|
|
707
|
-
|
|
708
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DatasetCard_vue_vue_type_style_index_0_id_bf193158_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("3a70");
|
|
709
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DatasetCard_vue_vue_type_style_index_0_id_bf193158_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DatasetCard_vue_vue_type_style_index_0_id_bf193158_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
|
|
710
|
-
/* unused harmony reexport * */
|
|
711
|
-
/* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DatasetCard_vue_vue_type_style_index_0_id_bf193158_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
|
|
3780
|
+
module.exports = require("axios");
|
|
712
3781
|
|
|
713
3782
|
/***/ }),
|
|
714
3783
|
|
|
@@ -765,6 +3834,13 @@ module.exports = require("core-js/modules/es.array.unscopables.flat");
|
|
|
765
3834
|
|
|
766
3835
|
/***/ }),
|
|
767
3836
|
|
|
3837
|
+
/***/ "ef67":
|
|
3838
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
3839
|
+
|
|
3840
|
+
// extracted by mini-css-extract-plugin
|
|
3841
|
+
|
|
3842
|
+
/***/ }),
|
|
3843
|
+
|
|
768
3844
|
/***/ "efde":
|
|
769
3845
|
/***/ (function(module, exports) {
|
|
770
3846
|
|
|
@@ -813,12 +3889,12 @@ if (typeof window !== 'undefined') {
|
|
|
813
3889
|
// Indicate to webpack that this file can be concatenated
|
|
814
3890
|
/* harmony default export */ var setPublicPath = (null);
|
|
815
3891
|
|
|
816
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
3892
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"590ce1ae-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SideBar.vue?vue&type=template&id=9b3acd4c&scoped=true&
|
|
817
3893
|
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"container"},[(!_vm.drawerOpen)?_c('div',{staticClass:"open-tab",on:{"click":_vm.toggleDrawer}},[_c('i',{staticClass:"el-icon-arrow-left"})]):_vm._e(),_c('el-drawer',{staticClass:"side-bar",attrs:{"custom-class":"my-drawer","visible":_vm.drawerOpen,"appendToBody":false,"modal-append-to-body":false,"size":"550","with-header":false,"wrapperClosable":false,"modal":false},on:{"update:visible":function($event){_vm.drawerOpen=$event}}},[_c('div',{staticClass:"box-card"},[(_vm.drawerOpen)?_c('div',{staticClass:"close-tab",on:{"click":_vm.close}},[_c('i',{staticClass:"el-icon-arrow-right"})]):_vm._e(),_c('div',{staticClass:"sidebar-container"},[(_vm.tabs.length > 1)?_c('tabs',{attrs:{"tabTitles":_vm.tabs,"activeId":_vm.activeId},on:{"titleClicked":_vm.tabClicked}}):_vm._e(),_vm._l((_vm.tabs),function(tab){return [_c('sidebar-content',{directives:[{name:"show",rawName:"v-show",value:(tab.id===_vm.activeId),expression:"tab.id===activeId"}],key:tab.id,ref:tab.id,refInFor:true,staticClass:"sidebar-content-container",attrs:{"contextCardEntry":tab.contextCard,"envVars":_vm.envVars},on:{"search-changed":function($event){return _vm.searchChanged(tab.id, $event)}}})]})],2)])])],1)}
|
|
818
3894
|
var staticRenderFns = []
|
|
819
3895
|
|
|
820
3896
|
|
|
821
|
-
// CONCATENATED MODULE: ./src/components/SideBar.vue?vue&type=template&id=
|
|
3897
|
+
// CONCATENATED MODULE: ./src/components/SideBar.vue?vue&type=template&id=9b3acd4c&scoped=true&
|
|
822
3898
|
|
|
823
3899
|
// EXTERNAL MODULE: external "core-js/modules/es.symbol"
|
|
824
3900
|
var es_symbol_ = __webpack_require__("6049");
|
|
@@ -888,19 +3964,16 @@ var en_default = /*#__PURE__*/__webpack_require__.n(en_);
|
|
|
888
3964
|
var locale_ = __webpack_require__("7f9f");
|
|
889
3965
|
var locale_default = /*#__PURE__*/__webpack_require__.n(locale_);
|
|
890
3966
|
|
|
891
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
892
|
-
var
|
|
893
|
-
var
|
|
3967
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"590ce1ae-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SidebarContent.vue?vue&type=template&id=eca1cf88&scoped=true&
|
|
3968
|
+
var SidebarContentvue_type_template_id_eca1cf88_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-card',{staticClass:"content-card",attrs:{"body-style":_vm.bodyStyle}},[_c('div',{staticClass:"header",attrs:{"slot":"header"},slot:"header"},[(_vm.contextCardEntry && _vm.contextCardEnabled)?_c('context-card',{attrs:{"entry":_vm.contextCardEntry,"envVars":_vm.envVars}}):_vm._e(),_c('el-input',{staticClass:"search-input",attrs:{"placeholder":"Search","clearable":""},on:{"clear":_vm.clearSearchClicked},nativeOn:{"keyup":function($event){return _vm.searchEvent($event)}},model:{value:(_vm.searchInput),callback:function ($$v) {_vm.searchInput=$$v},expression:"searchInput"}}),_c('el-button',{staticClass:"button",on:{"click":_vm.searchEvent}},[_vm._v("Search")])],1),_c('SearchFilters',{ref:"filtersRef",staticClass:"filters",attrs:{"entry":_vm.filterEntry,"envVars":_vm.envVars},on:{"filterResults":_vm.filterUpdate,"numberPerPage":_vm.numberPerPageUpdate,"loading":_vm.filtersLoading,"cascaderReady":_vm.cascaderReady}}),_c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loadingCards),expression:"loadingCards"}],ref:"content",staticClass:"content scrollbar"},[(_vm.results.length === 0 && !_vm.loadingCards)?_c('div',{staticClass:"error-feedback"},[_vm._v("No results found - Please change your search / filter criteria.")]):_vm._e(),_vm._l((_vm.results),function(result){return _c('div',{key:result.doi,staticClass:"step-item"},[_c('DatasetCard',{attrs:{"entry":result,"envVars":_vm.envVars},on:{"contextUpdate":_vm.contextCardUpdate}})],1)}),_c('el-pagination',{staticClass:"pagination",attrs:{"current-page":_vm.page,"hide-on-single-page":"","large":"","layout":"prev, pager, next","page-size":_vm.numberPerPage,"total":_vm.numberOfHits},on:{"update:currentPage":function($event){_vm.page=$event},"update:current-page":function($event){_vm.page=$event},"current-change":_vm.pageChange}})],2)],1)}
|
|
3969
|
+
var SidebarContentvue_type_template_id_eca1cf88_scoped_true_staticRenderFns = []
|
|
894
3970
|
|
|
895
3971
|
|
|
896
|
-
// CONCATENATED MODULE: ./src/components/SidebarContent.vue?vue&type=template&id=
|
|
3972
|
+
// CONCATENATED MODULE: ./src/components/SidebarContent.vue?vue&type=template&id=eca1cf88&scoped=true&
|
|
897
3973
|
|
|
898
3974
|
// EXTERNAL MODULE: external "core-js/modules/es.array.find-index"
|
|
899
3975
|
var es_array_find_index_ = __webpack_require__("aecd");
|
|
900
3976
|
|
|
901
|
-
// EXTERNAL MODULE: external "core-js/modules/es.array.includes"
|
|
902
|
-
var es_array_includes_ = __webpack_require__("ab7e");
|
|
903
|
-
|
|
904
3977
|
// EXTERNAL MODULE: external "core-js/modules/es.array.iterator"
|
|
905
3978
|
var es_array_iterator_ = __webpack_require__("8c84");
|
|
906
3979
|
|
|
@@ -931,9 +4004,6 @@ var es_regexp_to_string_ = __webpack_require__("5fef");
|
|
|
931
4004
|
// EXTERNAL MODULE: external "core-js/modules/es.set"
|
|
932
4005
|
var es_set_ = __webpack_require__("47ff");
|
|
933
4006
|
|
|
934
|
-
// EXTERNAL MODULE: external "core-js/modules/es.string.includes"
|
|
935
|
-
var es_string_includes_ = __webpack_require__("fd48");
|
|
936
|
-
|
|
937
4007
|
// EXTERNAL MODULE: external "core-js/modules/es.string.iterator"
|
|
938
4008
|
var es_string_iterator_ = __webpack_require__("907b");
|
|
939
4009
|
|
|
@@ -1069,7 +4139,7 @@ var button_css_ = __webpack_require__("26bc");
|
|
|
1069
4139
|
var button_ = __webpack_require__("5d8c");
|
|
1070
4140
|
var button_default = /*#__PURE__*/__webpack_require__.n(button_);
|
|
1071
4141
|
|
|
1072
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
4142
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"590ce1ae-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SearchFilters.vue?vue&type=template&id=7f7ea160&scoped=true&
|
|
1073
4143
|
var SearchFiltersvue_type_template_id_7f7ea160_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"filters"},[_c('map-svg-sprite-color'),_c('transition',{attrs:{"name":"el-zoom-in-top"}},[_c('span',{directives:[{name:"show",rawName:"v-show",value:(_vm.showFilters),expression:"showFilters"}],staticClass:"search-filters transition-box"},[_c('custom-cascader',{ref:"cascader",staticClass:"cascader",attrs:{"placeholder":"","collapse-tags":true,"options":_vm.options,"props":_vm.props,"show-all-levels":false,"append-to-body":false},on:{"change":function($event){return _vm.cascadeEvent($event)},"expand-change":_vm.cascadeExpandChange,"tags-changed":_vm.tagsChangedCallback},model:{value:(_vm.cascadeSelected),callback:function ($$v) {_vm.cascadeSelected=$$v},expression:"cascadeSelected"}}),(_vm.showFiltersText)?_c('div',{staticClass:"filter-default-value"},[_vm._v(" Filters ")]):_vm._e(),_c('el-popover',{attrs:{"title":"How do filters work?","width":"250","trigger":"hover","append-to-body":false,"popper-class":"popover"}},[_c('map-svg-icon',{staticClass:"help",attrs:{"slot":"reference","icon":"help"},slot:"reference"}),_c('div',[_c('strong',[_vm._v("Within categories:")]),_vm._v(" OR "),_c('br'),_vm._v(" example: 'heart' OR 'colon' "),_c('br'),_c('br'),_c('strong',[_vm._v("Between categories:")]),_vm._v(" AND "),_c('br'),_vm._v(" example: 'rat' AND 'lung' ")])],1)],1)]),_c('el-select',{staticClass:"number-shown-select",attrs:{"placeholder":"10"},on:{"change":function($event){return _vm.numberShownChanged($event)}},model:{value:(_vm.numberShown),callback:function ($$v) {_vm.numberShown=$$v},expression:"numberShown"}},_vm._l((_vm.numberDatasetsShown),function(item){return _c('el-option',{key:item,attrs:{"label":item,"value":item}})}),1),_c('span',{staticClass:"dataset-results-feedback"},[_vm._v(_vm._s(this.numberOfResultsText))])],1)}
|
|
1074
4144
|
var SearchFiltersvue_type_template_id_7f7ea160_scoped_true_staticRenderFns = []
|
|
1075
4145
|
|
|
@@ -1079,6 +4149,9 @@ var SearchFiltersvue_type_template_id_7f7ea160_scoped_true_staticRenderFns = []
|
|
|
1079
4149
|
// EXTERNAL MODULE: external "core-js/modules/es.array.find"
|
|
1080
4150
|
var es_array_find_ = __webpack_require__("fe0e");
|
|
1081
4151
|
|
|
4152
|
+
// EXTERNAL MODULE: external "core-js/modules/es.array.includes"
|
|
4153
|
+
var es_array_includes_ = __webpack_require__("ab7e");
|
|
4154
|
+
|
|
1082
4155
|
// EXTERNAL MODULE: external "core-js/modules/es.array.slice"
|
|
1083
4156
|
var es_array_slice_ = __webpack_require__("6579");
|
|
1084
4157
|
|
|
@@ -1091,6 +4164,9 @@ var es_array_splice_ = __webpack_require__("7c81");
|
|
|
1091
4164
|
// EXTERNAL MODULE: external "core-js/modules/es.promise.finally"
|
|
1092
4165
|
var es_promise_finally_ = __webpack_require__("f96d");
|
|
1093
4166
|
|
|
4167
|
+
// EXTERNAL MODULE: external "core-js/modules/es.string.includes"
|
|
4168
|
+
var es_string_includes_ = __webpack_require__("fd48");
|
|
4169
|
+
|
|
1094
4170
|
// EXTERNAL MODULE: external "core-js/modules/es.string.replace"
|
|
1095
4171
|
var es_string_replace_ = __webpack_require__("bfab");
|
|
1096
4172
|
|
|
@@ -1522,10 +4598,10 @@ function () {
|
|
|
1522
4598
|
newResult = _objectSpread({}, res);
|
|
1523
4599
|
newResult = {
|
|
1524
4600
|
doi: res.item.curie.split(':')[1],
|
|
1525
|
-
name: res.item.name,
|
|
1526
|
-
description: res.item.description,
|
|
1527
|
-
updated: res.pennsieve.updatedAt,
|
|
1528
|
-
publishDate: res.pennsieve.publishDate,
|
|
4601
|
+
name: res.item.dataset.name,
|
|
4602
|
+
description: res.item.dataset.description,
|
|
4603
|
+
updated: res.pennsieve ? res.pennsieve.updatedAt : 'Unkown',
|
|
4604
|
+
publishDate: res.pennsieve ? res.pennsieve.publishDate : 'Uknown',
|
|
1529
4605
|
datasetId: res.objectID,
|
|
1530
4606
|
detailsReady: false
|
|
1531
4607
|
};
|
|
@@ -1602,14 +4678,21 @@ function () {
|
|
|
1602
4678
|
hitsPerPage: hitsperPage,
|
|
1603
4679
|
page: page - 1,
|
|
1604
4680
|
filters: filter,
|
|
1605
|
-
attributesToHighlight: []
|
|
1606
|
-
|
|
4681
|
+
attributesToHighlight: [] // attributesToRetrieve: [
|
|
4682
|
+
// 'pennsieve.publishDate',
|
|
4683
|
+
// 'pennsieve.updatedAt',
|
|
4684
|
+
// 'item.curie',
|
|
4685
|
+
// 'item.name',
|
|
4686
|
+
// 'item.description',
|
|
4687
|
+
// 'objectID',
|
|
4688
|
+
// ],
|
|
4689
|
+
|
|
1607
4690
|
}).then(function (response) {
|
|
1608
4691
|
var searchData = {
|
|
1609
4692
|
items: _this3._processResultsForCards(response.hits),
|
|
1610
4693
|
total: response.nbHits,
|
|
1611
4694
|
discoverIds: response.hits.map(function (r) {
|
|
1612
|
-
return r.pennsieve.identifier;
|
|
4695
|
+
return r.pennsieve ? r.pennsieve.identifier : undefined;
|
|
1613
4696
|
}),
|
|
1614
4697
|
dois: response.hits.map(function (r) {
|
|
1615
4698
|
return r.item.curie.split(':')[1];
|
|
@@ -2274,14 +5357,14 @@ var SearchFilters_component = normalizeComponent(
|
|
|
2274
5357
|
)
|
|
2275
5358
|
|
|
2276
5359
|
/* harmony default export */ var SearchFilters = (SearchFilters_component.exports);
|
|
2277
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
2278
|
-
var
|
|
2279
|
-
var
|
|
5360
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"590ce1ae-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/DatasetCard.vue?vue&type=template&id=37eaa59d&scoped=true&
|
|
5361
|
+
var DatasetCardvue_type_template_id_37eaa59d_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"container",staticClass:"dataset-card-container"},[_c('div',{ref:"card",staticClass:"dataset-card"},[_c('div',{staticClass:"seperator-path"}),_c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],staticClass:"card"},[_c('span',{staticClass:"card-left"},[(!_vm.loading)?_c('image-gallery',{attrs:{"datasetId":String(_vm.discoverId),"datasetVersion":_vm.version,"entry":_vm.entry,"envVars":_vm.envVars,"label":_vm.label,"datasetThumbnail":_vm.thumbnail,"dataset-biolucida":_vm.biolucidaData,"category":_vm.currentCategory},on:{"card-clicked":_vm.galleryClicked}}):_vm._e()],1),_c('div',{staticClass:"card-right"},[_c('div',{staticClass:"title",on:{"click":_vm.cardClicked}},[_vm._v(_vm._s(_vm.entry.name))]),_c('div',{staticClass:"details"},[_vm._v(_vm._s(_vm.contributors)+" "+_vm._s(_vm.entry.publishDate ? ("(" + _vm.publishYear + ")") : ''))]),_c('div',{staticClass:"details"},[_vm._v(_vm._s(_vm.samples))]),(!_vm.entry.detailsReady)?_c('div',{directives:[{name:"loading",rawName:"v-loading",value:(!_vm.entry.detailsReady),expression:"!entry.detailsReady"}],staticClass:"details loading-icon"}):_vm._e(),_c('div',[(_vm.entry.simulation)?_c('el-button',{staticClass:"button",attrs:{"size":"mini","icon":"el-icon-view"},on:{"click":_vm.openRepository}},[_vm._v("View repository")]):_vm._e()],1),_c('div',{staticClass:"badges-container"},[_c('badges-group',{attrs:{"entry":_vm.entry,"dataset-biolucida":_vm.biolucidaData},on:{"categoryChanged":_vm.categoryChanged}})],1)])])])])}
|
|
5362
|
+
var DatasetCardvue_type_template_id_37eaa59d_scoped_true_staticRenderFns = []
|
|
2280
5363
|
|
|
2281
5364
|
|
|
2282
|
-
// CONCATENATED MODULE: ./src/components/DatasetCard.vue?vue&type=template&id=
|
|
5365
|
+
// CONCATENATED MODULE: ./src/components/DatasetCard.vue?vue&type=template&id=37eaa59d&scoped=true&
|
|
2283
5366
|
|
|
2284
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
5367
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"590ce1ae-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/BadgesGroup.vue?vue&type=template&id=712c1be9&scoped=true&
|
|
2285
5368
|
var BadgesGroupvue_type_template_id_712c1be9_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.categories['All'].size > 1)?_c('div',{ref:"container",staticClass:"container"},[_c('div',[_vm._v(" View data types: ")]),_vm._l((_vm.categories),function(item,key){return [(item.size > 0)?_c('el-button',{key:key,class:[{ 'active': key == _vm.active},'tag-button'],attrs:{"size":"small"},on:{"click":function($event){return _vm.categoryClicked(key)}}},[_vm._v(_vm._s(key + " (" + item.size + ")")+" ")]):_vm._e()]})],2):_vm._e()}
|
|
2286
5369
|
var BadgesGroupvue_type_template_id_712c1be9_scoped_true_staticRenderFns = []
|
|
2287
5370
|
|
|
@@ -2431,12 +5514,12 @@ var BadgesGroup_component = normalizeComponent(
|
|
|
2431
5514
|
|
|
2432
5515
|
var EventBus = new external_vue_default.a();
|
|
2433
5516
|
/* harmony default export */ var components_EventBus = (EventBus);
|
|
2434
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
2435
|
-
var
|
|
2436
|
-
var
|
|
5517
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"590ce1ae-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ImageGallery.vue?vue&type=template&id=5d1b779c&scoped=true&
|
|
5518
|
+
var ImageGalleryvue_type_template_id_5d1b779c_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"full-size"},[_c('gallery',{ref:"gallery",attrs:{"bottomSpacer":_vm.bottomSpacer,"cardWidth":10,"items":_vm.galleryItems,"max-width":_vm.maxWidth,"show-indicator-bar":false,"show-card-details":true,"highlight-active":false,"image-style":_vm.imageStyle,"image-container-style":_vm.imageContainerStyle,"body-style":_vm.bodyStyle,"shadow":_vm.shadow},on:{"card-clicked":_vm.cardClicked}})],1)}
|
|
5519
|
+
var ImageGalleryvue_type_template_id_5d1b779c_scoped_true_staticRenderFns = []
|
|
2437
5520
|
|
|
2438
5521
|
|
|
2439
|
-
// CONCATENATED MODULE: ./src/components/ImageGallery.vue?vue&type=template&id=
|
|
5522
|
+
// CONCATENATED MODULE: ./src/components/ImageGallery.vue?vue&type=template&id=5d1b779c&scoped=true&
|
|
2440
5523
|
|
|
2441
5524
|
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
|
|
2442
5525
|
|
|
@@ -2483,10 +5566,160 @@ function _iterableToArrayLimit(arr, i) {
|
|
|
2483
5566
|
function _slicedToArray(arr, i) {
|
|
2484
5567
|
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
|
|
2485
5568
|
}
|
|
2486
|
-
// EXTERNAL MODULE: external "
|
|
2487
|
-
var
|
|
2488
|
-
var
|
|
5569
|
+
// EXTERNAL MODULE: external "axios"
|
|
5570
|
+
var external_axios_ = __webpack_require__("cebe");
|
|
5571
|
+
var external_axios_default = /*#__PURE__*/__webpack_require__.n(external_axios_);
|
|
5572
|
+
|
|
5573
|
+
// CONCATENATED MODULE: ./src/mixins/GalleryHelpers.js
|
|
5574
|
+
|
|
5575
|
+
|
|
5576
|
+
|
|
5577
|
+
|
|
5578
|
+
|
|
5579
|
+
|
|
5580
|
+
|
|
5581
|
+
|
|
5582
|
+
|
|
5583
|
+
|
|
5584
|
+
/* harmony default export */ var GalleryHelpers = ({
|
|
5585
|
+
//this mixin is not used by this code base but it can be used by other
|
|
5586
|
+
//projects to get a handle to various resources
|
|
5587
|
+
data: function data() {
|
|
5588
|
+
return {
|
|
5589
|
+
defaultImg: __webpack_require__("6328")
|
|
5590
|
+
};
|
|
5591
|
+
},
|
|
5592
|
+
methods: {
|
|
5593
|
+
getRequest: function () {
|
|
5594
|
+
var _getRequest = _asyncToGenerator(
|
|
5595
|
+
/*#__PURE__*/
|
|
5596
|
+
regeneratorRuntime.mark(function _callee(url, params, timeout) {
|
|
5597
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
5598
|
+
while (1) {
|
|
5599
|
+
switch (_context.prev = _context.next) {
|
|
5600
|
+
case 0:
|
|
5601
|
+
_context.next = 2;
|
|
5602
|
+
return external_axios_default()({
|
|
5603
|
+
method: 'get',
|
|
5604
|
+
url: url,
|
|
5605
|
+
params: params,
|
|
5606
|
+
timeout: timeout
|
|
5607
|
+
});
|
|
5608
|
+
|
|
5609
|
+
case 2:
|
|
5610
|
+
return _context.abrupt("return", _context.sent);
|
|
5611
|
+
|
|
5612
|
+
case 3:
|
|
5613
|
+
case "end":
|
|
5614
|
+
return _context.stop();
|
|
5615
|
+
}
|
|
5616
|
+
}
|
|
5617
|
+
}, _callee);
|
|
5618
|
+
}));
|
|
5619
|
+
|
|
5620
|
+
function getRequest(_x, _x2, _x3) {
|
|
5621
|
+
return _getRequest.apply(this, arguments);
|
|
5622
|
+
}
|
|
5623
|
+
|
|
5624
|
+
return getRequest;
|
|
5625
|
+
}(),
|
|
2489
5626
|
|
|
5627
|
+
/**
|
|
5628
|
+
* Returns a file path for S3.
|
|
5629
|
+
* @param {String} dataset_id dataset id.
|
|
5630
|
+
* @param {String} dataset_version dataset version.
|
|
5631
|
+
* @param {String} file_path file path.
|
|
5632
|
+
* @returns {String} full path to S3 file.
|
|
5633
|
+
*/
|
|
5634
|
+
getS3FilePath: function getS3FilePath(dataset_id, dataset_version, file_path) {
|
|
5635
|
+
var encoded_file_path = encodeURIComponent(file_path);
|
|
5636
|
+
return "".concat(dataset_id, "/").concat(dataset_version, "/files/").concat(encoded_file_path);
|
|
5637
|
+
},
|
|
5638
|
+
|
|
5639
|
+
/**
|
|
5640
|
+
* Find data path in the array that matches the provide path
|
|
5641
|
+
*/
|
|
5642
|
+
findEntryWithPathInArray: function findEntryWithPathInArray(array, path) {
|
|
5643
|
+
if (path && array) {
|
|
5644
|
+
for (var i = 0; i < array.length; i++) {
|
|
5645
|
+
if (path === array[i].dataset.path) return array[i];
|
|
5646
|
+
}
|
|
5647
|
+
}
|
|
5648
|
+
|
|
5649
|
+
return undefined;
|
|
5650
|
+
},
|
|
5651
|
+
getThumbnailForPlot: function getThumbnailForPlot(plot, thumbnails) {
|
|
5652
|
+
if (thumbnails && plot) {
|
|
5653
|
+
return this.findEntryWithPathInArray(thumbnails, plot.datacite.isSourceOf.path[0]);
|
|
5654
|
+
}
|
|
5655
|
+
|
|
5656
|
+
return undefined;
|
|
5657
|
+
},
|
|
5658
|
+
|
|
5659
|
+
/**
|
|
5660
|
+
* Use the scaffoldViews to help with finding the correct thumbnails.
|
|
5661
|
+
* Use the index if the workflow stated above fails.
|
|
5662
|
+
*/
|
|
5663
|
+
getThumbnailForScaffold: function getThumbnailForScaffold(scaffold, scaffoldViews, thumbnails, index) {
|
|
5664
|
+
if (thumbnails && thumbnails.length > 0) {
|
|
5665
|
+
var thumbnail = undefined;
|
|
5666
|
+
|
|
5667
|
+
if (scaffold && scaffoldViews) {
|
|
5668
|
+
var view = this.findEntryWithPathInArray(scaffoldViews, scaffold.datacite.isSourceOf.path[0]);
|
|
5669
|
+
|
|
5670
|
+
if (view) {
|
|
5671
|
+
thumbnail = this.findEntryWithPathInArray(thumbnails, view.datacite.isSourceOf.path[0]);
|
|
5672
|
+
}
|
|
5673
|
+
}
|
|
5674
|
+
|
|
5675
|
+
if (thumbnail) {
|
|
5676
|
+
return thumbnail;
|
|
5677
|
+
} else if (index < thumbnails.length) {
|
|
5678
|
+
return thumbnails[index];
|
|
5679
|
+
}
|
|
5680
|
+
}
|
|
5681
|
+
|
|
5682
|
+
return undefined;
|
|
5683
|
+
},
|
|
5684
|
+
getImageURLFromS3: function getImageURLFromS3(apiEndpoint, info) {
|
|
5685
|
+
return "".concat(apiEndpoint, "/s3-resource/").concat(info.datasetId, "/").concat(info.datasetVersion, "/files/").concat(info.file_path, "?encodeBase64=true");
|
|
5686
|
+
},
|
|
5687
|
+
getSegmentationThumbnailURL: function getSegmentationThumbnailURL(apiEndpoint, info) {
|
|
5688
|
+
var endpoint = "".concat(apiEndpoint, "/thumbnail/neurolucida");
|
|
5689
|
+
endpoint = endpoint + "?datasetId=".concat(info.datasetId);
|
|
5690
|
+
endpoint = endpoint + "&version=".concat(info.datasetVersion);
|
|
5691
|
+
endpoint = endpoint + "&path=files/".concat(info.segmentationFilePath);
|
|
5692
|
+
return endpoint;
|
|
5693
|
+
},
|
|
5694
|
+
getThumbnailURLFromBiolucida: function getThumbnailURLFromBiolucida(apiEndpoint, info) {
|
|
5695
|
+
return "".concat(apiEndpoint, "/thumbnail/").concat(info.id);
|
|
5696
|
+
},
|
|
5697
|
+
getImageInfoFromBiolucida: function getImageInfoFromBiolucida(apiEndpoint, items, info) {
|
|
5698
|
+
var _this = this;
|
|
5699
|
+
|
|
5700
|
+
var endpoint = "".concat(apiEndpoint, "/image/").concat(info.id);
|
|
5701
|
+
var params = {};
|
|
5702
|
+
this.getRequest(endpoint, params, 20000).then(function (response) {
|
|
5703
|
+
var item = items.find(function (x) {
|
|
5704
|
+
return x.id === info.id;
|
|
5705
|
+
});
|
|
5706
|
+
var name = response.name;
|
|
5707
|
+
|
|
5708
|
+
if (name) {
|
|
5709
|
+
item.title = name;
|
|
5710
|
+
}
|
|
5711
|
+
}, function (reason) {
|
|
5712
|
+
if (reason.message.includes('timeout') && reason.message.includes('exceeded') && info.fetchAttempts < 3) {
|
|
5713
|
+
info.fetchAttempts += 1;
|
|
5714
|
+
|
|
5715
|
+
_this.getImageInfoFromBiolucida(apiEndpoint, items, info);
|
|
5716
|
+
}
|
|
5717
|
+
|
|
5718
|
+
return Promise.reject('Maximum iterations reached.');
|
|
5719
|
+
});
|
|
5720
|
+
}
|
|
5721
|
+
}
|
|
5722
|
+
});
|
|
2490
5723
|
// EXTERNAL MODULE: external "@abi-software/gallery"
|
|
2491
5724
|
var gallery_ = __webpack_require__("3a09");
|
|
2492
5725
|
var gallery_default = /*#__PURE__*/__webpack_require__.n(gallery_);
|
|
@@ -2551,7 +5784,7 @@ var ImageGalleryvue_type_script_lang_js_capitalise = function capitalise(string)
|
|
|
2551
5784
|
components: {
|
|
2552
5785
|
Gallery: gallery_default.a
|
|
2553
5786
|
},
|
|
2554
|
-
mixins: [
|
|
5787
|
+
mixins: [GalleryHelpers],
|
|
2555
5788
|
props: {
|
|
2556
5789
|
datasetBiolucida: {
|
|
2557
5790
|
type: Object,
|
|
@@ -2574,8 +5807,8 @@ var ImageGalleryvue_type_script_lang_js_capitalise = function capitalise(string)
|
|
|
2574
5807
|
}
|
|
2575
5808
|
},
|
|
2576
5809
|
datasetId: {
|
|
2577
|
-
type:
|
|
2578
|
-
default:
|
|
5810
|
+
type: String,
|
|
5811
|
+
default: ""
|
|
2579
5812
|
},
|
|
2580
5813
|
datasetVersion: {
|
|
2581
5814
|
type: Number,
|
|
@@ -2750,7 +5983,6 @@ var ImageGalleryvue_type_script_lang_js_capitalise = function capitalise(string)
|
|
|
2750
5983
|
var _this3 = this;
|
|
2751
5984
|
|
|
2752
5985
|
if (this.entry.scaffolds) {
|
|
2753
|
-
window.entry = this.entry;
|
|
2754
5986
|
var index = 0;
|
|
2755
5987
|
this.entry.scaffolds.forEach(function (scaffold, i) {
|
|
2756
5988
|
var filePath = scaffold.dataset.path;
|
|
@@ -2762,12 +5994,7 @@ var ImageGalleryvue_type_script_lang_js_capitalise = function capitalise(string)
|
|
|
2762
5994
|
var thumbnailURL = undefined;
|
|
2763
5995
|
|
|
2764
5996
|
if (thumbnail) {
|
|
2765
|
-
thumbnailURL =
|
|
2766
|
-
id: id,
|
|
2767
|
-
datasetId: _this3.datasetId,
|
|
2768
|
-
datasetVersion: _this3.datasetVersion,
|
|
2769
|
-
file_path: thumbnail.dataset.path
|
|
2770
|
-
});
|
|
5997
|
+
thumbnailURL = "".concat(_this3.envVars.API_LOCATION, "s3-resource/").concat(_this3.datasetId, "/").concat(_this3.datasetVersion, "/files/").concat(filePath);
|
|
2771
5998
|
mimetype = thumbnail.mimetype.name;
|
|
2772
5999
|
}
|
|
2773
6000
|
|
|
@@ -2885,7 +6112,7 @@ var ImageGalleryvue_type_script_lang_js_capitalise = function capitalise(string)
|
|
|
2885
6112
|
return undefined;
|
|
2886
6113
|
} else {
|
|
2887
6114
|
// The line below checks if there is a context file for each scaffold. If there is not, we use the first context card for each scaffold.
|
|
2888
|
-
var contextIndex = this.entry
|
|
6115
|
+
var contextIndex = this.entry.contextualInformation.length == this.entry.scaffolds.length ? scaffoldIndex : 0;
|
|
2889
6116
|
return "".concat(this.envVars.API_LOCATION, "s3-resource/").concat(this.datasetId, "/").concat(this.datasetVersion, "/files/").concat(this.entry.contextualInformation[contextIndex]);
|
|
2890
6117
|
}
|
|
2891
6118
|
}
|
|
@@ -2973,8 +6200,8 @@ var ImageGalleryvue_type_script_lang_js_capitalise = function capitalise(string)
|
|
|
2973
6200
|
});
|
|
2974
6201
|
// CONCATENATED MODULE: ./src/components/ImageGallery.vue?vue&type=script&lang=js&
|
|
2975
6202
|
/* harmony default export */ var components_ImageGalleryvue_type_script_lang_js_ = (ImageGalleryvue_type_script_lang_js_);
|
|
2976
|
-
// EXTERNAL MODULE: ./src/components/ImageGallery.vue?vue&type=style&index=0&id=
|
|
2977
|
-
var
|
|
6203
|
+
// EXTERNAL MODULE: ./src/components/ImageGallery.vue?vue&type=style&index=0&id=5d1b779c&scoped=true&lang=css&
|
|
6204
|
+
var ImageGalleryvue_type_style_index_0_id_5d1b779c_scoped_true_lang_css_ = __webpack_require__("2da3");
|
|
2978
6205
|
|
|
2979
6206
|
// CONCATENATED MODULE: ./src/components/ImageGallery.vue
|
|
2980
6207
|
|
|
@@ -2987,11 +6214,11 @@ var ImageGalleryvue_type_style_index_0_id_c336c3ca_scoped_true_lang_css_ = __web
|
|
|
2987
6214
|
|
|
2988
6215
|
var ImageGallery_component = normalizeComponent(
|
|
2989
6216
|
components_ImageGalleryvue_type_script_lang_js_,
|
|
2990
|
-
|
|
2991
|
-
|
|
6217
|
+
ImageGalleryvue_type_template_id_5d1b779c_scoped_true_render,
|
|
6218
|
+
ImageGalleryvue_type_template_id_5d1b779c_scoped_true_staticRenderFns,
|
|
2992
6219
|
false,
|
|
2993
6220
|
null,
|
|
2994
|
-
"
|
|
6221
|
+
"5d1b779c",
|
|
2995
6222
|
null
|
|
2996
6223
|
|
|
2997
6224
|
)
|
|
@@ -3206,8 +6433,11 @@ external_vue_default.a.use(icon_default.a);
|
|
|
3206
6433
|
getBanner: function getBanner() {
|
|
3207
6434
|
var _this = this;
|
|
3208
6435
|
|
|
3209
|
-
//
|
|
3210
|
-
if (this.
|
|
6436
|
+
// NOTE! This getBanner uses the pennsieve api to retrive the banner. Only use for curation!
|
|
6437
|
+
if (this.entry.datasetId.length > 4) {
|
|
6438
|
+
this.loading = true;
|
|
6439
|
+
this.getPennsieveBanner();
|
|
6440
|
+
} else if (this.lastDoi !== this.entry.doi) {
|
|
3211
6441
|
this.lastDoi = this.entry.doi;
|
|
3212
6442
|
this.loading = true;
|
|
3213
6443
|
var doi = this.splitDOI(this.entry.doi);
|
|
@@ -3222,9 +6452,7 @@ external_vue_default.a.use(icon_default.a);
|
|
|
3222
6452
|
_this.discoverId = data.id;
|
|
3223
6453
|
_this.version = data.version;
|
|
3224
6454
|
_this.dataLocation = "https://sparc.science/datasets/".concat(data.id, "?type=dataset");
|
|
3225
|
-
|
|
3226
|
-
_this.getBiolucidaInfo(_this.discoverId);
|
|
3227
|
-
|
|
6455
|
+
if (_this.discoverId.length < 5) _this.getBiolucidaInfo(_this.discoverId);
|
|
3228
6456
|
_this.loading = false;
|
|
3229
6457
|
}).catch(function () {
|
|
3230
6458
|
//set defaults if we hit an error
|
|
@@ -3234,11 +6462,81 @@ external_vue_default.a.use(icon_default.a);
|
|
|
3234
6462
|
});
|
|
3235
6463
|
}
|
|
3236
6464
|
},
|
|
6465
|
+
getPennsieveBanner: function getPennsieveBanner() {
|
|
6466
|
+
var _this2 = this;
|
|
6467
|
+
|
|
6468
|
+
// authenticate with pennsieve
|
|
6469
|
+
fetch('https://cognito-idp.us-east-1.amazonaws.com/', {
|
|
6470
|
+
method: 'POST',
|
|
6471
|
+
headers: {
|
|
6472
|
+
'Accept': 'application/json, text/plain, */*',
|
|
6473
|
+
'Content-Type': 'application/x-amz-json-1.1',
|
|
6474
|
+
'X-Amz-Target': 'AWSCognitoIdentityProviderService.InitiateAuth',
|
|
6475
|
+
'X-Amz-User-Agent': 'aws-amplify/0.1.x js'
|
|
6476
|
+
},
|
|
6477
|
+
body: JSON.stringify({
|
|
6478
|
+
"AuthFlow": "USER_PASSWORD_AUTH",
|
|
6479
|
+
"ClientId": "670mo7si81pcc3sfub7o1914d8",
|
|
6480
|
+
"AuthParameters": {
|
|
6481
|
+
"USERNAME": "jessekhorasanee@gmail.com",
|
|
6482
|
+
"PASSWORD": "Asameswayhey@666",
|
|
6483
|
+
"DEVICE_KEY": "us-east-1_0d4e8de7-6079-470d-bedd-62043ba70f7e"
|
|
6484
|
+
},
|
|
6485
|
+
"ClientMetadata": {}
|
|
6486
|
+
})
|
|
6487
|
+
}).then(function (res) {
|
|
6488
|
+
return res.json();
|
|
6489
|
+
}).then(function (res) {
|
|
6490
|
+
console.log(res);
|
|
6491
|
+
var token = res.AuthenticationResult.AccessToken;
|
|
6492
|
+
var proxy = "".concat(_this2.envVars.API_LOCATION, "proxy/?url="); // set up proxy
|
|
6493
|
+
// call pennsieve api via proxy
|
|
6494
|
+
|
|
6495
|
+
fetch("".concat(proxy, "https://api.pennsieve.io/datasets/N%3Adataset%3A").concat(_this2.entry.datasetId, "/banner?api_key=").concat(token)).then(function (res) {
|
|
6496
|
+
return res.json();
|
|
6497
|
+
}).then(function (res) {
|
|
6498
|
+
console.log('success!');
|
|
6499
|
+
_this2.thumbnail = res.banner;
|
|
6500
|
+
_this2.discoverId = _this2.entry.datasetId;
|
|
6501
|
+
_this2.loading = false;
|
|
6502
|
+
});
|
|
6503
|
+
});
|
|
6504
|
+
},
|
|
6505
|
+
// getBanner: function () {
|
|
6506
|
+
// // Only load banner if card has changed
|
|
6507
|
+
// if (this.lastDoi !== this.entry.doi) {
|
|
6508
|
+
// this.lastDoi = this.entry.doi
|
|
6509
|
+
// this.loading = true
|
|
6510
|
+
// let doi = this.splitDOI(this.entry.doi)
|
|
6511
|
+
// fetch(`${this.envVars.PENNSIEVE_API_LOCATION}/discover/datasets/doi/${doi[0]}/${doi[1]}`)
|
|
6512
|
+
// .then((response) =>{
|
|
6513
|
+
// if (!response.ok){
|
|
6514
|
+
// throw Error(response.statusText)
|
|
6515
|
+
// } else {
|
|
6516
|
+
// return response.json()
|
|
6517
|
+
// }
|
|
6518
|
+
// })
|
|
6519
|
+
// .then((data) => {
|
|
6520
|
+
// this.thumbnail = data.banner
|
|
6521
|
+
// this.discoverId = data.id
|
|
6522
|
+
// this.version = data.version
|
|
6523
|
+
// this.dataLocation = `https://sparc.science/datasets/${data.id}?type=dataset`
|
|
6524
|
+
// this.getBiolucidaInfo(this.discoverId)
|
|
6525
|
+
// this.loading = false
|
|
6526
|
+
// })
|
|
6527
|
+
// .catch(() => {
|
|
6528
|
+
// //set defaults if we hit an error
|
|
6529
|
+
// this.thumbnail = require('@/../assets/missing-image.svg')
|
|
6530
|
+
// this.discoverId = Number(this.entry.datasetId)
|
|
6531
|
+
// this.loading = false
|
|
6532
|
+
// });
|
|
6533
|
+
// }
|
|
6534
|
+
// },
|
|
3237
6535
|
lastName: function lastName(fullName) {
|
|
3238
6536
|
return fullName.split(',')[0];
|
|
3239
6537
|
},
|
|
3240
6538
|
getBiolucidaInfo: function getBiolucidaInfo(id) {
|
|
3241
|
-
var
|
|
6539
|
+
var _this3 = this;
|
|
3242
6540
|
|
|
3243
6541
|
var apiLocation = this.envVars.API_LOCATION;
|
|
3244
6542
|
var endpoint = apiLocation + "image_search/" + id; // Add parameters if we are sent them
|
|
@@ -3246,7 +6544,7 @@ external_vue_default.a.use(icon_default.a);
|
|
|
3246
6544
|
fetch(endpoint).then(function (response) {
|
|
3247
6545
|
return response.json();
|
|
3248
6546
|
}).then(function (data) {
|
|
3249
|
-
if (data.status == "success")
|
|
6547
|
+
if (data.status == "success") _this3.biolucidaData = data;
|
|
3250
6548
|
});
|
|
3251
6549
|
}
|
|
3252
6550
|
},
|
|
@@ -3263,8 +6561,8 @@ external_vue_default.a.use(icon_default.a);
|
|
|
3263
6561
|
});
|
|
3264
6562
|
// CONCATENATED MODULE: ./src/components/DatasetCard.vue?vue&type=script&lang=js&
|
|
3265
6563
|
/* harmony default export */ var components_DatasetCardvue_type_script_lang_js_ = (DatasetCardvue_type_script_lang_js_);
|
|
3266
|
-
// EXTERNAL MODULE: ./src/components/DatasetCard.vue?vue&type=style&index=0&id=
|
|
3267
|
-
var
|
|
6564
|
+
// EXTERNAL MODULE: ./src/components/DatasetCard.vue?vue&type=style&index=0&id=37eaa59d&scoped=true&lang=css&
|
|
6565
|
+
var DatasetCardvue_type_style_index_0_id_37eaa59d_scoped_true_lang_css_ = __webpack_require__("2c0a");
|
|
3268
6566
|
|
|
3269
6567
|
// CONCATENATED MODULE: ./src/components/DatasetCard.vue
|
|
3270
6568
|
|
|
@@ -3277,22 +6575,22 @@ var DatasetCardvue_type_style_index_0_id_bf193158_scoped_true_lang_css_ = __webp
|
|
|
3277
6575
|
|
|
3278
6576
|
var DatasetCard_component = normalizeComponent(
|
|
3279
6577
|
components_DatasetCardvue_type_script_lang_js_,
|
|
3280
|
-
|
|
3281
|
-
|
|
6578
|
+
DatasetCardvue_type_template_id_37eaa59d_scoped_true_render,
|
|
6579
|
+
DatasetCardvue_type_template_id_37eaa59d_scoped_true_staticRenderFns,
|
|
3282
6580
|
false,
|
|
3283
6581
|
null,
|
|
3284
|
-
"
|
|
6582
|
+
"37eaa59d",
|
|
3285
6583
|
null
|
|
3286
6584
|
|
|
3287
6585
|
)
|
|
3288
6586
|
|
|
3289
6587
|
/* harmony default export */ var DatasetCard = (DatasetCard_component.exports);
|
|
3290
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
3291
|
-
var
|
|
3292
|
-
var
|
|
6588
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"590ce1ae-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ContextCard.vue?vue&type=template&id=b7364fce&scoped=true&
|
|
6589
|
+
var ContextCardvue_type_template_id_b7364fce_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"container",staticClass:"context-card-container"},[_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.showContextCard),expression:"showContextCard"}]},[_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.showDetails),expression:"showDetails"}],staticClass:"hide",on:{"click":function($event){_vm.showDetails = !_vm.showDetails}}},[_vm._v("Hide information"),_c('i',{staticClass:"el-icon-arrow-up"})]),_c('div',{directives:[{name:"show",rawName:"v-show",value:(!_vm.showDetails),expression:"!showDetails"}],staticClass:"hide",on:{"click":function($event){_vm.showDetails = !_vm.showDetails}}},[_vm._v("Show information"),_c('i',{staticClass:"el-icon-arrow-down"})]),(_vm.showDetails && Object.keys(_vm.contextData).length !== 0)?_c('el-card',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],staticClass:"context-card"},[_c('div',{staticClass:"card-left"},[_c('img',{staticClass:"context-image",attrs:{"src":_vm.banner}})]),_c('div',{staticClass:"card-right scrollbar"},[_c('div',{staticClass:"title"},[_vm._v(_vm._s(_vm.contextData.heading))]),_c('div',{domProps:{"innerHTML":_vm._s(_vm.parseMarkdown(_vm.contextData.description))}}),_c('br'),(!_vm.samplesUnderViews)?[(_vm.contextData.views && _vm.contextData.views.length > 0)?_c('div',{staticClass:"subtitle"},[_vm._v("Scaffold Views")]):_vm._e(),_vm._l((_vm.contextData.views),function(view,i){return [_c('div',{key:i+'_1',staticClass:"context-card-view",on:{"click":function($event){return _vm.openViewFile(view)}}},[_c('img',{staticClass:"view-image",attrs:{"src":_vm.getFileFromPath(view.thumbnail)}}),_c('div',{staticClass:"view-description"},[_vm._v(_vm._s(view.description))])]),_c('div',{key:i,staticClass:"padding"})]}),_c('div',{staticStyle:{"margin-bottom":"16px"}}),(_vm.contextData.samples && _vm.contextData.samples.length > 0)?_c('div',{staticClass:"subtitle"},[_vm._v("Samples on Scaffold")]):_vm._e(),_vm._l((_vm.contextData.samples),function(sample,i){return [_c('span',{key:i+'_3',staticClass:"context-card-item cursor-pointer",on:{"click":function($event){return _vm.toggleSampleDetails(i)}}},[_c('div',{key:i+'_6',staticStyle:{"display":"flex"}},[(sample.color)?_c('div',{staticClass:"color-box",style:('background-color:'+ sample.color)}):(sample.thumbnail)?_c('img',{staticClass:"key-image",attrs:{"src":_vm.getFileFromPath(sample.thumbnail)}}):_vm._e(),_vm._v(" "+_vm._s(sample.heading)+" "),_c('i',{staticClass:"el-icon-warning-outline info"})])]),(_vm.sampleDetails[i])?_c('div',{key:i+'_4',domProps:{"innerHTML":_vm._s(sample.description)}}):_vm._e(),(_vm.sampleDetails[i] && sample.path)?_c('a',{key:i+'_5',attrs:{"href":_vm.generateFileLink(sample),"target":"_blank"}},[_vm._v("View Source")]):_vm._e(),_c('div',{key:i+'_2',staticClass:"padding"})]})]:[(_vm.contextData.views && _vm.contextData.views.length > 0)?_c('div',{staticClass:"subtitle"},[_vm._v("Scaffold Views")]):_vm._e(),_vm._l((_vm.contextData.views),function(view,i){return [_c('span',{key:i+'_1',staticClass:"context-card-view",on:{"click":function($event){return _vm.viewClicked(view, i)}}},[_c('img',{staticClass:"view-image",attrs:{"src":_vm.getFileFromPath(view.thumbnail)}}),_c('div',{staticClass:"view-description"},[_vm._v(_vm._s(view.description)),_c('i',{staticClass:"el-icon-warning-outline info"})])]),(_vm.sampleDetails[i])?_c('div',{key:i+'_2',domProps:{"innerHTML":_vm._s(_vm.samplesMatching(view.id).description)}}):_vm._e(),(_vm.sampleDetails[i] && _vm.samplesMatching(view.id).path)?_c('a',{key:i+'_5',attrs:{"href":_vm.generateFileLink(_vm.samplesMatching(view.id)),"target":"_blank"}},[_vm._v("View Source")]):_vm._e(),_c('div',{key:i,staticClass:"padding"}),(_vm.sampleDetails[i])?_c('div',{key:i+'_6',staticClass:"padding"}):_vm._e()]})]],2)]):_vm._e()],1)])}
|
|
6590
|
+
var ContextCardvue_type_template_id_b7364fce_scoped_true_staticRenderFns = []
|
|
3293
6591
|
|
|
3294
6592
|
|
|
3295
|
-
// CONCATENATED MODULE: ./src/components/ContextCard.vue?vue&type=template&id=
|
|
6593
|
+
// CONCATENATED MODULE: ./src/components/ContextCard.vue?vue&type=template&id=b7364fce&scoped=true&
|
|
3296
6594
|
|
|
3297
6595
|
// EXTERNAL MODULE: external "element-ui/lib/theme-chalk/link.css"
|
|
3298
6596
|
var link_css_ = __webpack_require__("230a");
|
|
@@ -3379,8 +6677,8 @@ var link_default = /*#__PURE__*/__webpack_require__.n(link_);
|
|
|
3379
6677
|
// ]
|
|
3380
6678
|
// }
|
|
3381
6679
|
// }
|
|
3382
|
-
// EXTERNAL MODULE:
|
|
3383
|
-
var
|
|
6680
|
+
// EXTERNAL MODULE: ./node_modules/marked/lib/marked.umd.js
|
|
6681
|
+
var marked_umd = __webpack_require__("7c5c");
|
|
3384
6682
|
|
|
3385
6683
|
// EXTERNAL MODULE: external "xss"
|
|
3386
6684
|
var external_xss_ = __webpack_require__("efde");
|
|
@@ -3557,8 +6855,12 @@ var convertBackslashToForwardSlash = function convertBackslashToForwardSlash(pat
|
|
|
3557
6855
|
computed: {
|
|
3558
6856
|
samplesUnderViews: function samplesUnderViews() {
|
|
3559
6857
|
if (this.contextData) {
|
|
6858
|
+
if (!this.contextData.views || !this.contextData.samples) {
|
|
6859
|
+
return false;
|
|
6860
|
+
}
|
|
6861
|
+
|
|
3560
6862
|
if (this.contextData.samplesUnderViews) {
|
|
3561
|
-
return
|
|
6863
|
+
return this.contextData.samplesUnderViews;
|
|
3562
6864
|
} else {
|
|
3563
6865
|
var viewId = this.contextData.views.map(function (v) {
|
|
3564
6866
|
return v.id;
|
|
@@ -3681,7 +6983,7 @@ var convertBackslashToForwardSlash = function convertBackslashToForwardSlash(pat
|
|
|
3681
6983
|
return "".concat(this.envVars.ROOT_URL, "/file/").concat(sample.discoverId, "/").concat(sample.version, "?path=").concat(this.processPathForUrl(sample.path));
|
|
3682
6984
|
},
|
|
3683
6985
|
parseMarkdown: function parseMarkdown(markdown) {
|
|
3684
|
-
return external_xss_default()(
|
|
6986
|
+
return external_xss_default()(marked_umd["marked"].parse(markdown));
|
|
3685
6987
|
},
|
|
3686
6988
|
openViewFile: function openViewFile(view) {
|
|
3687
6989
|
// note that we assume that the view file is in the same directory as the scaffold (viewUrls take relative paths)
|
|
@@ -3693,8 +6995,8 @@ var convertBackslashToForwardSlash = function convertBackslashToForwardSlash(pat
|
|
|
3693
6995
|
});
|
|
3694
6996
|
// CONCATENATED MODULE: ./src/components/ContextCard.vue?vue&type=script&lang=js&
|
|
3695
6997
|
/* harmony default export */ var components_ContextCardvue_type_script_lang_js_ = (ContextCardvue_type_script_lang_js_);
|
|
3696
|
-
// EXTERNAL MODULE: ./src/components/ContextCard.vue?vue&type=style&index=0&id=
|
|
3697
|
-
var
|
|
6998
|
+
// EXTERNAL MODULE: ./src/components/ContextCard.vue?vue&type=style&index=0&id=b7364fce&scoped=true&lang=css&
|
|
6999
|
+
var ContextCardvue_type_style_index_0_id_b7364fce_scoped_true_lang_css_ = __webpack_require__("7c68");
|
|
3698
7000
|
|
|
3699
7001
|
// CONCATENATED MODULE: ./src/components/ContextCard.vue
|
|
3700
7002
|
|
|
@@ -3707,11 +7009,11 @@ var ContextCardvue_type_style_index_0_id_2d699d90_scoped_true_lang_css_ = __webp
|
|
|
3707
7009
|
|
|
3708
7010
|
var ContextCard_component = normalizeComponent(
|
|
3709
7011
|
components_ContextCardvue_type_script_lang_js_,
|
|
3710
|
-
|
|
3711
|
-
|
|
7012
|
+
ContextCardvue_type_template_id_b7364fce_scoped_true_render,
|
|
7013
|
+
ContextCardvue_type_template_id_b7364fce_scoped_true_staticRenderFns,
|
|
3712
7014
|
false,
|
|
3713
7015
|
null,
|
|
3714
|
-
"
|
|
7016
|
+
"b7364fce",
|
|
3715
7017
|
null
|
|
3716
7018
|
|
|
3717
7019
|
)
|
|
@@ -3764,8 +7066,6 @@ var ContextCard_component = normalizeComponent(
|
|
|
3764
7066
|
|
|
3765
7067
|
|
|
3766
7068
|
|
|
3767
|
-
|
|
3768
|
-
|
|
3769
7069
|
|
|
3770
7070
|
|
|
3771
7071
|
|
|
@@ -4137,17 +7437,20 @@ var initial_state = {
|
|
|
4137
7437
|
data.results.forEach(function (element) {
|
|
4138
7438
|
// match the scicrunch result with algolia result
|
|
4139
7439
|
var i = _this3.results.findIndex(function (res) {
|
|
4140
|
-
return
|
|
4141
|
-
});
|
|
7440
|
+
return res.datasetId === element.dataset_identifier || res.identifier === element.dataset_identifier;
|
|
7441
|
+
});
|
|
4142
7442
|
|
|
7443
|
+
console.log('i: ', i);
|
|
7444
|
+
var name = _this3.results[i].name; // Assign scicrunch results to the object
|
|
4143
7445
|
|
|
4144
|
-
Object.assign(_this3.results[i], element);
|
|
7446
|
+
Object.assign(_this3.results[i], element);
|
|
7447
|
+
_this3.results[i].name = name; // Assign the attributes that need some processing
|
|
4145
7448
|
|
|
4146
7449
|
Object.assign(_this3.results[i], {
|
|
4147
7450
|
numberSamples: element.sampleSize ? parseInt(element.sampleSize) : 0,
|
|
4148
7451
|
numberSubjects: element.subjectSize ? parseInt(element.subjectSize) : 0,
|
|
4149
|
-
updated:
|
|
4150
|
-
url: element.uri[0],
|
|
7452
|
+
updated: element.updated ? element.updated[0].timestamp.split("T")[0] : undefined,
|
|
7453
|
+
url: element.uri ? element.uri[0] : undefined,
|
|
4151
7454
|
datasetId: element.dataset_identifier,
|
|
4152
7455
|
datasetRevision: element.dataset_revision,
|
|
4153
7456
|
datasetVersion: element.dataset_version,
|
|
@@ -4226,8 +7529,8 @@ var initial_state = {
|
|
|
4226
7529
|
});
|
|
4227
7530
|
// CONCATENATED MODULE: ./src/components/SidebarContent.vue?vue&type=script&lang=js&
|
|
4228
7531
|
/* harmony default export */ var components_SidebarContentvue_type_script_lang_js_ = (SidebarContentvue_type_script_lang_js_);
|
|
4229
|
-
// EXTERNAL MODULE: ./src/components/SidebarContent.vue?vue&type=style&index=0&id=
|
|
4230
|
-
var
|
|
7532
|
+
// EXTERNAL MODULE: ./src/components/SidebarContent.vue?vue&type=style&index=0&id=eca1cf88&scoped=true&lang=css&
|
|
7533
|
+
var SidebarContentvue_type_style_index_0_id_eca1cf88_scoped_true_lang_css_ = __webpack_require__("19ba");
|
|
4231
7534
|
|
|
4232
7535
|
// CONCATENATED MODULE: ./src/components/SidebarContent.vue
|
|
4233
7536
|
|
|
@@ -4240,17 +7543,17 @@ var SidebarContentvue_type_style_index_0_id_13cf0a2e_scoped_true_lang_css_ = __w
|
|
|
4240
7543
|
|
|
4241
7544
|
var SidebarContent_component = normalizeComponent(
|
|
4242
7545
|
components_SidebarContentvue_type_script_lang_js_,
|
|
4243
|
-
|
|
4244
|
-
|
|
7546
|
+
SidebarContentvue_type_template_id_eca1cf88_scoped_true_render,
|
|
7547
|
+
SidebarContentvue_type_template_id_eca1cf88_scoped_true_staticRenderFns,
|
|
4245
7548
|
false,
|
|
4246
7549
|
null,
|
|
4247
|
-
"
|
|
7550
|
+
"eca1cf88",
|
|
4248
7551
|
null
|
|
4249
7552
|
|
|
4250
7553
|
)
|
|
4251
7554
|
|
|
4252
7555
|
/* harmony default export */ var SidebarContent = (SidebarContent_component.exports);
|
|
4253
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
7556
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"590ce1ae-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Tabs.vue?vue&type=template&id=d68260c4&scoped=true&
|
|
4254
7557
|
var Tabsvue_type_template_id_d68260c4_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"tab-container"},_vm._l((_vm.tabTitles),function(title){return _c('div',{key:title.id,staticClass:"title"},[_c('div',{staticClass:"title-text-table",class:{ highlightText : (title.id==_vm.activeId) },on:{"click":function($event){return _vm.titleClicked(title.id)}}},[_c('div',{staticClass:"title-text"},[_vm._v(" "+_vm._s(title.title)+" ")])])])}),0)}
|
|
4255
7558
|
var Tabsvue_type_template_id_d68260c4_scoped_true_staticRenderFns = []
|
|
4256
7559
|
|
|
@@ -4513,8 +7816,8 @@ var SideBarvue_type_script_lang_js_initial_state = {
|
|
|
4513
7816
|
});
|
|
4514
7817
|
// CONCATENATED MODULE: ./src/components/SideBar.vue?vue&type=script&lang=js&
|
|
4515
7818
|
/* harmony default export */ var components_SideBarvue_type_script_lang_js_ = (SideBarvue_type_script_lang_js_);
|
|
4516
|
-
// EXTERNAL MODULE: ./src/components/SideBar.vue?vue&type=style&index=0&id=
|
|
4517
|
-
var
|
|
7819
|
+
// EXTERNAL MODULE: ./src/components/SideBar.vue?vue&type=style&index=0&id=9b3acd4c&scoped=true&lang=css&
|
|
7820
|
+
var SideBarvue_type_style_index_0_id_9b3acd4c_scoped_true_lang_css_ = __webpack_require__("8b9f");
|
|
4518
7821
|
|
|
4519
7822
|
// CONCATENATED MODULE: ./src/components/SideBar.vue
|
|
4520
7823
|
|
|
@@ -4531,7 +7834,7 @@ var SideBar_component = normalizeComponent(
|
|
|
4531
7834
|
staticRenderFns,
|
|
4532
7835
|
false,
|
|
4533
7836
|
null,
|
|
4534
|
-
"
|
|
7837
|
+
"9b3acd4c",
|
|
4535
7838
|
null
|
|
4536
7839
|
|
|
4537
7840
|
)
|