@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
|
@@ -108,6 +108,13 @@ module.exports = require("element-ui/lib/theme-chalk/pagination.css");
|
|
|
108
108
|
|
|
109
109
|
/***/ }),
|
|
110
110
|
|
|
111
|
+
/***/ "03b4":
|
|
112
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
113
|
+
|
|
114
|
+
// extracted by mini-css-extract-plugin
|
|
115
|
+
|
|
116
|
+
/***/ }),
|
|
117
|
+
|
|
111
118
|
/***/ "0b28":
|
|
112
119
|
/***/ (function(module, exports) {
|
|
113
120
|
|
|
@@ -150,17 +157,21 @@ module.exports = require("core-js/modules/es.array.concat");
|
|
|
150
157
|
|
|
151
158
|
/***/ }),
|
|
152
159
|
|
|
153
|
-
/***/ "
|
|
154
|
-
/***/ (function(module,
|
|
160
|
+
/***/ "19ba":
|
|
161
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
155
162
|
|
|
156
|
-
|
|
163
|
+
"use strict";
|
|
164
|
+
/* 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");
|
|
165
|
+
/* 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__);
|
|
166
|
+
/* unused harmony reexport * */
|
|
167
|
+
/* 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);
|
|
157
168
|
|
|
158
169
|
/***/ }),
|
|
159
170
|
|
|
160
|
-
/***/ "
|
|
171
|
+
/***/ "1ce0":
|
|
161
172
|
/***/ (function(module, exports) {
|
|
162
173
|
|
|
163
|
-
module.exports = require("
|
|
174
|
+
module.exports = require("core-js/modules/web.dom-collections.iterator");
|
|
164
175
|
|
|
165
176
|
/***/ }),
|
|
166
177
|
|
|
@@ -178,6 +189,13 @@ module.exports = require("element-ui/lib/theme-chalk/link.css");
|
|
|
178
189
|
|
|
179
190
|
/***/ }),
|
|
180
191
|
|
|
192
|
+
/***/ "269b":
|
|
193
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
194
|
+
|
|
195
|
+
// extracted by mini-css-extract-plugin
|
|
196
|
+
|
|
197
|
+
/***/ }),
|
|
198
|
+
|
|
181
199
|
/***/ "26bc":
|
|
182
200
|
/***/ (function(module, exports) {
|
|
183
201
|
|
|
@@ -192,6 +210,17 @@ module.exports = require("core-js/modules/web.url");
|
|
|
192
210
|
|
|
193
211
|
/***/ }),
|
|
194
212
|
|
|
213
|
+
/***/ "2c0a":
|
|
214
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
215
|
+
|
|
216
|
+
"use strict";
|
|
217
|
+
/* 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");
|
|
218
|
+
/* 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__);
|
|
219
|
+
/* unused harmony reexport * */
|
|
220
|
+
/* 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);
|
|
221
|
+
|
|
222
|
+
/***/ }),
|
|
223
|
+
|
|
195
224
|
/***/ "2c1b":
|
|
196
225
|
/***/ (function(module, exports) {
|
|
197
226
|
|
|
@@ -199,10 +228,14 @@ module.exports = require("element-ui/lib/theme-chalk/loading.css");
|
|
|
199
228
|
|
|
200
229
|
/***/ }),
|
|
201
230
|
|
|
202
|
-
/***/ "
|
|
203
|
-
/***/ (function(module,
|
|
231
|
+
/***/ "2da3":
|
|
232
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
204
233
|
|
|
205
|
-
|
|
234
|
+
"use strict";
|
|
235
|
+
/* 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");
|
|
236
|
+
/* 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__);
|
|
237
|
+
/* unused harmony reexport * */
|
|
238
|
+
/* 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);
|
|
206
239
|
|
|
207
240
|
/***/ }),
|
|
208
241
|
|
|
@@ -220,13 +253,6 @@ module.exports = require("@abi-software/gallery");
|
|
|
220
253
|
|
|
221
254
|
/***/ }),
|
|
222
255
|
|
|
223
|
-
/***/ "3a70":
|
|
224
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
225
|
-
|
|
226
|
-
// extracted by mini-css-extract-plugin
|
|
227
|
-
|
|
228
|
-
/***/ }),
|
|
229
|
-
|
|
230
256
|
/***/ "3e88":
|
|
231
257
|
/***/ (function(module, exports) {
|
|
232
258
|
|
|
@@ -280,17 +306,6 @@ module.exports = require("core-js/modules/es.array.filter");
|
|
|
280
306
|
|
|
281
307
|
/***/ }),
|
|
282
308
|
|
|
283
|
-
/***/ "4b72":
|
|
284
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
285
|
-
|
|
286
|
-
"use strict";
|
|
287
|
-
/* 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");
|
|
288
|
-
/* 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__);
|
|
289
|
-
/* unused harmony reexport * */
|
|
290
|
-
/* 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);
|
|
291
|
-
|
|
292
|
-
/***/ }),
|
|
293
|
-
|
|
294
309
|
/***/ "4b85":
|
|
295
310
|
/***/ (function(module, exports, __webpack_require__) {
|
|
296
311
|
|
|
@@ -326,101 +341,3188 @@ module.exports = require("core-js/modules/es.regexp.exec");
|
|
|
326
341
|
|
|
327
342
|
/***/ }),
|
|
328
343
|
|
|
329
|
-
/***/ "
|
|
330
|
-
/***/ (function(module, exports
|
|
344
|
+
/***/ "5658":
|
|
345
|
+
/***/ (function(module, exports) {
|
|
346
|
+
|
|
347
|
+
module.exports = require("@abi-software/gallery/dist/gallery.css");
|
|
348
|
+
|
|
349
|
+
/***/ }),
|
|
350
|
+
|
|
351
|
+
/***/ "5d8c":
|
|
352
|
+
/***/ (function(module, exports) {
|
|
353
|
+
|
|
354
|
+
module.exports = require("element-ui/lib/button");
|
|
355
|
+
|
|
356
|
+
/***/ }),
|
|
357
|
+
|
|
358
|
+
/***/ "5fef":
|
|
359
|
+
/***/ (function(module, exports) {
|
|
360
|
+
|
|
361
|
+
module.exports = require("core-js/modules/es.regexp.to-string");
|
|
362
|
+
|
|
363
|
+
/***/ }),
|
|
364
|
+
|
|
365
|
+
/***/ "6049":
|
|
366
|
+
/***/ (function(module, exports) {
|
|
367
|
+
|
|
368
|
+
module.exports = require("core-js/modules/es.symbol");
|
|
369
|
+
|
|
370
|
+
/***/ }),
|
|
371
|
+
|
|
372
|
+
/***/ "6328":
|
|
373
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
374
|
+
|
|
375
|
+
module.exports = __webpack_require__.p + "img/logo-sparc-wave-primary.8ed83a51.svg";
|
|
376
|
+
|
|
377
|
+
/***/ }),
|
|
378
|
+
|
|
379
|
+
/***/ "6579":
|
|
380
|
+
/***/ (function(module, exports) {
|
|
381
|
+
|
|
382
|
+
module.exports = require("core-js/modules/es.array.slice");
|
|
383
|
+
|
|
384
|
+
/***/ }),
|
|
385
|
+
|
|
386
|
+
/***/ "6631":
|
|
387
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
388
|
+
|
|
389
|
+
// extracted by mini-css-extract-plugin
|
|
390
|
+
|
|
391
|
+
/***/ }),
|
|
392
|
+
|
|
393
|
+
/***/ "6b07":
|
|
394
|
+
/***/ (function(module, exports) {
|
|
395
|
+
|
|
396
|
+
module.exports = require("core-js/modules/es.object.get-own-property-descriptor");
|
|
397
|
+
|
|
398
|
+
/***/ }),
|
|
399
|
+
|
|
400
|
+
/***/ "6bd8":
|
|
401
|
+
/***/ (function(module, exports) {
|
|
402
|
+
|
|
403
|
+
module.exports = require("element-ui/lib/cascader");
|
|
404
|
+
|
|
405
|
+
/***/ }),
|
|
406
|
+
|
|
407
|
+
/***/ "6bfd":
|
|
408
|
+
/***/ (function(module, exports) {
|
|
409
|
+
|
|
410
|
+
module.exports = require("element-ui/lib/locale/lang/en");
|
|
411
|
+
|
|
412
|
+
/***/ }),
|
|
413
|
+
|
|
414
|
+
/***/ "6e25":
|
|
415
|
+
/***/ (function(module, exports) {
|
|
416
|
+
|
|
417
|
+
module.exports = require("element-ui/lib/theme-chalk/cascader.css");
|
|
418
|
+
|
|
419
|
+
/***/ }),
|
|
420
|
+
|
|
421
|
+
/***/ "6ed7":
|
|
422
|
+
/***/ (function(module, exports) {
|
|
423
|
+
|
|
424
|
+
module.exports = require("core-js/modules/es.array.sort");
|
|
425
|
+
|
|
426
|
+
/***/ }),
|
|
427
|
+
|
|
428
|
+
/***/ "6faa":
|
|
429
|
+
/***/ (function(module, exports) {
|
|
430
|
+
|
|
431
|
+
module.exports = require("core-js/modules/es.number.constructor");
|
|
432
|
+
|
|
433
|
+
/***/ }),
|
|
434
|
+
|
|
435
|
+
/***/ "79d0":
|
|
436
|
+
/***/ (function(module, exports) {
|
|
437
|
+
|
|
438
|
+
module.exports = require("regenerator-runtime/runtime");
|
|
439
|
+
|
|
440
|
+
/***/ }),
|
|
441
|
+
|
|
442
|
+
/***/ "7c5c":
|
|
443
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
444
|
+
|
|
445
|
+
/**
|
|
446
|
+
* marked - a markdown parser
|
|
447
|
+
* Copyright (c) 2011-2022, Christopher Jeffrey. (MIT Licensed)
|
|
448
|
+
* https://github.com/markedjs/marked
|
|
449
|
+
*/
|
|
450
|
+
|
|
451
|
+
/**
|
|
452
|
+
* DO NOT EDIT THIS FILE
|
|
453
|
+
* The code in this file is generated from files in ./src/
|
|
454
|
+
*/
|
|
455
|
+
|
|
456
|
+
(function (global, factory) {
|
|
457
|
+
true ? factory(exports) :
|
|
458
|
+
undefined;
|
|
459
|
+
})(this, (function (exports) { 'use strict';
|
|
460
|
+
|
|
461
|
+
function _defineProperties(target, props) {
|
|
462
|
+
for (var i = 0; i < props.length; i++) {
|
|
463
|
+
var descriptor = props[i];
|
|
464
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
465
|
+
descriptor.configurable = true;
|
|
466
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
467
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
472
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
473
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
474
|
+
Object.defineProperty(Constructor, "prototype", {
|
|
475
|
+
writable: false
|
|
476
|
+
});
|
|
477
|
+
return Constructor;
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
481
|
+
if (!o) return;
|
|
482
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
483
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
484
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
485
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
486
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
function _arrayLikeToArray(arr, len) {
|
|
490
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
491
|
+
|
|
492
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
493
|
+
|
|
494
|
+
return arr2;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
498
|
+
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
|
499
|
+
if (it) return (it = it.call(o)).next.bind(it);
|
|
500
|
+
|
|
501
|
+
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
502
|
+
if (it) o = it;
|
|
503
|
+
var i = 0;
|
|
504
|
+
return function () {
|
|
505
|
+
if (i >= o.length) return {
|
|
506
|
+
done: true
|
|
507
|
+
};
|
|
508
|
+
return {
|
|
509
|
+
done: false,
|
|
510
|
+
value: o[i++]
|
|
511
|
+
};
|
|
512
|
+
};
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
function getDefaults() {
|
|
519
|
+
return {
|
|
520
|
+
async: false,
|
|
521
|
+
baseUrl: null,
|
|
522
|
+
breaks: false,
|
|
523
|
+
extensions: null,
|
|
524
|
+
gfm: true,
|
|
525
|
+
headerIds: true,
|
|
526
|
+
headerPrefix: '',
|
|
527
|
+
highlight: null,
|
|
528
|
+
langPrefix: 'language-',
|
|
529
|
+
mangle: true,
|
|
530
|
+
pedantic: false,
|
|
531
|
+
renderer: null,
|
|
532
|
+
sanitize: false,
|
|
533
|
+
sanitizer: null,
|
|
534
|
+
silent: false,
|
|
535
|
+
smartypants: false,
|
|
536
|
+
tokenizer: null,
|
|
537
|
+
walkTokens: null,
|
|
538
|
+
xhtml: false
|
|
539
|
+
};
|
|
540
|
+
}
|
|
541
|
+
exports.defaults = getDefaults();
|
|
542
|
+
function changeDefaults(newDefaults) {
|
|
543
|
+
exports.defaults = newDefaults;
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
/**
|
|
547
|
+
* Helpers
|
|
548
|
+
*/
|
|
549
|
+
var escapeTest = /[&<>"']/;
|
|
550
|
+
var escapeReplace = /[&<>"']/g;
|
|
551
|
+
var escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/;
|
|
552
|
+
var escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g;
|
|
553
|
+
var escapeReplacements = {
|
|
554
|
+
'&': '&',
|
|
555
|
+
'<': '<',
|
|
556
|
+
'>': '>',
|
|
557
|
+
'"': '"',
|
|
558
|
+
"'": '''
|
|
559
|
+
};
|
|
560
|
+
|
|
561
|
+
var getEscapeReplacement = function getEscapeReplacement(ch) {
|
|
562
|
+
return escapeReplacements[ch];
|
|
563
|
+
};
|
|
564
|
+
|
|
565
|
+
function escape(html, encode) {
|
|
566
|
+
if (encode) {
|
|
567
|
+
if (escapeTest.test(html)) {
|
|
568
|
+
return html.replace(escapeReplace, getEscapeReplacement);
|
|
569
|
+
}
|
|
570
|
+
} else {
|
|
571
|
+
if (escapeTestNoEncode.test(html)) {
|
|
572
|
+
return html.replace(escapeReplaceNoEncode, getEscapeReplacement);
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
return html;
|
|
577
|
+
}
|
|
578
|
+
var unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;
|
|
579
|
+
/**
|
|
580
|
+
* @param {string} html
|
|
581
|
+
*/
|
|
582
|
+
|
|
583
|
+
function unescape(html) {
|
|
584
|
+
// explicitly match decimal, hex, and named HTML entities
|
|
585
|
+
return html.replace(unescapeTest, function (_, n) {
|
|
586
|
+
n = n.toLowerCase();
|
|
587
|
+
if (n === 'colon') return ':';
|
|
588
|
+
|
|
589
|
+
if (n.charAt(0) === '#') {
|
|
590
|
+
return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
return '';
|
|
594
|
+
});
|
|
595
|
+
}
|
|
596
|
+
var caret = /(^|[^\[])\^/g;
|
|
597
|
+
/**
|
|
598
|
+
* @param {string | RegExp} regex
|
|
599
|
+
* @param {string} opt
|
|
600
|
+
*/
|
|
601
|
+
|
|
602
|
+
function edit(regex, opt) {
|
|
603
|
+
regex = typeof regex === 'string' ? regex : regex.source;
|
|
604
|
+
opt = opt || '';
|
|
605
|
+
var obj = {
|
|
606
|
+
replace: function replace(name, val) {
|
|
607
|
+
val = val.source || val;
|
|
608
|
+
val = val.replace(caret, '$1');
|
|
609
|
+
regex = regex.replace(name, val);
|
|
610
|
+
return obj;
|
|
611
|
+
},
|
|
612
|
+
getRegex: function getRegex() {
|
|
613
|
+
return new RegExp(regex, opt);
|
|
614
|
+
}
|
|
615
|
+
};
|
|
616
|
+
return obj;
|
|
617
|
+
}
|
|
618
|
+
var nonWordAndColonTest = /[^\w:]/g;
|
|
619
|
+
var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;
|
|
620
|
+
/**
|
|
621
|
+
* @param {boolean} sanitize
|
|
622
|
+
* @param {string} base
|
|
623
|
+
* @param {string} href
|
|
624
|
+
*/
|
|
625
|
+
|
|
626
|
+
function cleanUrl(sanitize, base, href) {
|
|
627
|
+
if (sanitize) {
|
|
628
|
+
var prot;
|
|
629
|
+
|
|
630
|
+
try {
|
|
631
|
+
prot = decodeURIComponent(unescape(href)).replace(nonWordAndColonTest, '').toLowerCase();
|
|
632
|
+
} catch (e) {
|
|
633
|
+
return null;
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {
|
|
637
|
+
return null;
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
if (base && !originIndependentUrl.test(href)) {
|
|
642
|
+
href = resolveUrl(base, href);
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
try {
|
|
646
|
+
href = encodeURI(href).replace(/%25/g, '%');
|
|
647
|
+
} catch (e) {
|
|
648
|
+
return null;
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
return href;
|
|
652
|
+
}
|
|
653
|
+
var baseUrls = {};
|
|
654
|
+
var justDomain = /^[^:]+:\/*[^/]*$/;
|
|
655
|
+
var protocol = /^([^:]+:)[\s\S]*$/;
|
|
656
|
+
var domain = /^([^:]+:\/*[^/]*)[\s\S]*$/;
|
|
657
|
+
/**
|
|
658
|
+
* @param {string} base
|
|
659
|
+
* @param {string} href
|
|
660
|
+
*/
|
|
661
|
+
|
|
662
|
+
function resolveUrl(base, href) {
|
|
663
|
+
if (!baseUrls[' ' + base]) {
|
|
664
|
+
// we can ignore everything in base after the last slash of its path component,
|
|
665
|
+
// but we might need to add _that_
|
|
666
|
+
// https://tools.ietf.org/html/rfc3986#section-3
|
|
667
|
+
if (justDomain.test(base)) {
|
|
668
|
+
baseUrls[' ' + base] = base + '/';
|
|
669
|
+
} else {
|
|
670
|
+
baseUrls[' ' + base] = rtrim(base, '/', true);
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
base = baseUrls[' ' + base];
|
|
675
|
+
var relativeBase = base.indexOf(':') === -1;
|
|
676
|
+
|
|
677
|
+
if (href.substring(0, 2) === '//') {
|
|
678
|
+
if (relativeBase) {
|
|
679
|
+
return href;
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
return base.replace(protocol, '$1') + href;
|
|
683
|
+
} else if (href.charAt(0) === '/') {
|
|
684
|
+
if (relativeBase) {
|
|
685
|
+
return href;
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
return base.replace(domain, '$1') + href;
|
|
689
|
+
} else {
|
|
690
|
+
return base + href;
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
var noopTest = {
|
|
694
|
+
exec: function noopTest() {}
|
|
695
|
+
};
|
|
696
|
+
function merge(obj) {
|
|
697
|
+
var i = 1,
|
|
698
|
+
target,
|
|
699
|
+
key;
|
|
700
|
+
|
|
701
|
+
for (; i < arguments.length; i++) {
|
|
702
|
+
target = arguments[i];
|
|
703
|
+
|
|
704
|
+
for (key in target) {
|
|
705
|
+
if (Object.prototype.hasOwnProperty.call(target, key)) {
|
|
706
|
+
obj[key] = target[key];
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
return obj;
|
|
712
|
+
}
|
|
713
|
+
function splitCells(tableRow, count) {
|
|
714
|
+
// ensure that every cell-delimiting pipe has a space
|
|
715
|
+
// before it to distinguish it from an escaped pipe
|
|
716
|
+
var row = tableRow.replace(/\|/g, function (match, offset, str) {
|
|
717
|
+
var escaped = false,
|
|
718
|
+
curr = offset;
|
|
719
|
+
|
|
720
|
+
while (--curr >= 0 && str[curr] === '\\') {
|
|
721
|
+
escaped = !escaped;
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
if (escaped) {
|
|
725
|
+
// odd number of slashes means | is escaped
|
|
726
|
+
// so we leave it alone
|
|
727
|
+
return '|';
|
|
728
|
+
} else {
|
|
729
|
+
// add space before unescaped |
|
|
730
|
+
return ' |';
|
|
731
|
+
}
|
|
732
|
+
}),
|
|
733
|
+
cells = row.split(/ \|/);
|
|
734
|
+
var i = 0; // First/last cell in a row cannot be empty if it has no leading/trailing pipe
|
|
735
|
+
|
|
736
|
+
if (!cells[0].trim()) {
|
|
737
|
+
cells.shift();
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
if (cells.length > 0 && !cells[cells.length - 1].trim()) {
|
|
741
|
+
cells.pop();
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
if (cells.length > count) {
|
|
745
|
+
cells.splice(count);
|
|
746
|
+
} else {
|
|
747
|
+
while (cells.length < count) {
|
|
748
|
+
cells.push('');
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
for (; i < cells.length; i++) {
|
|
753
|
+
// leading or trailing whitespace is ignored per the gfm spec
|
|
754
|
+
cells[i] = cells[i].trim().replace(/\\\|/g, '|');
|
|
755
|
+
}
|
|
756
|
+
|
|
757
|
+
return cells;
|
|
758
|
+
}
|
|
759
|
+
/**
|
|
760
|
+
* Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').
|
|
761
|
+
* /c*$/ is vulnerable to REDOS.
|
|
762
|
+
*
|
|
763
|
+
* @param {string} str
|
|
764
|
+
* @param {string} c
|
|
765
|
+
* @param {boolean} invert Remove suffix of non-c chars instead. Default falsey.
|
|
766
|
+
*/
|
|
767
|
+
|
|
768
|
+
function rtrim(str, c, invert) {
|
|
769
|
+
var l = str.length;
|
|
770
|
+
|
|
771
|
+
if (l === 0) {
|
|
772
|
+
return '';
|
|
773
|
+
} // Length of suffix matching the invert condition.
|
|
774
|
+
|
|
775
|
+
|
|
776
|
+
var suffLen = 0; // Step left until we fail to match the invert condition.
|
|
777
|
+
|
|
778
|
+
while (suffLen < l) {
|
|
779
|
+
var currChar = str.charAt(l - suffLen - 1);
|
|
780
|
+
|
|
781
|
+
if (currChar === c && !invert) {
|
|
782
|
+
suffLen++;
|
|
783
|
+
} else if (currChar !== c && invert) {
|
|
784
|
+
suffLen++;
|
|
785
|
+
} else {
|
|
786
|
+
break;
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
|
|
790
|
+
return str.slice(0, l - suffLen);
|
|
791
|
+
}
|
|
792
|
+
function findClosingBracket(str, b) {
|
|
793
|
+
if (str.indexOf(b[1]) === -1) {
|
|
794
|
+
return -1;
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
var l = str.length;
|
|
798
|
+
var level = 0,
|
|
799
|
+
i = 0;
|
|
800
|
+
|
|
801
|
+
for (; i < l; i++) {
|
|
802
|
+
if (str[i] === '\\') {
|
|
803
|
+
i++;
|
|
804
|
+
} else if (str[i] === b[0]) {
|
|
805
|
+
level++;
|
|
806
|
+
} else if (str[i] === b[1]) {
|
|
807
|
+
level--;
|
|
808
|
+
|
|
809
|
+
if (level < 0) {
|
|
810
|
+
return i;
|
|
811
|
+
}
|
|
812
|
+
}
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
return -1;
|
|
816
|
+
}
|
|
817
|
+
function checkSanitizeDeprecation(opt) {
|
|
818
|
+
if (opt && opt.sanitize && !opt.silent) {
|
|
819
|
+
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');
|
|
820
|
+
}
|
|
821
|
+
} // copied from https://stackoverflow.com/a/5450113/806777
|
|
822
|
+
|
|
823
|
+
/**
|
|
824
|
+
* @param {string} pattern
|
|
825
|
+
* @param {number} count
|
|
826
|
+
*/
|
|
827
|
+
|
|
828
|
+
function repeatString(pattern, count) {
|
|
829
|
+
if (count < 1) {
|
|
830
|
+
return '';
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
var result = '';
|
|
834
|
+
|
|
835
|
+
while (count > 1) {
|
|
836
|
+
if (count & 1) {
|
|
837
|
+
result += pattern;
|
|
838
|
+
}
|
|
839
|
+
|
|
840
|
+
count >>= 1;
|
|
841
|
+
pattern += pattern;
|
|
842
|
+
}
|
|
843
|
+
|
|
844
|
+
return result + pattern;
|
|
845
|
+
}
|
|
846
|
+
|
|
847
|
+
function outputLink(cap, link, raw, lexer) {
|
|
848
|
+
var href = link.href;
|
|
849
|
+
var title = link.title ? escape(link.title) : null;
|
|
850
|
+
var text = cap[1].replace(/\\([\[\]])/g, '$1');
|
|
851
|
+
|
|
852
|
+
if (cap[0].charAt(0) !== '!') {
|
|
853
|
+
lexer.state.inLink = true;
|
|
854
|
+
var token = {
|
|
855
|
+
type: 'link',
|
|
856
|
+
raw: raw,
|
|
857
|
+
href: href,
|
|
858
|
+
title: title,
|
|
859
|
+
text: text,
|
|
860
|
+
tokens: lexer.inlineTokens(text)
|
|
861
|
+
};
|
|
862
|
+
lexer.state.inLink = false;
|
|
863
|
+
return token;
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
return {
|
|
867
|
+
type: 'image',
|
|
868
|
+
raw: raw,
|
|
869
|
+
href: href,
|
|
870
|
+
title: title,
|
|
871
|
+
text: escape(text)
|
|
872
|
+
};
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
function indentCodeCompensation(raw, text) {
|
|
876
|
+
var matchIndentToCode = raw.match(/^(\s+)(?:```)/);
|
|
877
|
+
|
|
878
|
+
if (matchIndentToCode === null) {
|
|
879
|
+
return text;
|
|
880
|
+
}
|
|
881
|
+
|
|
882
|
+
var indentToCode = matchIndentToCode[1];
|
|
883
|
+
return text.split('\n').map(function (node) {
|
|
884
|
+
var matchIndentInNode = node.match(/^\s+/);
|
|
885
|
+
|
|
886
|
+
if (matchIndentInNode === null) {
|
|
887
|
+
return node;
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
var indentInNode = matchIndentInNode[0];
|
|
891
|
+
|
|
892
|
+
if (indentInNode.length >= indentToCode.length) {
|
|
893
|
+
return node.slice(indentToCode.length);
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
return node;
|
|
897
|
+
}).join('\n');
|
|
898
|
+
}
|
|
899
|
+
/**
|
|
900
|
+
* Tokenizer
|
|
901
|
+
*/
|
|
902
|
+
|
|
903
|
+
|
|
904
|
+
var Tokenizer = /*#__PURE__*/function () {
|
|
905
|
+
function Tokenizer(options) {
|
|
906
|
+
this.options = options || exports.defaults;
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
var _proto = Tokenizer.prototype;
|
|
910
|
+
|
|
911
|
+
_proto.space = function space(src) {
|
|
912
|
+
var cap = this.rules.block.newline.exec(src);
|
|
913
|
+
|
|
914
|
+
if (cap && cap[0].length > 0) {
|
|
915
|
+
return {
|
|
916
|
+
type: 'space',
|
|
917
|
+
raw: cap[0]
|
|
918
|
+
};
|
|
919
|
+
}
|
|
920
|
+
};
|
|
921
|
+
|
|
922
|
+
_proto.code = function code(src) {
|
|
923
|
+
var cap = this.rules.block.code.exec(src);
|
|
924
|
+
|
|
925
|
+
if (cap) {
|
|
926
|
+
var text = cap[0].replace(/^ {1,4}/gm, '');
|
|
927
|
+
return {
|
|
928
|
+
type: 'code',
|
|
929
|
+
raw: cap[0],
|
|
930
|
+
codeBlockStyle: 'indented',
|
|
931
|
+
text: !this.options.pedantic ? rtrim(text, '\n') : text
|
|
932
|
+
};
|
|
933
|
+
}
|
|
934
|
+
};
|
|
935
|
+
|
|
936
|
+
_proto.fences = function fences(src) {
|
|
937
|
+
var cap = this.rules.block.fences.exec(src);
|
|
938
|
+
|
|
939
|
+
if (cap) {
|
|
940
|
+
var raw = cap[0];
|
|
941
|
+
var text = indentCodeCompensation(raw, cap[3] || '');
|
|
942
|
+
return {
|
|
943
|
+
type: 'code',
|
|
944
|
+
raw: raw,
|
|
945
|
+
lang: cap[2] ? cap[2].trim() : cap[2],
|
|
946
|
+
text: text
|
|
947
|
+
};
|
|
948
|
+
}
|
|
949
|
+
};
|
|
950
|
+
|
|
951
|
+
_proto.heading = function heading(src) {
|
|
952
|
+
var cap = this.rules.block.heading.exec(src);
|
|
953
|
+
|
|
954
|
+
if (cap) {
|
|
955
|
+
var text = cap[2].trim(); // remove trailing #s
|
|
956
|
+
|
|
957
|
+
if (/#$/.test(text)) {
|
|
958
|
+
var trimmed = rtrim(text, '#');
|
|
959
|
+
|
|
960
|
+
if (this.options.pedantic) {
|
|
961
|
+
text = trimmed.trim();
|
|
962
|
+
} else if (!trimmed || / $/.test(trimmed)) {
|
|
963
|
+
// CommonMark requires space before trailing #s
|
|
964
|
+
text = trimmed.trim();
|
|
965
|
+
}
|
|
966
|
+
}
|
|
967
|
+
|
|
968
|
+
return {
|
|
969
|
+
type: 'heading',
|
|
970
|
+
raw: cap[0],
|
|
971
|
+
depth: cap[1].length,
|
|
972
|
+
text: text,
|
|
973
|
+
tokens: this.lexer.inline(text)
|
|
974
|
+
};
|
|
975
|
+
}
|
|
976
|
+
};
|
|
977
|
+
|
|
978
|
+
_proto.hr = function hr(src) {
|
|
979
|
+
var cap = this.rules.block.hr.exec(src);
|
|
980
|
+
|
|
981
|
+
if (cap) {
|
|
982
|
+
return {
|
|
983
|
+
type: 'hr',
|
|
984
|
+
raw: cap[0]
|
|
985
|
+
};
|
|
986
|
+
}
|
|
987
|
+
};
|
|
988
|
+
|
|
989
|
+
_proto.blockquote = function blockquote(src) {
|
|
990
|
+
var cap = this.rules.block.blockquote.exec(src);
|
|
991
|
+
|
|
992
|
+
if (cap) {
|
|
993
|
+
var text = cap[0].replace(/^ *>[ \t]?/gm, '');
|
|
994
|
+
return {
|
|
995
|
+
type: 'blockquote',
|
|
996
|
+
raw: cap[0],
|
|
997
|
+
tokens: this.lexer.blockTokens(text, []),
|
|
998
|
+
text: text
|
|
999
|
+
};
|
|
1000
|
+
}
|
|
1001
|
+
};
|
|
1002
|
+
|
|
1003
|
+
_proto.list = function list(src) {
|
|
1004
|
+
var cap = this.rules.block.list.exec(src);
|
|
1005
|
+
|
|
1006
|
+
if (cap) {
|
|
1007
|
+
var raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine, line, nextLine, rawLine, itemContents, endEarly;
|
|
1008
|
+
var bull = cap[1].trim();
|
|
1009
|
+
var isordered = bull.length > 1;
|
|
1010
|
+
var list = {
|
|
1011
|
+
type: 'list',
|
|
1012
|
+
raw: '',
|
|
1013
|
+
ordered: isordered,
|
|
1014
|
+
start: isordered ? +bull.slice(0, -1) : '',
|
|
1015
|
+
loose: false,
|
|
1016
|
+
items: []
|
|
1017
|
+
};
|
|
1018
|
+
bull = isordered ? "\\d{1,9}\\" + bull.slice(-1) : "\\" + bull;
|
|
1019
|
+
|
|
1020
|
+
if (this.options.pedantic) {
|
|
1021
|
+
bull = isordered ? bull : '[*+-]';
|
|
1022
|
+
} // Get next list item
|
|
1023
|
+
|
|
1024
|
+
|
|
1025
|
+
var itemRegex = new RegExp("^( {0,3}" + bull + ")((?:[\t ][^\\n]*)?(?:\\n|$))"); // Check if current bullet point can start a new List Item
|
|
1026
|
+
|
|
1027
|
+
while (src) {
|
|
1028
|
+
endEarly = false;
|
|
1029
|
+
|
|
1030
|
+
if (!(cap = itemRegex.exec(src))) {
|
|
1031
|
+
break;
|
|
1032
|
+
}
|
|
1033
|
+
|
|
1034
|
+
if (this.rules.block.hr.test(src)) {
|
|
1035
|
+
// End list if bullet was actually HR (possibly move into itemRegex?)
|
|
1036
|
+
break;
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1039
|
+
raw = cap[0];
|
|
1040
|
+
src = src.substring(raw.length);
|
|
1041
|
+
line = cap[2].split('\n', 1)[0];
|
|
1042
|
+
nextLine = src.split('\n', 1)[0];
|
|
1043
|
+
|
|
1044
|
+
if (this.options.pedantic) {
|
|
1045
|
+
indent = 2;
|
|
1046
|
+
itemContents = line.trimLeft();
|
|
1047
|
+
} else {
|
|
1048
|
+
indent = cap[2].search(/[^ ]/); // Find first non-space char
|
|
1049
|
+
|
|
1050
|
+
indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent
|
|
1051
|
+
|
|
1052
|
+
itemContents = line.slice(indent);
|
|
1053
|
+
indent += cap[1].length;
|
|
1054
|
+
}
|
|
1055
|
+
|
|
1056
|
+
blankLine = false;
|
|
1057
|
+
|
|
1058
|
+
if (!line && /^ *$/.test(nextLine)) {
|
|
1059
|
+
// Items begin with at most one blank line
|
|
1060
|
+
raw += nextLine + '\n';
|
|
1061
|
+
src = src.substring(nextLine.length + 1);
|
|
1062
|
+
endEarly = true;
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1065
|
+
if (!endEarly) {
|
|
1066
|
+
var nextBulletRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))");
|
|
1067
|
+
var hrRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)");
|
|
1068
|
+
var fencesBeginRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}(?:```|~~~)");
|
|
1069
|
+
var headingBeginRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}#"); // Check if following lines should be included in List Item
|
|
1070
|
+
|
|
1071
|
+
while (src) {
|
|
1072
|
+
rawLine = src.split('\n', 1)[0];
|
|
1073
|
+
line = rawLine; // Re-align to follow commonmark nesting rules
|
|
1074
|
+
|
|
1075
|
+
if (this.options.pedantic) {
|
|
1076
|
+
line = line.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');
|
|
1077
|
+
} // End list item if found code fences
|
|
1078
|
+
|
|
1079
|
+
|
|
1080
|
+
if (fencesBeginRegex.test(line)) {
|
|
1081
|
+
break;
|
|
1082
|
+
} // End list item if found start of new heading
|
|
1083
|
+
|
|
1084
|
+
|
|
1085
|
+
if (headingBeginRegex.test(line)) {
|
|
1086
|
+
break;
|
|
1087
|
+
} // End list item if found start of new bullet
|
|
1088
|
+
|
|
1089
|
+
|
|
1090
|
+
if (nextBulletRegex.test(line)) {
|
|
1091
|
+
break;
|
|
1092
|
+
} // Horizontal rule found
|
|
1093
|
+
|
|
1094
|
+
|
|
1095
|
+
if (hrRegex.test(src)) {
|
|
1096
|
+
break;
|
|
1097
|
+
}
|
|
1098
|
+
|
|
1099
|
+
if (line.search(/[^ ]/) >= indent || !line.trim()) {
|
|
1100
|
+
// Dedent if possible
|
|
1101
|
+
itemContents += '\n' + line.slice(indent);
|
|
1102
|
+
} else if (!blankLine) {
|
|
1103
|
+
// Until blank line, item doesn't need indentation
|
|
1104
|
+
itemContents += '\n' + line;
|
|
1105
|
+
} else {
|
|
1106
|
+
// Otherwise, improper indentation ends this item
|
|
1107
|
+
break;
|
|
1108
|
+
}
|
|
1109
|
+
|
|
1110
|
+
if (!blankLine && !line.trim()) {
|
|
1111
|
+
// Check if current line is blank
|
|
1112
|
+
blankLine = true;
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1115
|
+
raw += rawLine + '\n';
|
|
1116
|
+
src = src.substring(rawLine.length + 1);
|
|
1117
|
+
}
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
if (!list.loose) {
|
|
1121
|
+
// If the previous item ended with a blank line, the list is loose
|
|
1122
|
+
if (endsWithBlankLine) {
|
|
1123
|
+
list.loose = true;
|
|
1124
|
+
} else if (/\n *\n *$/.test(raw)) {
|
|
1125
|
+
endsWithBlankLine = true;
|
|
1126
|
+
}
|
|
1127
|
+
} // Check for task list items
|
|
1128
|
+
|
|
1129
|
+
|
|
1130
|
+
if (this.options.gfm) {
|
|
1131
|
+
istask = /^\[[ xX]\] /.exec(itemContents);
|
|
1132
|
+
|
|
1133
|
+
if (istask) {
|
|
1134
|
+
ischecked = istask[0] !== '[ ] ';
|
|
1135
|
+
itemContents = itemContents.replace(/^\[[ xX]\] +/, '');
|
|
1136
|
+
}
|
|
1137
|
+
}
|
|
1138
|
+
|
|
1139
|
+
list.items.push({
|
|
1140
|
+
type: 'list_item',
|
|
1141
|
+
raw: raw,
|
|
1142
|
+
task: !!istask,
|
|
1143
|
+
checked: ischecked,
|
|
1144
|
+
loose: false,
|
|
1145
|
+
text: itemContents
|
|
1146
|
+
});
|
|
1147
|
+
list.raw += raw;
|
|
1148
|
+
} // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic
|
|
1149
|
+
|
|
1150
|
+
|
|
1151
|
+
list.items[list.items.length - 1].raw = raw.trimRight();
|
|
1152
|
+
list.items[list.items.length - 1].text = itemContents.trimRight();
|
|
1153
|
+
list.raw = list.raw.trimRight();
|
|
1154
|
+
var l = list.items.length; // Item child tokens handled here at end because we needed to have the final item to trim it first
|
|
1155
|
+
|
|
1156
|
+
for (i = 0; i < l; i++) {
|
|
1157
|
+
this.lexer.state.top = false;
|
|
1158
|
+
list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);
|
|
1159
|
+
var spacers = list.items[i].tokens.filter(function (t) {
|
|
1160
|
+
return t.type === 'space';
|
|
1161
|
+
});
|
|
1162
|
+
var hasMultipleLineBreaks = spacers.every(function (t) {
|
|
1163
|
+
var chars = t.raw.split('');
|
|
1164
|
+
var lineBreaks = 0;
|
|
1165
|
+
|
|
1166
|
+
for (var _iterator = _createForOfIteratorHelperLoose(chars), _step; !(_step = _iterator()).done;) {
|
|
1167
|
+
var _char = _step.value;
|
|
1168
|
+
|
|
1169
|
+
if (_char === '\n') {
|
|
1170
|
+
lineBreaks += 1;
|
|
1171
|
+
}
|
|
1172
|
+
|
|
1173
|
+
if (lineBreaks > 1) {
|
|
1174
|
+
return true;
|
|
1175
|
+
}
|
|
1176
|
+
}
|
|
1177
|
+
|
|
1178
|
+
return false;
|
|
1179
|
+
});
|
|
1180
|
+
|
|
1181
|
+
if (!list.loose && spacers.length && hasMultipleLineBreaks) {
|
|
1182
|
+
// Having a single line break doesn't mean a list is loose. A single line break is terminating the last list item
|
|
1183
|
+
list.loose = true;
|
|
1184
|
+
list.items[i].loose = true;
|
|
1185
|
+
}
|
|
1186
|
+
}
|
|
1187
|
+
|
|
1188
|
+
return list;
|
|
1189
|
+
}
|
|
1190
|
+
};
|
|
1191
|
+
|
|
1192
|
+
_proto.html = function html(src) {
|
|
1193
|
+
var cap = this.rules.block.html.exec(src);
|
|
1194
|
+
|
|
1195
|
+
if (cap) {
|
|
1196
|
+
var token = {
|
|
1197
|
+
type: 'html',
|
|
1198
|
+
raw: cap[0],
|
|
1199
|
+
pre: !this.options.sanitizer && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),
|
|
1200
|
+
text: cap[0]
|
|
1201
|
+
};
|
|
1202
|
+
|
|
1203
|
+
if (this.options.sanitize) {
|
|
1204
|
+
var text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]);
|
|
1205
|
+
token.type = 'paragraph';
|
|
1206
|
+
token.text = text;
|
|
1207
|
+
token.tokens = this.lexer.inline(text);
|
|
1208
|
+
}
|
|
1209
|
+
|
|
1210
|
+
return token;
|
|
1211
|
+
}
|
|
1212
|
+
};
|
|
1213
|
+
|
|
1214
|
+
_proto.def = function def(src) {
|
|
1215
|
+
var cap = this.rules.block.def.exec(src);
|
|
1216
|
+
|
|
1217
|
+
if (cap) {
|
|
1218
|
+
if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);
|
|
1219
|
+
var tag = cap[1].toLowerCase().replace(/\s+/g, ' ');
|
|
1220
|
+
return {
|
|
1221
|
+
type: 'def',
|
|
1222
|
+
tag: tag,
|
|
1223
|
+
raw: cap[0],
|
|
1224
|
+
href: cap[2],
|
|
1225
|
+
title: cap[3]
|
|
1226
|
+
};
|
|
1227
|
+
}
|
|
1228
|
+
};
|
|
1229
|
+
|
|
1230
|
+
_proto.table = function table(src) {
|
|
1231
|
+
var cap = this.rules.block.table.exec(src);
|
|
1232
|
+
|
|
1233
|
+
if (cap) {
|
|
1234
|
+
var item = {
|
|
1235
|
+
type: 'table',
|
|
1236
|
+
header: splitCells(cap[1]).map(function (c) {
|
|
1237
|
+
return {
|
|
1238
|
+
text: c
|
|
1239
|
+
};
|
|
1240
|
+
}),
|
|
1241
|
+
align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
|
|
1242
|
+
rows: cap[3] && cap[3].trim() ? cap[3].replace(/\n[ \t]*$/, '').split('\n') : []
|
|
1243
|
+
};
|
|
1244
|
+
|
|
1245
|
+
if (item.header.length === item.align.length) {
|
|
1246
|
+
item.raw = cap[0];
|
|
1247
|
+
var l = item.align.length;
|
|
1248
|
+
var i, j, k, row;
|
|
1249
|
+
|
|
1250
|
+
for (i = 0; i < l; i++) {
|
|
1251
|
+
if (/^ *-+: *$/.test(item.align[i])) {
|
|
1252
|
+
item.align[i] = 'right';
|
|
1253
|
+
} else if (/^ *:-+: *$/.test(item.align[i])) {
|
|
1254
|
+
item.align[i] = 'center';
|
|
1255
|
+
} else if (/^ *:-+ *$/.test(item.align[i])) {
|
|
1256
|
+
item.align[i] = 'left';
|
|
1257
|
+
} else {
|
|
1258
|
+
item.align[i] = null;
|
|
1259
|
+
}
|
|
1260
|
+
}
|
|
1261
|
+
|
|
1262
|
+
l = item.rows.length;
|
|
1263
|
+
|
|
1264
|
+
for (i = 0; i < l; i++) {
|
|
1265
|
+
item.rows[i] = splitCells(item.rows[i], item.header.length).map(function (c) {
|
|
1266
|
+
return {
|
|
1267
|
+
text: c
|
|
1268
|
+
};
|
|
1269
|
+
});
|
|
1270
|
+
} // parse child tokens inside headers and cells
|
|
1271
|
+
// header child tokens
|
|
1272
|
+
|
|
1273
|
+
|
|
1274
|
+
l = item.header.length;
|
|
1275
|
+
|
|
1276
|
+
for (j = 0; j < l; j++) {
|
|
1277
|
+
item.header[j].tokens = this.lexer.inline(item.header[j].text);
|
|
1278
|
+
} // cell child tokens
|
|
1279
|
+
|
|
1280
|
+
|
|
1281
|
+
l = item.rows.length;
|
|
1282
|
+
|
|
1283
|
+
for (j = 0; j < l; j++) {
|
|
1284
|
+
row = item.rows[j];
|
|
1285
|
+
|
|
1286
|
+
for (k = 0; k < row.length; k++) {
|
|
1287
|
+
row[k].tokens = this.lexer.inline(row[k].text);
|
|
1288
|
+
}
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
return item;
|
|
1292
|
+
}
|
|
1293
|
+
}
|
|
1294
|
+
};
|
|
1295
|
+
|
|
1296
|
+
_proto.lheading = function lheading(src) {
|
|
1297
|
+
var cap = this.rules.block.lheading.exec(src);
|
|
1298
|
+
|
|
1299
|
+
if (cap) {
|
|
1300
|
+
return {
|
|
1301
|
+
type: 'heading',
|
|
1302
|
+
raw: cap[0],
|
|
1303
|
+
depth: cap[2].charAt(0) === '=' ? 1 : 2,
|
|
1304
|
+
text: cap[1],
|
|
1305
|
+
tokens: this.lexer.inline(cap[1])
|
|
1306
|
+
};
|
|
1307
|
+
}
|
|
1308
|
+
};
|
|
1309
|
+
|
|
1310
|
+
_proto.paragraph = function paragraph(src) {
|
|
1311
|
+
var cap = this.rules.block.paragraph.exec(src);
|
|
1312
|
+
|
|
1313
|
+
if (cap) {
|
|
1314
|
+
var text = cap[1].charAt(cap[1].length - 1) === '\n' ? cap[1].slice(0, -1) : cap[1];
|
|
1315
|
+
return {
|
|
1316
|
+
type: 'paragraph',
|
|
1317
|
+
raw: cap[0],
|
|
1318
|
+
text: text,
|
|
1319
|
+
tokens: this.lexer.inline(text)
|
|
1320
|
+
};
|
|
1321
|
+
}
|
|
1322
|
+
};
|
|
1323
|
+
|
|
1324
|
+
_proto.text = function text(src) {
|
|
1325
|
+
var cap = this.rules.block.text.exec(src);
|
|
1326
|
+
|
|
1327
|
+
if (cap) {
|
|
1328
|
+
return {
|
|
1329
|
+
type: 'text',
|
|
1330
|
+
raw: cap[0],
|
|
1331
|
+
text: cap[0],
|
|
1332
|
+
tokens: this.lexer.inline(cap[0])
|
|
1333
|
+
};
|
|
1334
|
+
}
|
|
1335
|
+
};
|
|
1336
|
+
|
|
1337
|
+
_proto.escape = function escape$1(src) {
|
|
1338
|
+
var cap = this.rules.inline.escape.exec(src);
|
|
1339
|
+
|
|
1340
|
+
if (cap) {
|
|
1341
|
+
return {
|
|
1342
|
+
type: 'escape',
|
|
1343
|
+
raw: cap[0],
|
|
1344
|
+
text: escape(cap[1])
|
|
1345
|
+
};
|
|
1346
|
+
}
|
|
1347
|
+
};
|
|
1348
|
+
|
|
1349
|
+
_proto.tag = function tag(src) {
|
|
1350
|
+
var cap = this.rules.inline.tag.exec(src);
|
|
1351
|
+
|
|
1352
|
+
if (cap) {
|
|
1353
|
+
if (!this.lexer.state.inLink && /^<a /i.test(cap[0])) {
|
|
1354
|
+
this.lexer.state.inLink = true;
|
|
1355
|
+
} else if (this.lexer.state.inLink && /^<\/a>/i.test(cap[0])) {
|
|
1356
|
+
this.lexer.state.inLink = false;
|
|
1357
|
+
}
|
|
1358
|
+
|
|
1359
|
+
if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(cap[0])) {
|
|
1360
|
+
this.lexer.state.inRawBlock = true;
|
|
1361
|
+
} else if (this.lexer.state.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(cap[0])) {
|
|
1362
|
+
this.lexer.state.inRawBlock = false;
|
|
1363
|
+
}
|
|
1364
|
+
|
|
1365
|
+
return {
|
|
1366
|
+
type: this.options.sanitize ? 'text' : 'html',
|
|
1367
|
+
raw: cap[0],
|
|
1368
|
+
inLink: this.lexer.state.inLink,
|
|
1369
|
+
inRawBlock: this.lexer.state.inRawBlock,
|
|
1370
|
+
text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0]
|
|
1371
|
+
};
|
|
1372
|
+
}
|
|
1373
|
+
};
|
|
1374
|
+
|
|
1375
|
+
_proto.link = function link(src) {
|
|
1376
|
+
var cap = this.rules.inline.link.exec(src);
|
|
1377
|
+
|
|
1378
|
+
if (cap) {
|
|
1379
|
+
var trimmedUrl = cap[2].trim();
|
|
1380
|
+
|
|
1381
|
+
if (!this.options.pedantic && /^</.test(trimmedUrl)) {
|
|
1382
|
+
// commonmark requires matching angle brackets
|
|
1383
|
+
if (!/>$/.test(trimmedUrl)) {
|
|
1384
|
+
return;
|
|
1385
|
+
} // ending angle bracket cannot be escaped
|
|
1386
|
+
|
|
1387
|
+
|
|
1388
|
+
var rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\');
|
|
1389
|
+
|
|
1390
|
+
if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {
|
|
1391
|
+
return;
|
|
1392
|
+
}
|
|
1393
|
+
} else {
|
|
1394
|
+
// find closing parenthesis
|
|
1395
|
+
var lastParenIndex = findClosingBracket(cap[2], '()');
|
|
1396
|
+
|
|
1397
|
+
if (lastParenIndex > -1) {
|
|
1398
|
+
var start = cap[0].indexOf('!') === 0 ? 5 : 4;
|
|
1399
|
+
var linkLen = start + cap[1].length + lastParenIndex;
|
|
1400
|
+
cap[2] = cap[2].substring(0, lastParenIndex);
|
|
1401
|
+
cap[0] = cap[0].substring(0, linkLen).trim();
|
|
1402
|
+
cap[3] = '';
|
|
1403
|
+
}
|
|
1404
|
+
}
|
|
1405
|
+
|
|
1406
|
+
var href = cap[2];
|
|
1407
|
+
var title = '';
|
|
1408
|
+
|
|
1409
|
+
if (this.options.pedantic) {
|
|
1410
|
+
// split pedantic href and title
|
|
1411
|
+
var link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href);
|
|
1412
|
+
|
|
1413
|
+
if (link) {
|
|
1414
|
+
href = link[1];
|
|
1415
|
+
title = link[3];
|
|
1416
|
+
}
|
|
1417
|
+
} else {
|
|
1418
|
+
title = cap[3] ? cap[3].slice(1, -1) : '';
|
|
1419
|
+
}
|
|
1420
|
+
|
|
1421
|
+
href = href.trim();
|
|
1422
|
+
|
|
1423
|
+
if (/^</.test(href)) {
|
|
1424
|
+
if (this.options.pedantic && !/>$/.test(trimmedUrl)) {
|
|
1425
|
+
// pedantic allows starting angle bracket without ending angle bracket
|
|
1426
|
+
href = href.slice(1);
|
|
1427
|
+
} else {
|
|
1428
|
+
href = href.slice(1, -1);
|
|
1429
|
+
}
|
|
1430
|
+
}
|
|
1431
|
+
|
|
1432
|
+
return outputLink(cap, {
|
|
1433
|
+
href: href ? href.replace(this.rules.inline._escapes, '$1') : href,
|
|
1434
|
+
title: title ? title.replace(this.rules.inline._escapes, '$1') : title
|
|
1435
|
+
}, cap[0], this.lexer);
|
|
1436
|
+
}
|
|
1437
|
+
};
|
|
1438
|
+
|
|
1439
|
+
_proto.reflink = function reflink(src, links) {
|
|
1440
|
+
var cap;
|
|
1441
|
+
|
|
1442
|
+
if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {
|
|
1443
|
+
var link = (cap[2] || cap[1]).replace(/\s+/g, ' ');
|
|
1444
|
+
link = links[link.toLowerCase()];
|
|
1445
|
+
|
|
1446
|
+
if (!link || !link.href) {
|
|
1447
|
+
var text = cap[0].charAt(0);
|
|
1448
|
+
return {
|
|
1449
|
+
type: 'text',
|
|
1450
|
+
raw: text,
|
|
1451
|
+
text: text
|
|
1452
|
+
};
|
|
1453
|
+
}
|
|
1454
|
+
|
|
1455
|
+
return outputLink(cap, link, cap[0], this.lexer);
|
|
1456
|
+
}
|
|
1457
|
+
};
|
|
1458
|
+
|
|
1459
|
+
_proto.emStrong = function emStrong(src, maskedSrc, prevChar) {
|
|
1460
|
+
if (prevChar === void 0) {
|
|
1461
|
+
prevChar = '';
|
|
1462
|
+
}
|
|
1463
|
+
|
|
1464
|
+
var match = this.rules.inline.emStrong.lDelim.exec(src);
|
|
1465
|
+
if (!match) return; // _ can't be between two alphanumerics. \p{L}\p{N} includes non-english alphabet/numbers as well
|
|
1466
|
+
|
|
1467
|
+
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;
|
|
1468
|
+
var nextChar = match[1] || match[2] || '';
|
|
1469
|
+
|
|
1470
|
+
if (!nextChar || nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar))) {
|
|
1471
|
+
var lLength = match[0].length - 1;
|
|
1472
|
+
var rDelim,
|
|
1473
|
+
rLength,
|
|
1474
|
+
delimTotal = lLength,
|
|
1475
|
+
midDelimTotal = 0;
|
|
1476
|
+
var endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;
|
|
1477
|
+
endReg.lastIndex = 0; // Clip maskedSrc to same section of string as src (move to lexer?)
|
|
1478
|
+
|
|
1479
|
+
maskedSrc = maskedSrc.slice(-1 * src.length + lLength);
|
|
1480
|
+
|
|
1481
|
+
while ((match = endReg.exec(maskedSrc)) != null) {
|
|
1482
|
+
rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];
|
|
1483
|
+
if (!rDelim) continue; // skip single * in __abc*abc__
|
|
1484
|
+
|
|
1485
|
+
rLength = rDelim.length;
|
|
1486
|
+
|
|
1487
|
+
if (match[3] || match[4]) {
|
|
1488
|
+
// found another Left Delim
|
|
1489
|
+
delimTotal += rLength;
|
|
1490
|
+
continue;
|
|
1491
|
+
} else if (match[5] || match[6]) {
|
|
1492
|
+
// either Left or Right Delim
|
|
1493
|
+
if (lLength % 3 && !((lLength + rLength) % 3)) {
|
|
1494
|
+
midDelimTotal += rLength;
|
|
1495
|
+
continue; // CommonMark Emphasis Rules 9-10
|
|
1496
|
+
}
|
|
1497
|
+
}
|
|
1498
|
+
|
|
1499
|
+
delimTotal -= rLength;
|
|
1500
|
+
if (delimTotal > 0) continue; // Haven't found enough closing delimiters
|
|
1501
|
+
// Remove extra characters. *a*** -> *a*
|
|
1502
|
+
|
|
1503
|
+
rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal); // Create `em` if smallest delimiter has odd char count. *a***
|
|
1504
|
+
|
|
1505
|
+
if (Math.min(lLength, rLength) % 2) {
|
|
1506
|
+
var _text = src.slice(1, lLength + match.index + rLength);
|
|
1507
|
+
|
|
1508
|
+
return {
|
|
1509
|
+
type: 'em',
|
|
1510
|
+
raw: src.slice(0, lLength + match.index + rLength + 1),
|
|
1511
|
+
text: _text,
|
|
1512
|
+
tokens: this.lexer.inlineTokens(_text)
|
|
1513
|
+
};
|
|
1514
|
+
} // Create 'strong' if smallest delimiter has even char count. **a***
|
|
1515
|
+
|
|
1516
|
+
|
|
1517
|
+
var text = src.slice(2, lLength + match.index + rLength - 1);
|
|
1518
|
+
return {
|
|
1519
|
+
type: 'strong',
|
|
1520
|
+
raw: src.slice(0, lLength + match.index + rLength + 1),
|
|
1521
|
+
text: text,
|
|
1522
|
+
tokens: this.lexer.inlineTokens(text)
|
|
1523
|
+
};
|
|
1524
|
+
}
|
|
1525
|
+
}
|
|
1526
|
+
};
|
|
1527
|
+
|
|
1528
|
+
_proto.codespan = function codespan(src) {
|
|
1529
|
+
var cap = this.rules.inline.code.exec(src);
|
|
1530
|
+
|
|
1531
|
+
if (cap) {
|
|
1532
|
+
var text = cap[2].replace(/\n/g, ' ');
|
|
1533
|
+
var hasNonSpaceChars = /[^ ]/.test(text);
|
|
1534
|
+
var hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);
|
|
1535
|
+
|
|
1536
|
+
if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {
|
|
1537
|
+
text = text.substring(1, text.length - 1);
|
|
1538
|
+
}
|
|
1539
|
+
|
|
1540
|
+
text = escape(text, true);
|
|
1541
|
+
return {
|
|
1542
|
+
type: 'codespan',
|
|
1543
|
+
raw: cap[0],
|
|
1544
|
+
text: text
|
|
1545
|
+
};
|
|
1546
|
+
}
|
|
1547
|
+
};
|
|
1548
|
+
|
|
1549
|
+
_proto.br = function br(src) {
|
|
1550
|
+
var cap = this.rules.inline.br.exec(src);
|
|
1551
|
+
|
|
1552
|
+
if (cap) {
|
|
1553
|
+
return {
|
|
1554
|
+
type: 'br',
|
|
1555
|
+
raw: cap[0]
|
|
1556
|
+
};
|
|
1557
|
+
}
|
|
1558
|
+
};
|
|
1559
|
+
|
|
1560
|
+
_proto.del = function del(src) {
|
|
1561
|
+
var cap = this.rules.inline.del.exec(src);
|
|
1562
|
+
|
|
1563
|
+
if (cap) {
|
|
1564
|
+
return {
|
|
1565
|
+
type: 'del',
|
|
1566
|
+
raw: cap[0],
|
|
1567
|
+
text: cap[2],
|
|
1568
|
+
tokens: this.lexer.inlineTokens(cap[2])
|
|
1569
|
+
};
|
|
1570
|
+
}
|
|
1571
|
+
};
|
|
1572
|
+
|
|
1573
|
+
_proto.autolink = function autolink(src, mangle) {
|
|
1574
|
+
var cap = this.rules.inline.autolink.exec(src);
|
|
1575
|
+
|
|
1576
|
+
if (cap) {
|
|
1577
|
+
var text, href;
|
|
1578
|
+
|
|
1579
|
+
if (cap[2] === '@') {
|
|
1580
|
+
text = escape(this.options.mangle ? mangle(cap[1]) : cap[1]);
|
|
1581
|
+
href = 'mailto:' + text;
|
|
1582
|
+
} else {
|
|
1583
|
+
text = escape(cap[1]);
|
|
1584
|
+
href = text;
|
|
1585
|
+
}
|
|
1586
|
+
|
|
1587
|
+
return {
|
|
1588
|
+
type: 'link',
|
|
1589
|
+
raw: cap[0],
|
|
1590
|
+
text: text,
|
|
1591
|
+
href: href,
|
|
1592
|
+
tokens: [{
|
|
1593
|
+
type: 'text',
|
|
1594
|
+
raw: text,
|
|
1595
|
+
text: text
|
|
1596
|
+
}]
|
|
1597
|
+
};
|
|
1598
|
+
}
|
|
1599
|
+
};
|
|
1600
|
+
|
|
1601
|
+
_proto.url = function url(src, mangle) {
|
|
1602
|
+
var cap;
|
|
1603
|
+
|
|
1604
|
+
if (cap = this.rules.inline.url.exec(src)) {
|
|
1605
|
+
var text, href;
|
|
1606
|
+
|
|
1607
|
+
if (cap[2] === '@') {
|
|
1608
|
+
text = escape(this.options.mangle ? mangle(cap[0]) : cap[0]);
|
|
1609
|
+
href = 'mailto:' + text;
|
|
1610
|
+
} else {
|
|
1611
|
+
// do extended autolink path validation
|
|
1612
|
+
var prevCapZero;
|
|
1613
|
+
|
|
1614
|
+
do {
|
|
1615
|
+
prevCapZero = cap[0];
|
|
1616
|
+
cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];
|
|
1617
|
+
} while (prevCapZero !== cap[0]);
|
|
1618
|
+
|
|
1619
|
+
text = escape(cap[0]);
|
|
1620
|
+
|
|
1621
|
+
if (cap[1] === 'www.') {
|
|
1622
|
+
href = 'http://' + text;
|
|
1623
|
+
} else {
|
|
1624
|
+
href = text;
|
|
1625
|
+
}
|
|
1626
|
+
}
|
|
1627
|
+
|
|
1628
|
+
return {
|
|
1629
|
+
type: 'link',
|
|
1630
|
+
raw: cap[0],
|
|
1631
|
+
text: text,
|
|
1632
|
+
href: href,
|
|
1633
|
+
tokens: [{
|
|
1634
|
+
type: 'text',
|
|
1635
|
+
raw: text,
|
|
1636
|
+
text: text
|
|
1637
|
+
}]
|
|
1638
|
+
};
|
|
1639
|
+
}
|
|
1640
|
+
};
|
|
1641
|
+
|
|
1642
|
+
_proto.inlineText = function inlineText(src, smartypants) {
|
|
1643
|
+
var cap = this.rules.inline.text.exec(src);
|
|
1644
|
+
|
|
1645
|
+
if (cap) {
|
|
1646
|
+
var text;
|
|
1647
|
+
|
|
1648
|
+
if (this.lexer.state.inRawBlock) {
|
|
1649
|
+
text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0];
|
|
1650
|
+
} else {
|
|
1651
|
+
text = escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);
|
|
1652
|
+
}
|
|
1653
|
+
|
|
1654
|
+
return {
|
|
1655
|
+
type: 'text',
|
|
1656
|
+
raw: cap[0],
|
|
1657
|
+
text: text
|
|
1658
|
+
};
|
|
1659
|
+
}
|
|
1660
|
+
};
|
|
1661
|
+
|
|
1662
|
+
return Tokenizer;
|
|
1663
|
+
}();
|
|
1664
|
+
|
|
1665
|
+
/**
|
|
1666
|
+
* Block-Level Grammar
|
|
1667
|
+
*/
|
|
1668
|
+
|
|
1669
|
+
var block = {
|
|
1670
|
+
newline: /^(?: *(?:\n|$))+/,
|
|
1671
|
+
code: /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,
|
|
1672
|
+
fences: /^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,
|
|
1673
|
+
hr: /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,
|
|
1674
|
+
heading: /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,
|
|
1675
|
+
blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,
|
|
1676
|
+
list: /^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,
|
|
1677
|
+
html: '^ {0,3}(?:' // optional indentation
|
|
1678
|
+
+ '<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)' // (1)
|
|
1679
|
+
+ '|comment[^\\n]*(\\n+|$)' // (2)
|
|
1680
|
+
+ '|<\\?[\\s\\S]*?(?:\\?>\\n*|$)' // (3)
|
|
1681
|
+
+ '|<![A-Z][\\s\\S]*?(?:>\\n*|$)' // (4)
|
|
1682
|
+
+ '|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)' // (5)
|
|
1683
|
+
+ '|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (6)
|
|
1684
|
+
+ '|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) open tag
|
|
1685
|
+
+ '|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) closing tag
|
|
1686
|
+
+ ')',
|
|
1687
|
+
def: /^ {0,3}\[(label)\]: *(?:\n *)?<?([^\s>]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,
|
|
1688
|
+
table: noopTest,
|
|
1689
|
+
lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,
|
|
1690
|
+
// regex template, placeholders will be replaced according to different paragraph
|
|
1691
|
+
// interruption rules of commonmark and the original markdown spec:
|
|
1692
|
+
_paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,
|
|
1693
|
+
text: /^[^\n]+/
|
|
1694
|
+
};
|
|
1695
|
+
block._label = /(?!\s*\])(?:\\.|[^\[\]\\])+/;
|
|
1696
|
+
block._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/;
|
|
1697
|
+
block.def = edit(block.def).replace('label', block._label).replace('title', block._title).getRegex();
|
|
1698
|
+
block.bullet = /(?:[*+-]|\d{1,9}[.)])/;
|
|
1699
|
+
block.listItemStart = edit(/^( *)(bull) */).replace('bull', block.bullet).getRegex();
|
|
1700
|
+
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();
|
|
1701
|
+
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';
|
|
1702
|
+
block._comment = /<!--(?!-?>)[\s\S]*?(?:-->|$)/;
|
|
1703
|
+
block.html = edit(block.html, 'i').replace('comment', block._comment).replace('tag', block._tag).replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
|
|
1704
|
+
block.paragraph = edit(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs
|
|
1705
|
+
.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
|
|
1706
|
+
.replace('html', '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks
|
|
1707
|
+
.getRegex();
|
|
1708
|
+
block.blockquote = edit(block.blockquote).replace('paragraph', block.paragraph).getRegex();
|
|
1709
|
+
/**
|
|
1710
|
+
* Normal Block Grammar
|
|
1711
|
+
*/
|
|
1712
|
+
|
|
1713
|
+
block.normal = merge({}, block);
|
|
1714
|
+
/**
|
|
1715
|
+
* GFM Block Grammar
|
|
1716
|
+
*/
|
|
1717
|
+
|
|
1718
|
+
block.gfm = merge({}, block.normal, {
|
|
1719
|
+
table: '^ *([^\\n ].*\\|.*)\\n' // Header
|
|
1720
|
+
+ ' {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?' // Align
|
|
1721
|
+
+ '(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)' // Cells
|
|
1722
|
+
|
|
1723
|
+
});
|
|
1724
|
+
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
|
|
1725
|
+
.replace('html', '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // tables can be interrupted by type (6) html blocks
|
|
1726
|
+
.getRegex();
|
|
1727
|
+
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
|
|
1728
|
+
.replace('table', block.gfm.table) // interrupt paragraphs with table
|
|
1729
|
+
.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
|
|
1730
|
+
.replace('html', '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks
|
|
1731
|
+
.getRegex();
|
|
1732
|
+
/**
|
|
1733
|
+
* Pedantic grammar (original John Gruber's loose markdown specification)
|
|
1734
|
+
*/
|
|
1735
|
+
|
|
1736
|
+
block.pedantic = merge({}, block.normal, {
|
|
1737
|
+
html: edit('^ *(?:comment *(?:\\n|\\s*$)' + '|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)' // closed tag
|
|
1738
|
+
+ '|<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(),
|
|
1739
|
+
def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
|
|
1740
|
+
heading: /^(#{1,6})(.*)(?:\n+|$)/,
|
|
1741
|
+
fences: noopTest,
|
|
1742
|
+
// fences not supported
|
|
1743
|
+
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()
|
|
1744
|
+
});
|
|
1745
|
+
/**
|
|
1746
|
+
* Inline-Level Grammar
|
|
1747
|
+
*/
|
|
1748
|
+
|
|
1749
|
+
var inline = {
|
|
1750
|
+
escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,
|
|
1751
|
+
autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/,
|
|
1752
|
+
url: noopTest,
|
|
1753
|
+
tag: '^comment' + '|^</[a-zA-Z][\\w:-]*\\s*>' // self-closing tag
|
|
1754
|
+
+ '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag
|
|
1755
|
+
+ '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g. <?php ?>
|
|
1756
|
+
+ '|^<![a-zA-Z]+\\s[\\s\\S]*?>' // declaration, e.g. <!DOCTYPE html>
|
|
1757
|
+
+ '|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>',
|
|
1758
|
+
// CDATA section
|
|
1759
|
+
link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,
|
|
1760
|
+
reflink: /^!?\[(label)\]\[(ref)\]/,
|
|
1761
|
+
nolink: /^!?\[(ref)\](?:\[\])?/,
|
|
1762
|
+
reflinkSearch: 'reflink|nolink(?!\\()',
|
|
1763
|
+
emStrong: {
|
|
1764
|
+
lDelim: /^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,
|
|
1765
|
+
// (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.
|
|
1766
|
+
// () Skip orphan inside strong () Consume to delim (1) #*** (2) a***#, a*** (3) #***a, ***a (4) ***# (5) #***# (6) a***a
|
|
1767
|
+
rDelimAst: /^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,
|
|
1768
|
+
rDelimUnd: /^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/ // ^- Not allowed for _
|
|
1769
|
+
|
|
1770
|
+
},
|
|
1771
|
+
code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,
|
|
1772
|
+
br: /^( {2,}|\\)\n(?!\s*$)/,
|
|
1773
|
+
del: noopTest,
|
|
1774
|
+
text: /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,
|
|
1775
|
+
punctuation: /^([\spunctuation])/
|
|
1776
|
+
}; // list of punctuation marks from CommonMark spec
|
|
1777
|
+
// without * and _ to handle the different emphasis markers * and _
|
|
1778
|
+
|
|
1779
|
+
inline._punctuation = '!"#$%&\'()+\\-.,/:;<=>?@\\[\\]`^{|}~';
|
|
1780
|
+
inline.punctuation = edit(inline.punctuation).replace(/punctuation/g, inline._punctuation).getRegex(); // sequences em should skip over [title](link), `code`, <html>
|
|
1781
|
+
|
|
1782
|
+
inline.blockSkip = /\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g;
|
|
1783
|
+
inline.escapedEmSt = /\\\*|\\_/g;
|
|
1784
|
+
inline._comment = edit(block._comment).replace('(?:-->|$)', '-->').getRegex();
|
|
1785
|
+
inline.emStrong.lDelim = edit(inline.emStrong.lDelim).replace(/punct/g, inline._punctuation).getRegex();
|
|
1786
|
+
inline.emStrong.rDelimAst = edit(inline.emStrong.rDelimAst, 'g').replace(/punct/g, inline._punctuation).getRegex();
|
|
1787
|
+
inline.emStrong.rDelimUnd = edit(inline.emStrong.rDelimUnd, 'g').replace(/punct/g, inline._punctuation).getRegex();
|
|
1788
|
+
inline._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g;
|
|
1789
|
+
inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;
|
|
1790
|
+
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])?)+(?![-_])/;
|
|
1791
|
+
inline.autolink = edit(inline.autolink).replace('scheme', inline._scheme).replace('email', inline._email).getRegex();
|
|
1792
|
+
inline._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/;
|
|
1793
|
+
inline.tag = edit(inline.tag).replace('comment', inline._comment).replace('attribute', inline._attribute).getRegex();
|
|
1794
|
+
inline._label = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;
|
|
1795
|
+
inline._href = /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/;
|
|
1796
|
+
inline._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/;
|
|
1797
|
+
inline.link = edit(inline.link).replace('label', inline._label).replace('href', inline._href).replace('title', inline._title).getRegex();
|
|
1798
|
+
inline.reflink = edit(inline.reflink).replace('label', inline._label).replace('ref', block._label).getRegex();
|
|
1799
|
+
inline.nolink = edit(inline.nolink).replace('ref', block._label).getRegex();
|
|
1800
|
+
inline.reflinkSearch = edit(inline.reflinkSearch, 'g').replace('reflink', inline.reflink).replace('nolink', inline.nolink).getRegex();
|
|
1801
|
+
/**
|
|
1802
|
+
* Normal Inline Grammar
|
|
1803
|
+
*/
|
|
1804
|
+
|
|
1805
|
+
inline.normal = merge({}, inline);
|
|
1806
|
+
/**
|
|
1807
|
+
* Pedantic Inline Grammar
|
|
1808
|
+
*/
|
|
1809
|
+
|
|
1810
|
+
inline.pedantic = merge({}, inline.normal, {
|
|
1811
|
+
strong: {
|
|
1812
|
+
start: /^__|\*\*/,
|
|
1813
|
+
middle: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,
|
|
1814
|
+
endAst: /\*\*(?!\*)/g,
|
|
1815
|
+
endUnd: /__(?!_)/g
|
|
1816
|
+
},
|
|
1817
|
+
em: {
|
|
1818
|
+
start: /^_|\*/,
|
|
1819
|
+
middle: /^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,
|
|
1820
|
+
endAst: /\*(?!\*)/g,
|
|
1821
|
+
endUnd: /_(?!_)/g
|
|
1822
|
+
},
|
|
1823
|
+
link: edit(/^!?\[(label)\]\((.*?)\)/).replace('label', inline._label).getRegex(),
|
|
1824
|
+
reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace('label', inline._label).getRegex()
|
|
1825
|
+
});
|
|
1826
|
+
/**
|
|
1827
|
+
* GFM Inline Grammar
|
|
1828
|
+
*/
|
|
1829
|
+
|
|
1830
|
+
inline.gfm = merge({}, inline.normal, {
|
|
1831
|
+
escape: edit(inline.escape).replace('])', '~|])').getRegex(),
|
|
1832
|
+
_extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,
|
|
1833
|
+
url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,
|
|
1834
|
+
_backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,
|
|
1835
|
+
del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,
|
|
1836
|
+
text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/
|
|
1837
|
+
});
|
|
1838
|
+
inline.gfm.url = edit(inline.gfm.url, 'i').replace('email', inline.gfm._extended_email).getRegex();
|
|
1839
|
+
/**
|
|
1840
|
+
* GFM + Line Breaks Inline Grammar
|
|
1841
|
+
*/
|
|
1842
|
+
|
|
1843
|
+
inline.breaks = merge({}, inline.gfm, {
|
|
1844
|
+
br: edit(inline.br).replace('{2,}', '*').getRegex(),
|
|
1845
|
+
text: edit(inline.gfm.text).replace('\\b_', '\\b_| {2,}\\n').replace(/\{2,\}/g, '*').getRegex()
|
|
1846
|
+
});
|
|
1847
|
+
|
|
1848
|
+
/**
|
|
1849
|
+
* smartypants text replacement
|
|
1850
|
+
* @param {string} text
|
|
1851
|
+
*/
|
|
1852
|
+
|
|
1853
|
+
function smartypants(text) {
|
|
1854
|
+
return text // em-dashes
|
|
1855
|
+
.replace(/---/g, "\u2014") // en-dashes
|
|
1856
|
+
.replace(/--/g, "\u2013") // opening singles
|
|
1857
|
+
.replace(/(^|[-\u2014/(\[{"\s])'/g, "$1\u2018") // closing singles & apostrophes
|
|
1858
|
+
.replace(/'/g, "\u2019") // opening doubles
|
|
1859
|
+
.replace(/(^|[-\u2014/(\[{\u2018\s])"/g, "$1\u201C") // closing doubles
|
|
1860
|
+
.replace(/"/g, "\u201D") // ellipses
|
|
1861
|
+
.replace(/\.{3}/g, "\u2026");
|
|
1862
|
+
}
|
|
1863
|
+
/**
|
|
1864
|
+
* mangle email addresses
|
|
1865
|
+
* @param {string} text
|
|
1866
|
+
*/
|
|
1867
|
+
|
|
1868
|
+
|
|
1869
|
+
function mangle(text) {
|
|
1870
|
+
var out = '',
|
|
1871
|
+
i,
|
|
1872
|
+
ch;
|
|
1873
|
+
var l = text.length;
|
|
1874
|
+
|
|
1875
|
+
for (i = 0; i < l; i++) {
|
|
1876
|
+
ch = text.charCodeAt(i);
|
|
1877
|
+
|
|
1878
|
+
if (Math.random() > 0.5) {
|
|
1879
|
+
ch = 'x' + ch.toString(16);
|
|
1880
|
+
}
|
|
1881
|
+
|
|
1882
|
+
out += '&#' + ch + ';';
|
|
1883
|
+
}
|
|
1884
|
+
|
|
1885
|
+
return out;
|
|
1886
|
+
}
|
|
1887
|
+
/**
|
|
1888
|
+
* Block Lexer
|
|
1889
|
+
*/
|
|
1890
|
+
|
|
1891
|
+
|
|
1892
|
+
var Lexer = /*#__PURE__*/function () {
|
|
1893
|
+
function Lexer(options) {
|
|
1894
|
+
this.tokens = [];
|
|
1895
|
+
this.tokens.links = Object.create(null);
|
|
1896
|
+
this.options = options || exports.defaults;
|
|
1897
|
+
this.options.tokenizer = this.options.tokenizer || new Tokenizer();
|
|
1898
|
+
this.tokenizer = this.options.tokenizer;
|
|
1899
|
+
this.tokenizer.options = this.options;
|
|
1900
|
+
this.tokenizer.lexer = this;
|
|
1901
|
+
this.inlineQueue = [];
|
|
1902
|
+
this.state = {
|
|
1903
|
+
inLink: false,
|
|
1904
|
+
inRawBlock: false,
|
|
1905
|
+
top: true
|
|
1906
|
+
};
|
|
1907
|
+
var rules = {
|
|
1908
|
+
block: block.normal,
|
|
1909
|
+
inline: inline.normal
|
|
1910
|
+
};
|
|
1911
|
+
|
|
1912
|
+
if (this.options.pedantic) {
|
|
1913
|
+
rules.block = block.pedantic;
|
|
1914
|
+
rules.inline = inline.pedantic;
|
|
1915
|
+
} else if (this.options.gfm) {
|
|
1916
|
+
rules.block = block.gfm;
|
|
1917
|
+
|
|
1918
|
+
if (this.options.breaks) {
|
|
1919
|
+
rules.inline = inline.breaks;
|
|
1920
|
+
} else {
|
|
1921
|
+
rules.inline = inline.gfm;
|
|
1922
|
+
}
|
|
1923
|
+
}
|
|
1924
|
+
|
|
1925
|
+
this.tokenizer.rules = rules;
|
|
1926
|
+
}
|
|
1927
|
+
/**
|
|
1928
|
+
* Expose Rules
|
|
1929
|
+
*/
|
|
1930
|
+
|
|
1931
|
+
|
|
1932
|
+
/**
|
|
1933
|
+
* Static Lex Method
|
|
1934
|
+
*/
|
|
1935
|
+
Lexer.lex = function lex(src, options) {
|
|
1936
|
+
var lexer = new Lexer(options);
|
|
1937
|
+
return lexer.lex(src);
|
|
1938
|
+
}
|
|
1939
|
+
/**
|
|
1940
|
+
* Static Lex Inline Method
|
|
1941
|
+
*/
|
|
1942
|
+
;
|
|
1943
|
+
|
|
1944
|
+
Lexer.lexInline = function lexInline(src, options) {
|
|
1945
|
+
var lexer = new Lexer(options);
|
|
1946
|
+
return lexer.inlineTokens(src);
|
|
1947
|
+
}
|
|
1948
|
+
/**
|
|
1949
|
+
* Preprocessing
|
|
1950
|
+
*/
|
|
1951
|
+
;
|
|
1952
|
+
|
|
1953
|
+
var _proto = Lexer.prototype;
|
|
1954
|
+
|
|
1955
|
+
_proto.lex = function lex(src) {
|
|
1956
|
+
src = src.replace(/\r\n|\r/g, '\n');
|
|
1957
|
+
this.blockTokens(src, this.tokens);
|
|
1958
|
+
var next;
|
|
1959
|
+
|
|
1960
|
+
while (next = this.inlineQueue.shift()) {
|
|
1961
|
+
this.inlineTokens(next.src, next.tokens);
|
|
1962
|
+
}
|
|
1963
|
+
|
|
1964
|
+
return this.tokens;
|
|
1965
|
+
}
|
|
1966
|
+
/**
|
|
1967
|
+
* Lexing
|
|
1968
|
+
*/
|
|
1969
|
+
;
|
|
1970
|
+
|
|
1971
|
+
_proto.blockTokens = function blockTokens(src, tokens) {
|
|
1972
|
+
var _this = this;
|
|
1973
|
+
|
|
1974
|
+
if (tokens === void 0) {
|
|
1975
|
+
tokens = [];
|
|
1976
|
+
}
|
|
1977
|
+
|
|
1978
|
+
if (this.options.pedantic) {
|
|
1979
|
+
src = src.replace(/\t/g, ' ').replace(/^ +$/gm, '');
|
|
1980
|
+
} else {
|
|
1981
|
+
src = src.replace(/^( *)(\t+)/gm, function (_, leading, tabs) {
|
|
1982
|
+
return leading + ' '.repeat(tabs.length);
|
|
1983
|
+
});
|
|
1984
|
+
}
|
|
1985
|
+
|
|
1986
|
+
var token, lastToken, cutSrc, lastParagraphClipped;
|
|
1987
|
+
|
|
1988
|
+
while (src) {
|
|
1989
|
+
if (this.options.extensions && this.options.extensions.block && this.options.extensions.block.some(function (extTokenizer) {
|
|
1990
|
+
if (token = extTokenizer.call({
|
|
1991
|
+
lexer: _this
|
|
1992
|
+
}, src, tokens)) {
|
|
1993
|
+
src = src.substring(token.raw.length);
|
|
1994
|
+
tokens.push(token);
|
|
1995
|
+
return true;
|
|
1996
|
+
}
|
|
1997
|
+
|
|
1998
|
+
return false;
|
|
1999
|
+
})) {
|
|
2000
|
+
continue;
|
|
2001
|
+
} // newline
|
|
2002
|
+
|
|
2003
|
+
|
|
2004
|
+
if (token = this.tokenizer.space(src)) {
|
|
2005
|
+
src = src.substring(token.raw.length);
|
|
2006
|
+
|
|
2007
|
+
if (token.raw.length === 1 && tokens.length > 0) {
|
|
2008
|
+
// if there's a single \n as a spacer, it's terminating the last line,
|
|
2009
|
+
// so move it there so that we don't get unecessary paragraph tags
|
|
2010
|
+
tokens[tokens.length - 1].raw += '\n';
|
|
2011
|
+
} else {
|
|
2012
|
+
tokens.push(token);
|
|
2013
|
+
}
|
|
2014
|
+
|
|
2015
|
+
continue;
|
|
2016
|
+
} // code
|
|
2017
|
+
|
|
2018
|
+
|
|
2019
|
+
if (token = this.tokenizer.code(src)) {
|
|
2020
|
+
src = src.substring(token.raw.length);
|
|
2021
|
+
lastToken = tokens[tokens.length - 1]; // An indented code block cannot interrupt a paragraph.
|
|
2022
|
+
|
|
2023
|
+
if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {
|
|
2024
|
+
lastToken.raw += '\n' + token.raw;
|
|
2025
|
+
lastToken.text += '\n' + token.text;
|
|
2026
|
+
this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
|
|
2027
|
+
} else {
|
|
2028
|
+
tokens.push(token);
|
|
2029
|
+
}
|
|
2030
|
+
|
|
2031
|
+
continue;
|
|
2032
|
+
} // fences
|
|
2033
|
+
|
|
2034
|
+
|
|
2035
|
+
if (token = this.tokenizer.fences(src)) {
|
|
2036
|
+
src = src.substring(token.raw.length);
|
|
2037
|
+
tokens.push(token);
|
|
2038
|
+
continue;
|
|
2039
|
+
} // heading
|
|
2040
|
+
|
|
2041
|
+
|
|
2042
|
+
if (token = this.tokenizer.heading(src)) {
|
|
2043
|
+
src = src.substring(token.raw.length);
|
|
2044
|
+
tokens.push(token);
|
|
2045
|
+
continue;
|
|
2046
|
+
} // hr
|
|
2047
|
+
|
|
2048
|
+
|
|
2049
|
+
if (token = this.tokenizer.hr(src)) {
|
|
2050
|
+
src = src.substring(token.raw.length);
|
|
2051
|
+
tokens.push(token);
|
|
2052
|
+
continue;
|
|
2053
|
+
} // blockquote
|
|
2054
|
+
|
|
2055
|
+
|
|
2056
|
+
if (token = this.tokenizer.blockquote(src)) {
|
|
2057
|
+
src = src.substring(token.raw.length);
|
|
2058
|
+
tokens.push(token);
|
|
2059
|
+
continue;
|
|
2060
|
+
} // list
|
|
2061
|
+
|
|
2062
|
+
|
|
2063
|
+
if (token = this.tokenizer.list(src)) {
|
|
2064
|
+
src = src.substring(token.raw.length);
|
|
2065
|
+
tokens.push(token);
|
|
2066
|
+
continue;
|
|
2067
|
+
} // html
|
|
2068
|
+
|
|
2069
|
+
|
|
2070
|
+
if (token = this.tokenizer.html(src)) {
|
|
2071
|
+
src = src.substring(token.raw.length);
|
|
2072
|
+
tokens.push(token);
|
|
2073
|
+
continue;
|
|
2074
|
+
} // def
|
|
2075
|
+
|
|
2076
|
+
|
|
2077
|
+
if (token = this.tokenizer.def(src)) {
|
|
2078
|
+
src = src.substring(token.raw.length);
|
|
2079
|
+
lastToken = tokens[tokens.length - 1];
|
|
2080
|
+
|
|
2081
|
+
if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {
|
|
2082
|
+
lastToken.raw += '\n' + token.raw;
|
|
2083
|
+
lastToken.text += '\n' + token.raw;
|
|
2084
|
+
this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
|
|
2085
|
+
} else if (!this.tokens.links[token.tag]) {
|
|
2086
|
+
this.tokens.links[token.tag] = {
|
|
2087
|
+
href: token.href,
|
|
2088
|
+
title: token.title
|
|
2089
|
+
};
|
|
2090
|
+
}
|
|
2091
|
+
|
|
2092
|
+
continue;
|
|
2093
|
+
} // table (gfm)
|
|
2094
|
+
|
|
2095
|
+
|
|
2096
|
+
if (token = this.tokenizer.table(src)) {
|
|
2097
|
+
src = src.substring(token.raw.length);
|
|
2098
|
+
tokens.push(token);
|
|
2099
|
+
continue;
|
|
2100
|
+
} // lheading
|
|
2101
|
+
|
|
2102
|
+
|
|
2103
|
+
if (token = this.tokenizer.lheading(src)) {
|
|
2104
|
+
src = src.substring(token.raw.length);
|
|
2105
|
+
tokens.push(token);
|
|
2106
|
+
continue;
|
|
2107
|
+
} // top-level paragraph
|
|
2108
|
+
// prevent paragraph consuming extensions by clipping 'src' to extension start
|
|
2109
|
+
|
|
2110
|
+
|
|
2111
|
+
cutSrc = src;
|
|
2112
|
+
|
|
2113
|
+
if (this.options.extensions && this.options.extensions.startBlock) {
|
|
2114
|
+
(function () {
|
|
2115
|
+
var startIndex = Infinity;
|
|
2116
|
+
var tempSrc = src.slice(1);
|
|
2117
|
+
var tempStart = void 0;
|
|
2118
|
+
|
|
2119
|
+
_this.options.extensions.startBlock.forEach(function (getStartIndex) {
|
|
2120
|
+
tempStart = getStartIndex.call({
|
|
2121
|
+
lexer: this
|
|
2122
|
+
}, tempSrc);
|
|
2123
|
+
|
|
2124
|
+
if (typeof tempStart === 'number' && tempStart >= 0) {
|
|
2125
|
+
startIndex = Math.min(startIndex, tempStart);
|
|
2126
|
+
}
|
|
2127
|
+
});
|
|
2128
|
+
|
|
2129
|
+
if (startIndex < Infinity && startIndex >= 0) {
|
|
2130
|
+
cutSrc = src.substring(0, startIndex + 1);
|
|
2131
|
+
}
|
|
2132
|
+
})();
|
|
2133
|
+
}
|
|
2134
|
+
|
|
2135
|
+
if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {
|
|
2136
|
+
lastToken = tokens[tokens.length - 1];
|
|
2137
|
+
|
|
2138
|
+
if (lastParagraphClipped && lastToken.type === 'paragraph') {
|
|
2139
|
+
lastToken.raw += '\n' + token.raw;
|
|
2140
|
+
lastToken.text += '\n' + token.text;
|
|
2141
|
+
this.inlineQueue.pop();
|
|
2142
|
+
this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
|
|
2143
|
+
} else {
|
|
2144
|
+
tokens.push(token);
|
|
2145
|
+
}
|
|
2146
|
+
|
|
2147
|
+
lastParagraphClipped = cutSrc.length !== src.length;
|
|
2148
|
+
src = src.substring(token.raw.length);
|
|
2149
|
+
continue;
|
|
2150
|
+
} // text
|
|
2151
|
+
|
|
2152
|
+
|
|
2153
|
+
if (token = this.tokenizer.text(src)) {
|
|
2154
|
+
src = src.substring(token.raw.length);
|
|
2155
|
+
lastToken = tokens[tokens.length - 1];
|
|
2156
|
+
|
|
2157
|
+
if (lastToken && lastToken.type === 'text') {
|
|
2158
|
+
lastToken.raw += '\n' + token.raw;
|
|
2159
|
+
lastToken.text += '\n' + token.text;
|
|
2160
|
+
this.inlineQueue.pop();
|
|
2161
|
+
this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
|
|
2162
|
+
} else {
|
|
2163
|
+
tokens.push(token);
|
|
2164
|
+
}
|
|
2165
|
+
|
|
2166
|
+
continue;
|
|
2167
|
+
}
|
|
2168
|
+
|
|
2169
|
+
if (src) {
|
|
2170
|
+
var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);
|
|
2171
|
+
|
|
2172
|
+
if (this.options.silent) {
|
|
2173
|
+
console.error(errMsg);
|
|
2174
|
+
break;
|
|
2175
|
+
} else {
|
|
2176
|
+
throw new Error(errMsg);
|
|
2177
|
+
}
|
|
2178
|
+
}
|
|
2179
|
+
}
|
|
2180
|
+
|
|
2181
|
+
this.state.top = true;
|
|
2182
|
+
return tokens;
|
|
2183
|
+
};
|
|
2184
|
+
|
|
2185
|
+
_proto.inline = function inline(src, tokens) {
|
|
2186
|
+
if (tokens === void 0) {
|
|
2187
|
+
tokens = [];
|
|
2188
|
+
}
|
|
2189
|
+
|
|
2190
|
+
this.inlineQueue.push({
|
|
2191
|
+
src: src,
|
|
2192
|
+
tokens: tokens
|
|
2193
|
+
});
|
|
2194
|
+
return tokens;
|
|
2195
|
+
}
|
|
2196
|
+
/**
|
|
2197
|
+
* Lexing/Compiling
|
|
2198
|
+
*/
|
|
2199
|
+
;
|
|
2200
|
+
|
|
2201
|
+
_proto.inlineTokens = function inlineTokens(src, tokens) {
|
|
2202
|
+
var _this2 = this;
|
|
2203
|
+
|
|
2204
|
+
if (tokens === void 0) {
|
|
2205
|
+
tokens = [];
|
|
2206
|
+
}
|
|
2207
|
+
|
|
2208
|
+
var token, lastToken, cutSrc; // String with links masked to avoid interference with em and strong
|
|
2209
|
+
|
|
2210
|
+
var maskedSrc = src;
|
|
2211
|
+
var match;
|
|
2212
|
+
var keepPrevChar, prevChar; // Mask out reflinks
|
|
2213
|
+
|
|
2214
|
+
if (this.tokens.links) {
|
|
2215
|
+
var links = Object.keys(this.tokens.links);
|
|
2216
|
+
|
|
2217
|
+
if (links.length > 0) {
|
|
2218
|
+
while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {
|
|
2219
|
+
if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {
|
|
2220
|
+
maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);
|
|
2221
|
+
}
|
|
2222
|
+
}
|
|
2223
|
+
}
|
|
2224
|
+
} // Mask out other blocks
|
|
2225
|
+
|
|
2226
|
+
|
|
2227
|
+
while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {
|
|
2228
|
+
maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
|
|
2229
|
+
} // Mask out escaped em & strong delimiters
|
|
2230
|
+
|
|
2231
|
+
|
|
2232
|
+
while ((match = this.tokenizer.rules.inline.escapedEmSt.exec(maskedSrc)) != null) {
|
|
2233
|
+
maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);
|
|
2234
|
+
}
|
|
2235
|
+
|
|
2236
|
+
while (src) {
|
|
2237
|
+
if (!keepPrevChar) {
|
|
2238
|
+
prevChar = '';
|
|
2239
|
+
}
|
|
2240
|
+
|
|
2241
|
+
keepPrevChar = false; // extensions
|
|
2242
|
+
|
|
2243
|
+
if (this.options.extensions && this.options.extensions.inline && this.options.extensions.inline.some(function (extTokenizer) {
|
|
2244
|
+
if (token = extTokenizer.call({
|
|
2245
|
+
lexer: _this2
|
|
2246
|
+
}, src, tokens)) {
|
|
2247
|
+
src = src.substring(token.raw.length);
|
|
2248
|
+
tokens.push(token);
|
|
2249
|
+
return true;
|
|
2250
|
+
}
|
|
2251
|
+
|
|
2252
|
+
return false;
|
|
2253
|
+
})) {
|
|
2254
|
+
continue;
|
|
2255
|
+
} // escape
|
|
2256
|
+
|
|
2257
|
+
|
|
2258
|
+
if (token = this.tokenizer.escape(src)) {
|
|
2259
|
+
src = src.substring(token.raw.length);
|
|
2260
|
+
tokens.push(token);
|
|
2261
|
+
continue;
|
|
2262
|
+
} // tag
|
|
2263
|
+
|
|
2264
|
+
|
|
2265
|
+
if (token = this.tokenizer.tag(src)) {
|
|
2266
|
+
src = src.substring(token.raw.length);
|
|
2267
|
+
lastToken = tokens[tokens.length - 1];
|
|
2268
|
+
|
|
2269
|
+
if (lastToken && token.type === 'text' && lastToken.type === 'text') {
|
|
2270
|
+
lastToken.raw += token.raw;
|
|
2271
|
+
lastToken.text += token.text;
|
|
2272
|
+
} else {
|
|
2273
|
+
tokens.push(token);
|
|
2274
|
+
}
|
|
2275
|
+
|
|
2276
|
+
continue;
|
|
2277
|
+
} // link
|
|
2278
|
+
|
|
2279
|
+
|
|
2280
|
+
if (token = this.tokenizer.link(src)) {
|
|
2281
|
+
src = src.substring(token.raw.length);
|
|
2282
|
+
tokens.push(token);
|
|
2283
|
+
continue;
|
|
2284
|
+
} // reflink, nolink
|
|
2285
|
+
|
|
2286
|
+
|
|
2287
|
+
if (token = this.tokenizer.reflink(src, this.tokens.links)) {
|
|
2288
|
+
src = src.substring(token.raw.length);
|
|
2289
|
+
lastToken = tokens[tokens.length - 1];
|
|
2290
|
+
|
|
2291
|
+
if (lastToken && token.type === 'text' && lastToken.type === 'text') {
|
|
2292
|
+
lastToken.raw += token.raw;
|
|
2293
|
+
lastToken.text += token.text;
|
|
2294
|
+
} else {
|
|
2295
|
+
tokens.push(token);
|
|
2296
|
+
}
|
|
2297
|
+
|
|
2298
|
+
continue;
|
|
2299
|
+
} // em & strong
|
|
2300
|
+
|
|
2301
|
+
|
|
2302
|
+
if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {
|
|
2303
|
+
src = src.substring(token.raw.length);
|
|
2304
|
+
tokens.push(token);
|
|
2305
|
+
continue;
|
|
2306
|
+
} // code
|
|
2307
|
+
|
|
2308
|
+
|
|
2309
|
+
if (token = this.tokenizer.codespan(src)) {
|
|
2310
|
+
src = src.substring(token.raw.length);
|
|
2311
|
+
tokens.push(token);
|
|
2312
|
+
continue;
|
|
2313
|
+
} // br
|
|
2314
|
+
|
|
2315
|
+
|
|
2316
|
+
if (token = this.tokenizer.br(src)) {
|
|
2317
|
+
src = src.substring(token.raw.length);
|
|
2318
|
+
tokens.push(token);
|
|
2319
|
+
continue;
|
|
2320
|
+
} // del (gfm)
|
|
2321
|
+
|
|
2322
|
+
|
|
2323
|
+
if (token = this.tokenizer.del(src)) {
|
|
2324
|
+
src = src.substring(token.raw.length);
|
|
2325
|
+
tokens.push(token);
|
|
2326
|
+
continue;
|
|
2327
|
+
} // autolink
|
|
2328
|
+
|
|
2329
|
+
|
|
2330
|
+
if (token = this.tokenizer.autolink(src, mangle)) {
|
|
2331
|
+
src = src.substring(token.raw.length);
|
|
2332
|
+
tokens.push(token);
|
|
2333
|
+
continue;
|
|
2334
|
+
} // url (gfm)
|
|
2335
|
+
|
|
2336
|
+
|
|
2337
|
+
if (!this.state.inLink && (token = this.tokenizer.url(src, mangle))) {
|
|
2338
|
+
src = src.substring(token.raw.length);
|
|
2339
|
+
tokens.push(token);
|
|
2340
|
+
continue;
|
|
2341
|
+
} // text
|
|
2342
|
+
// prevent inlineText consuming extensions by clipping 'src' to extension start
|
|
2343
|
+
|
|
2344
|
+
|
|
2345
|
+
cutSrc = src;
|
|
2346
|
+
|
|
2347
|
+
if (this.options.extensions && this.options.extensions.startInline) {
|
|
2348
|
+
(function () {
|
|
2349
|
+
var startIndex = Infinity;
|
|
2350
|
+
var tempSrc = src.slice(1);
|
|
2351
|
+
var tempStart = void 0;
|
|
2352
|
+
|
|
2353
|
+
_this2.options.extensions.startInline.forEach(function (getStartIndex) {
|
|
2354
|
+
tempStart = getStartIndex.call({
|
|
2355
|
+
lexer: this
|
|
2356
|
+
}, tempSrc);
|
|
2357
|
+
|
|
2358
|
+
if (typeof tempStart === 'number' && tempStart >= 0) {
|
|
2359
|
+
startIndex = Math.min(startIndex, tempStart);
|
|
2360
|
+
}
|
|
2361
|
+
});
|
|
2362
|
+
|
|
2363
|
+
if (startIndex < Infinity && startIndex >= 0) {
|
|
2364
|
+
cutSrc = src.substring(0, startIndex + 1);
|
|
2365
|
+
}
|
|
2366
|
+
})();
|
|
2367
|
+
}
|
|
2368
|
+
|
|
2369
|
+
if (token = this.tokenizer.inlineText(cutSrc, smartypants)) {
|
|
2370
|
+
src = src.substring(token.raw.length);
|
|
2371
|
+
|
|
2372
|
+
if (token.raw.slice(-1) !== '_') {
|
|
2373
|
+
// Track prevChar before string of ____ started
|
|
2374
|
+
prevChar = token.raw.slice(-1);
|
|
2375
|
+
}
|
|
2376
|
+
|
|
2377
|
+
keepPrevChar = true;
|
|
2378
|
+
lastToken = tokens[tokens.length - 1];
|
|
2379
|
+
|
|
2380
|
+
if (lastToken && lastToken.type === 'text') {
|
|
2381
|
+
lastToken.raw += token.raw;
|
|
2382
|
+
lastToken.text += token.text;
|
|
2383
|
+
} else {
|
|
2384
|
+
tokens.push(token);
|
|
2385
|
+
}
|
|
2386
|
+
|
|
2387
|
+
continue;
|
|
2388
|
+
}
|
|
2389
|
+
|
|
2390
|
+
if (src) {
|
|
2391
|
+
var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);
|
|
2392
|
+
|
|
2393
|
+
if (this.options.silent) {
|
|
2394
|
+
console.error(errMsg);
|
|
2395
|
+
break;
|
|
2396
|
+
} else {
|
|
2397
|
+
throw new Error(errMsg);
|
|
2398
|
+
}
|
|
2399
|
+
}
|
|
2400
|
+
}
|
|
2401
|
+
|
|
2402
|
+
return tokens;
|
|
2403
|
+
};
|
|
2404
|
+
|
|
2405
|
+
_createClass(Lexer, null, [{
|
|
2406
|
+
key: "rules",
|
|
2407
|
+
get: function get() {
|
|
2408
|
+
return {
|
|
2409
|
+
block: block,
|
|
2410
|
+
inline: inline
|
|
2411
|
+
};
|
|
2412
|
+
}
|
|
2413
|
+
}]);
|
|
2414
|
+
|
|
2415
|
+
return Lexer;
|
|
2416
|
+
}();
|
|
2417
|
+
|
|
2418
|
+
/**
|
|
2419
|
+
* Renderer
|
|
2420
|
+
*/
|
|
2421
|
+
|
|
2422
|
+
var Renderer = /*#__PURE__*/function () {
|
|
2423
|
+
function Renderer(options) {
|
|
2424
|
+
this.options = options || exports.defaults;
|
|
2425
|
+
}
|
|
2426
|
+
|
|
2427
|
+
var _proto = Renderer.prototype;
|
|
2428
|
+
|
|
2429
|
+
_proto.code = function code(_code, infostring, escaped) {
|
|
2430
|
+
var lang = (infostring || '').match(/\S*/)[0];
|
|
2431
|
+
|
|
2432
|
+
if (this.options.highlight) {
|
|
2433
|
+
var out = this.options.highlight(_code, lang);
|
|
2434
|
+
|
|
2435
|
+
if (out != null && out !== _code) {
|
|
2436
|
+
escaped = true;
|
|
2437
|
+
_code = out;
|
|
2438
|
+
}
|
|
2439
|
+
}
|
|
2440
|
+
|
|
2441
|
+
_code = _code.replace(/\n$/, '') + '\n';
|
|
2442
|
+
|
|
2443
|
+
if (!lang) {
|
|
2444
|
+
return '<pre><code>' + (escaped ? _code : escape(_code, true)) + '</code></pre>\n';
|
|
2445
|
+
}
|
|
2446
|
+
|
|
2447
|
+
return '<pre><code class="' + this.options.langPrefix + escape(lang, true) + '">' + (escaped ? _code : escape(_code, true)) + '</code></pre>\n';
|
|
2448
|
+
}
|
|
2449
|
+
/**
|
|
2450
|
+
* @param {string} quote
|
|
2451
|
+
*/
|
|
2452
|
+
;
|
|
2453
|
+
|
|
2454
|
+
_proto.blockquote = function blockquote(quote) {
|
|
2455
|
+
return "<blockquote>\n" + quote + "</blockquote>\n";
|
|
2456
|
+
};
|
|
2457
|
+
|
|
2458
|
+
_proto.html = function html(_html) {
|
|
2459
|
+
return _html;
|
|
2460
|
+
}
|
|
2461
|
+
/**
|
|
2462
|
+
* @param {string} text
|
|
2463
|
+
* @param {string} level
|
|
2464
|
+
* @param {string} raw
|
|
2465
|
+
* @param {any} slugger
|
|
2466
|
+
*/
|
|
2467
|
+
;
|
|
2468
|
+
|
|
2469
|
+
_proto.heading = function heading(text, level, raw, slugger) {
|
|
2470
|
+
if (this.options.headerIds) {
|
|
2471
|
+
var id = this.options.headerPrefix + slugger.slug(raw);
|
|
2472
|
+
return "<h" + level + " id=\"" + id + "\">" + text + "</h" + level + ">\n";
|
|
2473
|
+
} // ignore IDs
|
|
2474
|
+
|
|
2475
|
+
|
|
2476
|
+
return "<h" + level + ">" + text + "</h" + level + ">\n";
|
|
2477
|
+
};
|
|
2478
|
+
|
|
2479
|
+
_proto.hr = function hr() {
|
|
2480
|
+
return this.options.xhtml ? '<hr/>\n' : '<hr>\n';
|
|
2481
|
+
};
|
|
2482
|
+
|
|
2483
|
+
_proto.list = function list(body, ordered, start) {
|
|
2484
|
+
var type = ordered ? 'ol' : 'ul',
|
|
2485
|
+
startatt = ordered && start !== 1 ? ' start="' + start + '"' : '';
|
|
2486
|
+
return '<' + type + startatt + '>\n' + body + '</' + type + '>\n';
|
|
2487
|
+
}
|
|
2488
|
+
/**
|
|
2489
|
+
* @param {string} text
|
|
2490
|
+
*/
|
|
2491
|
+
;
|
|
2492
|
+
|
|
2493
|
+
_proto.listitem = function listitem(text) {
|
|
2494
|
+
return "<li>" + text + "</li>\n";
|
|
2495
|
+
};
|
|
2496
|
+
|
|
2497
|
+
_proto.checkbox = function checkbox(checked) {
|
|
2498
|
+
return '<input ' + (checked ? 'checked="" ' : '') + 'disabled="" type="checkbox"' + (this.options.xhtml ? ' /' : '') + '> ';
|
|
2499
|
+
}
|
|
2500
|
+
/**
|
|
2501
|
+
* @param {string} text
|
|
2502
|
+
*/
|
|
2503
|
+
;
|
|
2504
|
+
|
|
2505
|
+
_proto.paragraph = function paragraph(text) {
|
|
2506
|
+
return "<p>" + text + "</p>\n";
|
|
2507
|
+
}
|
|
2508
|
+
/**
|
|
2509
|
+
* @param {string} header
|
|
2510
|
+
* @param {string} body
|
|
2511
|
+
*/
|
|
2512
|
+
;
|
|
2513
|
+
|
|
2514
|
+
_proto.table = function table(header, body) {
|
|
2515
|
+
if (body) body = "<tbody>" + body + "</tbody>";
|
|
2516
|
+
return '<table>\n' + '<thead>\n' + header + '</thead>\n' + body + '</table>\n';
|
|
2517
|
+
}
|
|
2518
|
+
/**
|
|
2519
|
+
* @param {string} content
|
|
2520
|
+
*/
|
|
2521
|
+
;
|
|
2522
|
+
|
|
2523
|
+
_proto.tablerow = function tablerow(content) {
|
|
2524
|
+
return "<tr>\n" + content + "</tr>\n";
|
|
2525
|
+
};
|
|
2526
|
+
|
|
2527
|
+
_proto.tablecell = function tablecell(content, flags) {
|
|
2528
|
+
var type = flags.header ? 'th' : 'td';
|
|
2529
|
+
var tag = flags.align ? "<" + type + " align=\"" + flags.align + "\">" : "<" + type + ">";
|
|
2530
|
+
return tag + content + ("</" + type + ">\n");
|
|
2531
|
+
}
|
|
2532
|
+
/**
|
|
2533
|
+
* span level renderer
|
|
2534
|
+
* @param {string} text
|
|
2535
|
+
*/
|
|
2536
|
+
;
|
|
2537
|
+
|
|
2538
|
+
_proto.strong = function strong(text) {
|
|
2539
|
+
return "<strong>" + text + "</strong>";
|
|
2540
|
+
}
|
|
2541
|
+
/**
|
|
2542
|
+
* @param {string} text
|
|
2543
|
+
*/
|
|
2544
|
+
;
|
|
2545
|
+
|
|
2546
|
+
_proto.em = function em(text) {
|
|
2547
|
+
return "<em>" + text + "</em>";
|
|
2548
|
+
}
|
|
2549
|
+
/**
|
|
2550
|
+
* @param {string} text
|
|
2551
|
+
*/
|
|
2552
|
+
;
|
|
2553
|
+
|
|
2554
|
+
_proto.codespan = function codespan(text) {
|
|
2555
|
+
return "<code>" + text + "</code>";
|
|
2556
|
+
};
|
|
2557
|
+
|
|
2558
|
+
_proto.br = function br() {
|
|
2559
|
+
return this.options.xhtml ? '<br/>' : '<br>';
|
|
2560
|
+
}
|
|
2561
|
+
/**
|
|
2562
|
+
* @param {string} text
|
|
2563
|
+
*/
|
|
2564
|
+
;
|
|
2565
|
+
|
|
2566
|
+
_proto.del = function del(text) {
|
|
2567
|
+
return "<del>" + text + "</del>";
|
|
2568
|
+
}
|
|
2569
|
+
/**
|
|
2570
|
+
* @param {string} href
|
|
2571
|
+
* @param {string} title
|
|
2572
|
+
* @param {string} text
|
|
2573
|
+
*/
|
|
2574
|
+
;
|
|
2575
|
+
|
|
2576
|
+
_proto.link = function link(href, title, text) {
|
|
2577
|
+
href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);
|
|
2578
|
+
|
|
2579
|
+
if (href === null) {
|
|
2580
|
+
return text;
|
|
2581
|
+
}
|
|
2582
|
+
|
|
2583
|
+
var out = '<a href="' + escape(href) + '"';
|
|
2584
|
+
|
|
2585
|
+
if (title) {
|
|
2586
|
+
out += ' title="' + title + '"';
|
|
2587
|
+
}
|
|
2588
|
+
|
|
2589
|
+
out += '>' + text + '</a>';
|
|
2590
|
+
return out;
|
|
2591
|
+
}
|
|
2592
|
+
/**
|
|
2593
|
+
* @param {string} href
|
|
2594
|
+
* @param {string} title
|
|
2595
|
+
* @param {string} text
|
|
2596
|
+
*/
|
|
2597
|
+
;
|
|
2598
|
+
|
|
2599
|
+
_proto.image = function image(href, title, text) {
|
|
2600
|
+
href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);
|
|
2601
|
+
|
|
2602
|
+
if (href === null) {
|
|
2603
|
+
return text;
|
|
2604
|
+
}
|
|
2605
|
+
|
|
2606
|
+
var out = "<img src=\"" + href + "\" alt=\"" + text + "\"";
|
|
2607
|
+
|
|
2608
|
+
if (title) {
|
|
2609
|
+
out += " title=\"" + title + "\"";
|
|
2610
|
+
}
|
|
2611
|
+
|
|
2612
|
+
out += this.options.xhtml ? '/>' : '>';
|
|
2613
|
+
return out;
|
|
2614
|
+
};
|
|
2615
|
+
|
|
2616
|
+
_proto.text = function text(_text) {
|
|
2617
|
+
return _text;
|
|
2618
|
+
};
|
|
2619
|
+
|
|
2620
|
+
return Renderer;
|
|
2621
|
+
}();
|
|
2622
|
+
|
|
2623
|
+
/**
|
|
2624
|
+
* TextRenderer
|
|
2625
|
+
* returns only the textual part of the token
|
|
2626
|
+
*/
|
|
2627
|
+
var TextRenderer = /*#__PURE__*/function () {
|
|
2628
|
+
function TextRenderer() {}
|
|
2629
|
+
|
|
2630
|
+
var _proto = TextRenderer.prototype;
|
|
2631
|
+
|
|
2632
|
+
// no need for block level renderers
|
|
2633
|
+
_proto.strong = function strong(text) {
|
|
2634
|
+
return text;
|
|
2635
|
+
};
|
|
2636
|
+
|
|
2637
|
+
_proto.em = function em(text) {
|
|
2638
|
+
return text;
|
|
2639
|
+
};
|
|
2640
|
+
|
|
2641
|
+
_proto.codespan = function codespan(text) {
|
|
2642
|
+
return text;
|
|
2643
|
+
};
|
|
2644
|
+
|
|
2645
|
+
_proto.del = function del(text) {
|
|
2646
|
+
return text;
|
|
2647
|
+
};
|
|
2648
|
+
|
|
2649
|
+
_proto.html = function html(text) {
|
|
2650
|
+
return text;
|
|
2651
|
+
};
|
|
2652
|
+
|
|
2653
|
+
_proto.text = function text(_text) {
|
|
2654
|
+
return _text;
|
|
2655
|
+
};
|
|
2656
|
+
|
|
2657
|
+
_proto.link = function link(href, title, text) {
|
|
2658
|
+
return '' + text;
|
|
2659
|
+
};
|
|
2660
|
+
|
|
2661
|
+
_proto.image = function image(href, title, text) {
|
|
2662
|
+
return '' + text;
|
|
2663
|
+
};
|
|
2664
|
+
|
|
2665
|
+
_proto.br = function br() {
|
|
2666
|
+
return '';
|
|
2667
|
+
};
|
|
2668
|
+
|
|
2669
|
+
return TextRenderer;
|
|
2670
|
+
}();
|
|
2671
|
+
|
|
2672
|
+
/**
|
|
2673
|
+
* Slugger generates header id
|
|
2674
|
+
*/
|
|
2675
|
+
var Slugger = /*#__PURE__*/function () {
|
|
2676
|
+
function Slugger() {
|
|
2677
|
+
this.seen = {};
|
|
2678
|
+
}
|
|
2679
|
+
/**
|
|
2680
|
+
* @param {string} value
|
|
2681
|
+
*/
|
|
2682
|
+
|
|
2683
|
+
|
|
2684
|
+
var _proto = Slugger.prototype;
|
|
2685
|
+
|
|
2686
|
+
_proto.serialize = function serialize(value) {
|
|
2687
|
+
return value.toLowerCase().trim() // remove html tags
|
|
2688
|
+
.replace(/<[!\/a-z].*?>/ig, '') // remove unwanted chars
|
|
2689
|
+
.replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, '').replace(/\s/g, '-');
|
|
2690
|
+
}
|
|
2691
|
+
/**
|
|
2692
|
+
* Finds the next safe (unique) slug to use
|
|
2693
|
+
* @param {string} originalSlug
|
|
2694
|
+
* @param {boolean} isDryRun
|
|
2695
|
+
*/
|
|
2696
|
+
;
|
|
2697
|
+
|
|
2698
|
+
_proto.getNextSafeSlug = function getNextSafeSlug(originalSlug, isDryRun) {
|
|
2699
|
+
var slug = originalSlug;
|
|
2700
|
+
var occurenceAccumulator = 0;
|
|
2701
|
+
|
|
2702
|
+
if (this.seen.hasOwnProperty(slug)) {
|
|
2703
|
+
occurenceAccumulator = this.seen[originalSlug];
|
|
2704
|
+
|
|
2705
|
+
do {
|
|
2706
|
+
occurenceAccumulator++;
|
|
2707
|
+
slug = originalSlug + '-' + occurenceAccumulator;
|
|
2708
|
+
} while (this.seen.hasOwnProperty(slug));
|
|
2709
|
+
}
|
|
2710
|
+
|
|
2711
|
+
if (!isDryRun) {
|
|
2712
|
+
this.seen[originalSlug] = occurenceAccumulator;
|
|
2713
|
+
this.seen[slug] = 0;
|
|
2714
|
+
}
|
|
2715
|
+
|
|
2716
|
+
return slug;
|
|
2717
|
+
}
|
|
2718
|
+
/**
|
|
2719
|
+
* Convert string to unique id
|
|
2720
|
+
* @param {object} [options]
|
|
2721
|
+
* @param {boolean} [options.dryrun] Generates the next unique slug without
|
|
2722
|
+
* updating the internal accumulator.
|
|
2723
|
+
*/
|
|
2724
|
+
;
|
|
2725
|
+
|
|
2726
|
+
_proto.slug = function slug(value, options) {
|
|
2727
|
+
if (options === void 0) {
|
|
2728
|
+
options = {};
|
|
2729
|
+
}
|
|
2730
|
+
|
|
2731
|
+
var slug = this.serialize(value);
|
|
2732
|
+
return this.getNextSafeSlug(slug, options.dryrun);
|
|
2733
|
+
};
|
|
2734
|
+
|
|
2735
|
+
return Slugger;
|
|
2736
|
+
}();
|
|
2737
|
+
|
|
2738
|
+
/**
|
|
2739
|
+
* Parsing & Compiling
|
|
2740
|
+
*/
|
|
2741
|
+
|
|
2742
|
+
var Parser = /*#__PURE__*/function () {
|
|
2743
|
+
function Parser(options) {
|
|
2744
|
+
this.options = options || exports.defaults;
|
|
2745
|
+
this.options.renderer = this.options.renderer || new Renderer();
|
|
2746
|
+
this.renderer = this.options.renderer;
|
|
2747
|
+
this.renderer.options = this.options;
|
|
2748
|
+
this.textRenderer = new TextRenderer();
|
|
2749
|
+
this.slugger = new Slugger();
|
|
2750
|
+
}
|
|
2751
|
+
/**
|
|
2752
|
+
* Static Parse Method
|
|
2753
|
+
*/
|
|
2754
|
+
|
|
2755
|
+
|
|
2756
|
+
Parser.parse = function parse(tokens, options) {
|
|
2757
|
+
var parser = new Parser(options);
|
|
2758
|
+
return parser.parse(tokens);
|
|
2759
|
+
}
|
|
2760
|
+
/**
|
|
2761
|
+
* Static Parse Inline Method
|
|
2762
|
+
*/
|
|
2763
|
+
;
|
|
2764
|
+
|
|
2765
|
+
Parser.parseInline = function parseInline(tokens, options) {
|
|
2766
|
+
var parser = new Parser(options);
|
|
2767
|
+
return parser.parseInline(tokens);
|
|
2768
|
+
}
|
|
2769
|
+
/**
|
|
2770
|
+
* Parse Loop
|
|
2771
|
+
*/
|
|
2772
|
+
;
|
|
2773
|
+
|
|
2774
|
+
var _proto = Parser.prototype;
|
|
2775
|
+
|
|
2776
|
+
_proto.parse = function parse(tokens, top) {
|
|
2777
|
+
if (top === void 0) {
|
|
2778
|
+
top = true;
|
|
2779
|
+
}
|
|
2780
|
+
|
|
2781
|
+
var out = '',
|
|
2782
|
+
i,
|
|
2783
|
+
j,
|
|
2784
|
+
k,
|
|
2785
|
+
l2,
|
|
2786
|
+
l3,
|
|
2787
|
+
row,
|
|
2788
|
+
cell,
|
|
2789
|
+
header,
|
|
2790
|
+
body,
|
|
2791
|
+
token,
|
|
2792
|
+
ordered,
|
|
2793
|
+
start,
|
|
2794
|
+
loose,
|
|
2795
|
+
itemBody,
|
|
2796
|
+
item,
|
|
2797
|
+
checked,
|
|
2798
|
+
task,
|
|
2799
|
+
checkbox,
|
|
2800
|
+
ret;
|
|
2801
|
+
var l = tokens.length;
|
|
2802
|
+
|
|
2803
|
+
for (i = 0; i < l; i++) {
|
|
2804
|
+
token = tokens[i]; // Run any renderer extensions
|
|
2805
|
+
|
|
2806
|
+
if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {
|
|
2807
|
+
ret = this.options.extensions.renderers[token.type].call({
|
|
2808
|
+
parser: this
|
|
2809
|
+
}, token);
|
|
2810
|
+
|
|
2811
|
+
if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(token.type)) {
|
|
2812
|
+
out += ret || '';
|
|
2813
|
+
continue;
|
|
2814
|
+
}
|
|
2815
|
+
}
|
|
2816
|
+
|
|
2817
|
+
switch (token.type) {
|
|
2818
|
+
case 'space':
|
|
2819
|
+
{
|
|
2820
|
+
continue;
|
|
2821
|
+
}
|
|
2822
|
+
|
|
2823
|
+
case 'hr':
|
|
2824
|
+
{
|
|
2825
|
+
out += this.renderer.hr();
|
|
2826
|
+
continue;
|
|
2827
|
+
}
|
|
2828
|
+
|
|
2829
|
+
case 'heading':
|
|
2830
|
+
{
|
|
2831
|
+
out += this.renderer.heading(this.parseInline(token.tokens), token.depth, unescape(this.parseInline(token.tokens, this.textRenderer)), this.slugger);
|
|
2832
|
+
continue;
|
|
2833
|
+
}
|
|
2834
|
+
|
|
2835
|
+
case 'code':
|
|
2836
|
+
{
|
|
2837
|
+
out += this.renderer.code(token.text, token.lang, token.escaped);
|
|
2838
|
+
continue;
|
|
2839
|
+
}
|
|
2840
|
+
|
|
2841
|
+
case 'table':
|
|
2842
|
+
{
|
|
2843
|
+
header = ''; // header
|
|
2844
|
+
|
|
2845
|
+
cell = '';
|
|
2846
|
+
l2 = token.header.length;
|
|
2847
|
+
|
|
2848
|
+
for (j = 0; j < l2; j++) {
|
|
2849
|
+
cell += this.renderer.tablecell(this.parseInline(token.header[j].tokens), {
|
|
2850
|
+
header: true,
|
|
2851
|
+
align: token.align[j]
|
|
2852
|
+
});
|
|
2853
|
+
}
|
|
2854
|
+
|
|
2855
|
+
header += this.renderer.tablerow(cell);
|
|
2856
|
+
body = '';
|
|
2857
|
+
l2 = token.rows.length;
|
|
2858
|
+
|
|
2859
|
+
for (j = 0; j < l2; j++) {
|
|
2860
|
+
row = token.rows[j];
|
|
2861
|
+
cell = '';
|
|
2862
|
+
l3 = row.length;
|
|
2863
|
+
|
|
2864
|
+
for (k = 0; k < l3; k++) {
|
|
2865
|
+
cell += this.renderer.tablecell(this.parseInline(row[k].tokens), {
|
|
2866
|
+
header: false,
|
|
2867
|
+
align: token.align[k]
|
|
2868
|
+
});
|
|
2869
|
+
}
|
|
2870
|
+
|
|
2871
|
+
body += this.renderer.tablerow(cell);
|
|
2872
|
+
}
|
|
2873
|
+
|
|
2874
|
+
out += this.renderer.table(header, body);
|
|
2875
|
+
continue;
|
|
2876
|
+
}
|
|
2877
|
+
|
|
2878
|
+
case 'blockquote':
|
|
2879
|
+
{
|
|
2880
|
+
body = this.parse(token.tokens);
|
|
2881
|
+
out += this.renderer.blockquote(body);
|
|
2882
|
+
continue;
|
|
2883
|
+
}
|
|
2884
|
+
|
|
2885
|
+
case 'list':
|
|
2886
|
+
{
|
|
2887
|
+
ordered = token.ordered;
|
|
2888
|
+
start = token.start;
|
|
2889
|
+
loose = token.loose;
|
|
2890
|
+
l2 = token.items.length;
|
|
2891
|
+
body = '';
|
|
2892
|
+
|
|
2893
|
+
for (j = 0; j < l2; j++) {
|
|
2894
|
+
item = token.items[j];
|
|
2895
|
+
checked = item.checked;
|
|
2896
|
+
task = item.task;
|
|
2897
|
+
itemBody = '';
|
|
2898
|
+
|
|
2899
|
+
if (item.task) {
|
|
2900
|
+
checkbox = this.renderer.checkbox(checked);
|
|
2901
|
+
|
|
2902
|
+
if (loose) {
|
|
2903
|
+
if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') {
|
|
2904
|
+
item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;
|
|
2905
|
+
|
|
2906
|
+
if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {
|
|
2907
|
+
item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;
|
|
2908
|
+
}
|
|
2909
|
+
} else {
|
|
2910
|
+
item.tokens.unshift({
|
|
2911
|
+
type: 'text',
|
|
2912
|
+
text: checkbox
|
|
2913
|
+
});
|
|
2914
|
+
}
|
|
2915
|
+
} else {
|
|
2916
|
+
itemBody += checkbox;
|
|
2917
|
+
}
|
|
2918
|
+
}
|
|
2919
|
+
|
|
2920
|
+
itemBody += this.parse(item.tokens, loose);
|
|
2921
|
+
body += this.renderer.listitem(itemBody, task, checked);
|
|
2922
|
+
}
|
|
2923
|
+
|
|
2924
|
+
out += this.renderer.list(body, ordered, start);
|
|
2925
|
+
continue;
|
|
2926
|
+
}
|
|
2927
|
+
|
|
2928
|
+
case 'html':
|
|
2929
|
+
{
|
|
2930
|
+
// TODO parse inline content if parameter markdown=1
|
|
2931
|
+
out += this.renderer.html(token.text);
|
|
2932
|
+
continue;
|
|
2933
|
+
}
|
|
2934
|
+
|
|
2935
|
+
case 'paragraph':
|
|
2936
|
+
{
|
|
2937
|
+
out += this.renderer.paragraph(this.parseInline(token.tokens));
|
|
2938
|
+
continue;
|
|
2939
|
+
}
|
|
2940
|
+
|
|
2941
|
+
case 'text':
|
|
2942
|
+
{
|
|
2943
|
+
body = token.tokens ? this.parseInline(token.tokens) : token.text;
|
|
2944
|
+
|
|
2945
|
+
while (i + 1 < l && tokens[i + 1].type === 'text') {
|
|
2946
|
+
token = tokens[++i];
|
|
2947
|
+
body += '\n' + (token.tokens ? this.parseInline(token.tokens) : token.text);
|
|
2948
|
+
}
|
|
2949
|
+
|
|
2950
|
+
out += top ? this.renderer.paragraph(body) : body;
|
|
2951
|
+
continue;
|
|
2952
|
+
}
|
|
2953
|
+
|
|
2954
|
+
default:
|
|
2955
|
+
{
|
|
2956
|
+
var errMsg = 'Token with "' + token.type + '" type was not found.';
|
|
2957
|
+
|
|
2958
|
+
if (this.options.silent) {
|
|
2959
|
+
console.error(errMsg);
|
|
2960
|
+
return;
|
|
2961
|
+
} else {
|
|
2962
|
+
throw new Error(errMsg);
|
|
2963
|
+
}
|
|
2964
|
+
}
|
|
2965
|
+
}
|
|
2966
|
+
}
|
|
2967
|
+
|
|
2968
|
+
return out;
|
|
2969
|
+
}
|
|
2970
|
+
/**
|
|
2971
|
+
* Parse Inline Tokens
|
|
2972
|
+
*/
|
|
2973
|
+
;
|
|
2974
|
+
|
|
2975
|
+
_proto.parseInline = function parseInline(tokens, renderer) {
|
|
2976
|
+
renderer = renderer || this.renderer;
|
|
2977
|
+
var out = '',
|
|
2978
|
+
i,
|
|
2979
|
+
token,
|
|
2980
|
+
ret;
|
|
2981
|
+
var l = tokens.length;
|
|
2982
|
+
|
|
2983
|
+
for (i = 0; i < l; i++) {
|
|
2984
|
+
token = tokens[i]; // Run any renderer extensions
|
|
2985
|
+
|
|
2986
|
+
if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {
|
|
2987
|
+
ret = this.options.extensions.renderers[token.type].call({
|
|
2988
|
+
parser: this
|
|
2989
|
+
}, token);
|
|
2990
|
+
|
|
2991
|
+
if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {
|
|
2992
|
+
out += ret || '';
|
|
2993
|
+
continue;
|
|
2994
|
+
}
|
|
2995
|
+
}
|
|
2996
|
+
|
|
2997
|
+
switch (token.type) {
|
|
2998
|
+
case 'escape':
|
|
2999
|
+
{
|
|
3000
|
+
out += renderer.text(token.text);
|
|
3001
|
+
break;
|
|
3002
|
+
}
|
|
3003
|
+
|
|
3004
|
+
case 'html':
|
|
3005
|
+
{
|
|
3006
|
+
out += renderer.html(token.text);
|
|
3007
|
+
break;
|
|
3008
|
+
}
|
|
3009
|
+
|
|
3010
|
+
case 'link':
|
|
3011
|
+
{
|
|
3012
|
+
out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer));
|
|
3013
|
+
break;
|
|
3014
|
+
}
|
|
3015
|
+
|
|
3016
|
+
case 'image':
|
|
3017
|
+
{
|
|
3018
|
+
out += renderer.image(token.href, token.title, token.text);
|
|
3019
|
+
break;
|
|
3020
|
+
}
|
|
3021
|
+
|
|
3022
|
+
case 'strong':
|
|
3023
|
+
{
|
|
3024
|
+
out += renderer.strong(this.parseInline(token.tokens, renderer));
|
|
3025
|
+
break;
|
|
3026
|
+
}
|
|
3027
|
+
|
|
3028
|
+
case 'em':
|
|
3029
|
+
{
|
|
3030
|
+
out += renderer.em(this.parseInline(token.tokens, renderer));
|
|
3031
|
+
break;
|
|
3032
|
+
}
|
|
3033
|
+
|
|
3034
|
+
case 'codespan':
|
|
3035
|
+
{
|
|
3036
|
+
out += renderer.codespan(token.text);
|
|
3037
|
+
break;
|
|
3038
|
+
}
|
|
3039
|
+
|
|
3040
|
+
case 'br':
|
|
3041
|
+
{
|
|
3042
|
+
out += renderer.br();
|
|
3043
|
+
break;
|
|
3044
|
+
}
|
|
3045
|
+
|
|
3046
|
+
case 'del':
|
|
3047
|
+
{
|
|
3048
|
+
out += renderer.del(this.parseInline(token.tokens, renderer));
|
|
3049
|
+
break;
|
|
3050
|
+
}
|
|
3051
|
+
|
|
3052
|
+
case 'text':
|
|
3053
|
+
{
|
|
3054
|
+
out += renderer.text(token.text);
|
|
3055
|
+
break;
|
|
3056
|
+
}
|
|
3057
|
+
|
|
3058
|
+
default:
|
|
3059
|
+
{
|
|
3060
|
+
var errMsg = 'Token with "' + token.type + '" type was not found.';
|
|
3061
|
+
|
|
3062
|
+
if (this.options.silent) {
|
|
3063
|
+
console.error(errMsg);
|
|
3064
|
+
return;
|
|
3065
|
+
} else {
|
|
3066
|
+
throw new Error(errMsg);
|
|
3067
|
+
}
|
|
3068
|
+
}
|
|
3069
|
+
}
|
|
3070
|
+
}
|
|
3071
|
+
|
|
3072
|
+
return out;
|
|
3073
|
+
};
|
|
3074
|
+
|
|
3075
|
+
return Parser;
|
|
3076
|
+
}();
|
|
3077
|
+
|
|
3078
|
+
/**
|
|
3079
|
+
* Marked
|
|
3080
|
+
*/
|
|
3081
|
+
|
|
3082
|
+
function marked(src, opt, callback) {
|
|
3083
|
+
// throw error in case of non string input
|
|
3084
|
+
if (typeof src === 'undefined' || src === null) {
|
|
3085
|
+
throw new Error('marked(): input parameter is undefined or null');
|
|
3086
|
+
}
|
|
3087
|
+
|
|
3088
|
+
if (typeof src !== 'string') {
|
|
3089
|
+
throw new Error('marked(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');
|
|
3090
|
+
}
|
|
3091
|
+
|
|
3092
|
+
if (typeof opt === 'function') {
|
|
3093
|
+
callback = opt;
|
|
3094
|
+
opt = null;
|
|
3095
|
+
}
|
|
3096
|
+
|
|
3097
|
+
opt = merge({}, marked.defaults, opt || {});
|
|
3098
|
+
checkSanitizeDeprecation(opt);
|
|
3099
|
+
|
|
3100
|
+
if (callback) {
|
|
3101
|
+
var highlight = opt.highlight;
|
|
3102
|
+
var tokens;
|
|
3103
|
+
|
|
3104
|
+
try {
|
|
3105
|
+
tokens = Lexer.lex(src, opt);
|
|
3106
|
+
} catch (e) {
|
|
3107
|
+
return callback(e);
|
|
3108
|
+
}
|
|
3109
|
+
|
|
3110
|
+
var done = function done(err) {
|
|
3111
|
+
var out;
|
|
3112
|
+
|
|
3113
|
+
if (!err) {
|
|
3114
|
+
try {
|
|
3115
|
+
if (opt.walkTokens) {
|
|
3116
|
+
marked.walkTokens(tokens, opt.walkTokens);
|
|
3117
|
+
}
|
|
3118
|
+
|
|
3119
|
+
out = Parser.parse(tokens, opt);
|
|
3120
|
+
} catch (e) {
|
|
3121
|
+
err = e;
|
|
3122
|
+
}
|
|
3123
|
+
}
|
|
3124
|
+
|
|
3125
|
+
opt.highlight = highlight;
|
|
3126
|
+
return err ? callback(err) : callback(null, out);
|
|
3127
|
+
};
|
|
3128
|
+
|
|
3129
|
+
if (!highlight || highlight.length < 3) {
|
|
3130
|
+
return done();
|
|
3131
|
+
}
|
|
3132
|
+
|
|
3133
|
+
delete opt.highlight;
|
|
3134
|
+
if (!tokens.length) return done();
|
|
3135
|
+
var pending = 0;
|
|
3136
|
+
marked.walkTokens(tokens, function (token) {
|
|
3137
|
+
if (token.type === 'code') {
|
|
3138
|
+
pending++;
|
|
3139
|
+
setTimeout(function () {
|
|
3140
|
+
highlight(token.text, token.lang, function (err, code) {
|
|
3141
|
+
if (err) {
|
|
3142
|
+
return done(err);
|
|
3143
|
+
}
|
|
3144
|
+
|
|
3145
|
+
if (code != null && code !== token.text) {
|
|
3146
|
+
token.text = code;
|
|
3147
|
+
token.escaped = true;
|
|
3148
|
+
}
|
|
3149
|
+
|
|
3150
|
+
pending--;
|
|
3151
|
+
|
|
3152
|
+
if (pending === 0) {
|
|
3153
|
+
done();
|
|
3154
|
+
}
|
|
3155
|
+
});
|
|
3156
|
+
}, 0);
|
|
3157
|
+
}
|
|
3158
|
+
});
|
|
3159
|
+
|
|
3160
|
+
if (pending === 0) {
|
|
3161
|
+
done();
|
|
3162
|
+
}
|
|
3163
|
+
|
|
3164
|
+
return;
|
|
3165
|
+
}
|
|
3166
|
+
|
|
3167
|
+
function onError(e) {
|
|
3168
|
+
e.message += '\nPlease report this to https://github.com/markedjs/marked.';
|
|
3169
|
+
|
|
3170
|
+
if (opt.silent) {
|
|
3171
|
+
return '<p>An error occurred:</p><pre>' + escape(e.message + '', true) + '</pre>';
|
|
3172
|
+
}
|
|
3173
|
+
|
|
3174
|
+
throw e;
|
|
3175
|
+
}
|
|
3176
|
+
|
|
3177
|
+
try {
|
|
3178
|
+
var _tokens = Lexer.lex(src, opt);
|
|
3179
|
+
|
|
3180
|
+
if (opt.walkTokens) {
|
|
3181
|
+
if (opt.async) {
|
|
3182
|
+
return Promise.all(marked.walkTokens(_tokens, opt.walkTokens)).then(function () {
|
|
3183
|
+
return Parser.parse(_tokens, opt);
|
|
3184
|
+
})["catch"](onError);
|
|
3185
|
+
}
|
|
3186
|
+
|
|
3187
|
+
marked.walkTokens(_tokens, opt.walkTokens);
|
|
3188
|
+
}
|
|
3189
|
+
|
|
3190
|
+
return Parser.parse(_tokens, opt);
|
|
3191
|
+
} catch (e) {
|
|
3192
|
+
onError(e);
|
|
3193
|
+
}
|
|
3194
|
+
}
|
|
3195
|
+
/**
|
|
3196
|
+
* Options
|
|
3197
|
+
*/
|
|
3198
|
+
|
|
3199
|
+
marked.options = marked.setOptions = function (opt) {
|
|
3200
|
+
merge(marked.defaults, opt);
|
|
3201
|
+
changeDefaults(marked.defaults);
|
|
3202
|
+
return marked;
|
|
3203
|
+
};
|
|
3204
|
+
|
|
3205
|
+
marked.getDefaults = getDefaults;
|
|
3206
|
+
marked.defaults = exports.defaults;
|
|
3207
|
+
/**
|
|
3208
|
+
* Use Extension
|
|
3209
|
+
*/
|
|
3210
|
+
|
|
3211
|
+
marked.use = function () {
|
|
3212
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
3213
|
+
args[_key] = arguments[_key];
|
|
3214
|
+
}
|
|
3215
|
+
|
|
3216
|
+
var opts = merge.apply(void 0, [{}].concat(args));
|
|
3217
|
+
var extensions = marked.defaults.extensions || {
|
|
3218
|
+
renderers: {},
|
|
3219
|
+
childTokens: {}
|
|
3220
|
+
};
|
|
3221
|
+
var hasExtensions;
|
|
3222
|
+
args.forEach(function (pack) {
|
|
3223
|
+
// ==-- Parse "addon" extensions --== //
|
|
3224
|
+
if (pack.extensions) {
|
|
3225
|
+
hasExtensions = true;
|
|
3226
|
+
pack.extensions.forEach(function (ext) {
|
|
3227
|
+
if (!ext.name) {
|
|
3228
|
+
throw new Error('extension name required');
|
|
3229
|
+
}
|
|
3230
|
+
|
|
3231
|
+
if (ext.renderer) {
|
|
3232
|
+
// Renderer extensions
|
|
3233
|
+
var prevRenderer = extensions.renderers ? extensions.renderers[ext.name] : null;
|
|
3234
|
+
|
|
3235
|
+
if (prevRenderer) {
|
|
3236
|
+
// Replace extension with func to run new extension but fall back if false
|
|
3237
|
+
extensions.renderers[ext.name] = function () {
|
|
3238
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
3239
|
+
args[_key2] = arguments[_key2];
|
|
3240
|
+
}
|
|
3241
|
+
|
|
3242
|
+
var ret = ext.renderer.apply(this, args);
|
|
3243
|
+
|
|
3244
|
+
if (ret === false) {
|
|
3245
|
+
ret = prevRenderer.apply(this, args);
|
|
3246
|
+
}
|
|
3247
|
+
|
|
3248
|
+
return ret;
|
|
3249
|
+
};
|
|
3250
|
+
} else {
|
|
3251
|
+
extensions.renderers[ext.name] = ext.renderer;
|
|
3252
|
+
}
|
|
3253
|
+
}
|
|
3254
|
+
|
|
3255
|
+
if (ext.tokenizer) {
|
|
3256
|
+
// Tokenizer Extensions
|
|
3257
|
+
if (!ext.level || ext.level !== 'block' && ext.level !== 'inline') {
|
|
3258
|
+
throw new Error("extension level must be 'block' or 'inline'");
|
|
3259
|
+
}
|
|
3260
|
+
|
|
3261
|
+
if (extensions[ext.level]) {
|
|
3262
|
+
extensions[ext.level].unshift(ext.tokenizer);
|
|
3263
|
+
} else {
|
|
3264
|
+
extensions[ext.level] = [ext.tokenizer];
|
|
3265
|
+
}
|
|
3266
|
+
|
|
3267
|
+
if (ext.start) {
|
|
3268
|
+
// Function to check for start of token
|
|
3269
|
+
if (ext.level === 'block') {
|
|
3270
|
+
if (extensions.startBlock) {
|
|
3271
|
+
extensions.startBlock.push(ext.start);
|
|
3272
|
+
} else {
|
|
3273
|
+
extensions.startBlock = [ext.start];
|
|
3274
|
+
}
|
|
3275
|
+
} else if (ext.level === 'inline') {
|
|
3276
|
+
if (extensions.startInline) {
|
|
3277
|
+
extensions.startInline.push(ext.start);
|
|
3278
|
+
} else {
|
|
3279
|
+
extensions.startInline = [ext.start];
|
|
3280
|
+
}
|
|
3281
|
+
}
|
|
3282
|
+
}
|
|
3283
|
+
}
|
|
3284
|
+
|
|
3285
|
+
if (ext.childTokens) {
|
|
3286
|
+
// Child tokens to be visited by walkTokens
|
|
3287
|
+
extensions.childTokens[ext.name] = ext.childTokens;
|
|
3288
|
+
}
|
|
3289
|
+
});
|
|
3290
|
+
} // ==-- Parse "overwrite" extensions --== //
|
|
3291
|
+
|
|
3292
|
+
|
|
3293
|
+
if (pack.renderer) {
|
|
3294
|
+
(function () {
|
|
3295
|
+
var renderer = marked.defaults.renderer || new Renderer();
|
|
3296
|
+
|
|
3297
|
+
var _loop = function _loop(prop) {
|
|
3298
|
+
var prevRenderer = renderer[prop]; // Replace renderer with func to run extension, but fall back if false
|
|
3299
|
+
|
|
3300
|
+
renderer[prop] = function () {
|
|
3301
|
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
3302
|
+
args[_key3] = arguments[_key3];
|
|
3303
|
+
}
|
|
3304
|
+
|
|
3305
|
+
var ret = pack.renderer[prop].apply(renderer, args);
|
|
3306
|
+
|
|
3307
|
+
if (ret === false) {
|
|
3308
|
+
ret = prevRenderer.apply(renderer, args);
|
|
3309
|
+
}
|
|
3310
|
+
|
|
3311
|
+
return ret;
|
|
3312
|
+
};
|
|
3313
|
+
};
|
|
3314
|
+
|
|
3315
|
+
for (var prop in pack.renderer) {
|
|
3316
|
+
_loop(prop);
|
|
3317
|
+
}
|
|
331
3318
|
|
|
332
|
-
|
|
3319
|
+
opts.renderer = renderer;
|
|
3320
|
+
})();
|
|
3321
|
+
}
|
|
333
3322
|
|
|
334
|
-
|
|
3323
|
+
if (pack.tokenizer) {
|
|
3324
|
+
(function () {
|
|
3325
|
+
var tokenizer = marked.defaults.tokenizer || new Tokenizer();
|
|
335
3326
|
|
|
336
|
-
|
|
337
|
-
|
|
3327
|
+
var _loop2 = function _loop2(prop) {
|
|
3328
|
+
var prevTokenizer = tokenizer[prop]; // Replace tokenizer with func to run extension, but fall back if false
|
|
338
3329
|
|
|
339
|
-
|
|
3330
|
+
tokenizer[prop] = function () {
|
|
3331
|
+
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
3332
|
+
args[_key4] = arguments[_key4];
|
|
3333
|
+
}
|
|
340
3334
|
|
|
341
|
-
|
|
3335
|
+
var ret = pack.tokenizer[prop].apply(tokenizer, args);
|
|
342
3336
|
|
|
343
|
-
|
|
344
|
-
|
|
3337
|
+
if (ret === false) {
|
|
3338
|
+
ret = prevTokenizer.apply(tokenizer, args);
|
|
3339
|
+
}
|
|
345
3340
|
|
|
346
|
-
|
|
3341
|
+
return ret;
|
|
3342
|
+
};
|
|
3343
|
+
};
|
|
347
3344
|
|
|
348
|
-
|
|
3345
|
+
for (var prop in pack.tokenizer) {
|
|
3346
|
+
_loop2(prop);
|
|
3347
|
+
}
|
|
349
3348
|
|
|
350
|
-
|
|
351
|
-
|
|
3349
|
+
opts.tokenizer = tokenizer;
|
|
3350
|
+
})();
|
|
3351
|
+
} // ==-- Parse WalkTokens extensions --== //
|
|
352
3352
|
|
|
353
|
-
module.exports = require("core-js/modules/es.regexp.to-string");
|
|
354
3353
|
|
|
355
|
-
|
|
3354
|
+
if (pack.walkTokens) {
|
|
3355
|
+
var _walkTokens = marked.defaults.walkTokens;
|
|
356
3356
|
|
|
357
|
-
|
|
358
|
-
|
|
3357
|
+
opts.walkTokens = function (token) {
|
|
3358
|
+
var values = [];
|
|
3359
|
+
values.push(pack.walkTokens.call(this, token));
|
|
359
3360
|
|
|
360
|
-
|
|
3361
|
+
if (_walkTokens) {
|
|
3362
|
+
values = values.concat(_walkTokens.call(this, token));
|
|
3363
|
+
}
|
|
361
3364
|
|
|
362
|
-
|
|
3365
|
+
return values;
|
|
3366
|
+
};
|
|
3367
|
+
}
|
|
363
3368
|
|
|
364
|
-
|
|
365
|
-
|
|
3369
|
+
if (hasExtensions) {
|
|
3370
|
+
opts.extensions = extensions;
|
|
3371
|
+
}
|
|
366
3372
|
|
|
367
|
-
|
|
3373
|
+
marked.setOptions(opts);
|
|
3374
|
+
});
|
|
3375
|
+
};
|
|
3376
|
+
/**
|
|
3377
|
+
* Run callback for every token
|
|
3378
|
+
*/
|
|
368
3379
|
|
|
369
|
-
/***/ }),
|
|
370
3380
|
|
|
371
|
-
|
|
372
|
-
|
|
3381
|
+
marked.walkTokens = function (tokens, callback) {
|
|
3382
|
+
var values = [];
|
|
373
3383
|
|
|
374
|
-
|
|
3384
|
+
var _loop3 = function _loop3() {
|
|
3385
|
+
var token = _step.value;
|
|
3386
|
+
values = values.concat(callback.call(marked, token));
|
|
375
3387
|
|
|
376
|
-
|
|
3388
|
+
switch (token.type) {
|
|
3389
|
+
case 'table':
|
|
3390
|
+
{
|
|
3391
|
+
for (var _iterator2 = _createForOfIteratorHelperLoose(token.header), _step2; !(_step2 = _iterator2()).done;) {
|
|
3392
|
+
var cell = _step2.value;
|
|
3393
|
+
values = values.concat(marked.walkTokens(cell.tokens, callback));
|
|
3394
|
+
}
|
|
377
3395
|
|
|
378
|
-
|
|
379
|
-
|
|
3396
|
+
for (var _iterator3 = _createForOfIteratorHelperLoose(token.rows), _step3; !(_step3 = _iterator3()).done;) {
|
|
3397
|
+
var row = _step3.value;
|
|
380
3398
|
|
|
381
|
-
|
|
3399
|
+
for (var _iterator4 = _createForOfIteratorHelperLoose(row), _step4; !(_step4 = _iterator4()).done;) {
|
|
3400
|
+
var _cell = _step4.value;
|
|
3401
|
+
values = values.concat(marked.walkTokens(_cell.tokens, callback));
|
|
3402
|
+
}
|
|
3403
|
+
}
|
|
382
3404
|
|
|
383
|
-
|
|
3405
|
+
break;
|
|
3406
|
+
}
|
|
384
3407
|
|
|
385
|
-
|
|
386
|
-
|
|
3408
|
+
case 'list':
|
|
3409
|
+
{
|
|
3410
|
+
values = values.concat(marked.walkTokens(token.items, callback));
|
|
3411
|
+
break;
|
|
3412
|
+
}
|
|
387
3413
|
|
|
388
|
-
|
|
3414
|
+
default:
|
|
3415
|
+
{
|
|
3416
|
+
if (marked.defaults.extensions && marked.defaults.extensions.childTokens && marked.defaults.extensions.childTokens[token.type]) {
|
|
3417
|
+
// Walk any extensions
|
|
3418
|
+
marked.defaults.extensions.childTokens[token.type].forEach(function (childTokens) {
|
|
3419
|
+
values = values.concat(marked.walkTokens(token[childTokens], callback));
|
|
3420
|
+
});
|
|
3421
|
+
} else if (token.tokens) {
|
|
3422
|
+
values = values.concat(marked.walkTokens(token.tokens, callback));
|
|
3423
|
+
}
|
|
3424
|
+
}
|
|
3425
|
+
}
|
|
3426
|
+
};
|
|
389
3427
|
|
|
390
|
-
|
|
3428
|
+
for (var _iterator = _createForOfIteratorHelperLoose(tokens), _step; !(_step = _iterator()).done;) {
|
|
3429
|
+
_loop3();
|
|
3430
|
+
}
|
|
391
3431
|
|
|
392
|
-
|
|
393
|
-
|
|
3432
|
+
return values;
|
|
3433
|
+
};
|
|
3434
|
+
/**
|
|
3435
|
+
* Parse Inline
|
|
3436
|
+
* @param {string} src
|
|
3437
|
+
*/
|
|
394
3438
|
|
|
395
|
-
module.exports = require("element-ui/lib/locale/lang/en");
|
|
396
3439
|
|
|
397
|
-
|
|
3440
|
+
marked.parseInline = function (src, opt) {
|
|
3441
|
+
// throw error in case of non string input
|
|
3442
|
+
if (typeof src === 'undefined' || src === null) {
|
|
3443
|
+
throw new Error('marked.parseInline(): input parameter is undefined or null');
|
|
3444
|
+
}
|
|
398
3445
|
|
|
399
|
-
|
|
400
|
-
|
|
3446
|
+
if (typeof src !== 'string') {
|
|
3447
|
+
throw new Error('marked.parseInline(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');
|
|
3448
|
+
}
|
|
401
3449
|
|
|
402
|
-
|
|
3450
|
+
opt = merge({}, marked.defaults, opt || {});
|
|
3451
|
+
checkSanitizeDeprecation(opt);
|
|
403
3452
|
|
|
404
|
-
|
|
3453
|
+
try {
|
|
3454
|
+
var tokens = Lexer.lexInline(src, opt);
|
|
405
3455
|
|
|
406
|
-
|
|
407
|
-
|
|
3456
|
+
if (opt.walkTokens) {
|
|
3457
|
+
marked.walkTokens(tokens, opt.walkTokens);
|
|
3458
|
+
}
|
|
408
3459
|
|
|
409
|
-
|
|
3460
|
+
return Parser.parseInline(tokens, opt);
|
|
3461
|
+
} catch (e) {
|
|
3462
|
+
e.message += '\nPlease report this to https://github.com/markedjs/marked.';
|
|
410
3463
|
|
|
411
|
-
|
|
3464
|
+
if (opt.silent) {
|
|
3465
|
+
return '<p>An error occurred:</p><pre>' + escape(e.message + '', true) + '</pre>';
|
|
3466
|
+
}
|
|
412
3467
|
|
|
413
|
-
|
|
414
|
-
|
|
3468
|
+
throw e;
|
|
3469
|
+
}
|
|
3470
|
+
};
|
|
3471
|
+
/**
|
|
3472
|
+
* Expose
|
|
3473
|
+
*/
|
|
3474
|
+
|
|
3475
|
+
|
|
3476
|
+
marked.Parser = Parser;
|
|
3477
|
+
marked.parser = Parser.parse;
|
|
3478
|
+
marked.Renderer = Renderer;
|
|
3479
|
+
marked.TextRenderer = TextRenderer;
|
|
3480
|
+
marked.Lexer = Lexer;
|
|
3481
|
+
marked.lexer = Lexer.lex;
|
|
3482
|
+
marked.Tokenizer = Tokenizer;
|
|
3483
|
+
marked.Slugger = Slugger;
|
|
3484
|
+
marked.parse = marked;
|
|
3485
|
+
var options = marked.options;
|
|
3486
|
+
var setOptions = marked.setOptions;
|
|
3487
|
+
var use = marked.use;
|
|
3488
|
+
var walkTokens = marked.walkTokens;
|
|
3489
|
+
var parseInline = marked.parseInline;
|
|
3490
|
+
var parse = marked;
|
|
3491
|
+
var parser = Parser.parse;
|
|
3492
|
+
var lexer = Lexer.lex;
|
|
3493
|
+
|
|
3494
|
+
exports.Lexer = Lexer;
|
|
3495
|
+
exports.Parser = Parser;
|
|
3496
|
+
exports.Renderer = Renderer;
|
|
3497
|
+
exports.Slugger = Slugger;
|
|
3498
|
+
exports.TextRenderer = TextRenderer;
|
|
3499
|
+
exports.Tokenizer = Tokenizer;
|
|
3500
|
+
exports.getDefaults = getDefaults;
|
|
3501
|
+
exports.lexer = lexer;
|
|
3502
|
+
exports.marked = marked;
|
|
3503
|
+
exports.options = options;
|
|
3504
|
+
exports.parse = parse;
|
|
3505
|
+
exports.parseInline = parseInline;
|
|
3506
|
+
exports.parser = parser;
|
|
3507
|
+
exports.setOptions = setOptions;
|
|
3508
|
+
exports.use = use;
|
|
3509
|
+
exports.walkTokens = walkTokens;
|
|
3510
|
+
|
|
3511
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
3512
|
+
|
|
3513
|
+
}));
|
|
415
3514
|
|
|
416
|
-
module.exports = require("core-js/modules/es.number.constructor");
|
|
417
3515
|
|
|
418
3516
|
/***/ }),
|
|
419
3517
|
|
|
420
|
-
/***/ "
|
|
421
|
-
/***/ (function(module,
|
|
3518
|
+
/***/ "7c68":
|
|
3519
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
422
3520
|
|
|
423
|
-
|
|
3521
|
+
"use strict";
|
|
3522
|
+
/* 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");
|
|
3523
|
+
/* 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__);
|
|
3524
|
+
/* unused harmony reexport * */
|
|
3525
|
+
/* 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);
|
|
424
3526
|
|
|
425
3527
|
/***/ }),
|
|
426
3528
|
|
|
@@ -473,6 +3575,17 @@ module.exports = require("algoliasearch");
|
|
|
473
3575
|
|
|
474
3576
|
/***/ }),
|
|
475
3577
|
|
|
3578
|
+
/***/ "8b9f":
|
|
3579
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
3580
|
+
|
|
3581
|
+
"use strict";
|
|
3582
|
+
/* 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");
|
|
3583
|
+
/* 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__);
|
|
3584
|
+
/* unused harmony reexport * */
|
|
3585
|
+
/* 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);
|
|
3586
|
+
|
|
3587
|
+
/***/ }),
|
|
3588
|
+
|
|
476
3589
|
/***/ "8bbf":
|
|
477
3590
|
/***/ (function(module, exports) {
|
|
478
3591
|
|
|
@@ -487,17 +3600,6 @@ module.exports = require("core-js/modules/es.array.iterator");
|
|
|
487
3600
|
|
|
488
3601
|
/***/ }),
|
|
489
3602
|
|
|
490
|
-
/***/ "8e8c":
|
|
491
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
492
|
-
|
|
493
|
-
"use strict";
|
|
494
|
-
/* 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");
|
|
495
|
-
/* 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__);
|
|
496
|
-
/* unused harmony reexport * */
|
|
497
|
-
/* 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);
|
|
498
|
-
|
|
499
|
-
/***/ }),
|
|
500
|
-
|
|
501
3603
|
/***/ "8f11":
|
|
502
3604
|
/***/ (function(module, exports) {
|
|
503
3605
|
|
|
@@ -519,6 +3621,13 @@ module.exports = require("element-ui/lib/popover");
|
|
|
519
3621
|
|
|
520
3622
|
/***/ }),
|
|
521
3623
|
|
|
3624
|
+
/***/ "9530":
|
|
3625
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
3626
|
+
|
|
3627
|
+
// extracted by mini-css-extract-plugin
|
|
3628
|
+
|
|
3629
|
+
/***/ }),
|
|
3630
|
+
|
|
522
3631
|
/***/ "9861":
|
|
523
3632
|
/***/ (function(module, exports) {
|
|
524
3633
|
|
|
@@ -547,13 +3656,6 @@ module.exports = __webpack_require__.p + "img/missing-image.1878d8b8.svg";
|
|
|
547
3656
|
|
|
548
3657
|
/***/ }),
|
|
549
3658
|
|
|
550
|
-
/***/ "a012":
|
|
551
|
-
/***/ (function(module, exports) {
|
|
552
|
-
|
|
553
|
-
module.exports = require("@abi-software/gallery/src/mixins/GalleryHelpers");
|
|
554
|
-
|
|
555
|
-
/***/ }),
|
|
556
|
-
|
|
557
3659
|
/***/ "a525":
|
|
558
3660
|
/***/ (function(module, exports) {
|
|
559
3661
|
|
|
@@ -600,6 +3702,13 @@ module.exports = require("core-js/modules/es.array.find-index");
|
|
|
600
3702
|
|
|
601
3703
|
/***/ }),
|
|
602
3704
|
|
|
3705
|
+
/***/ "b133":
|
|
3706
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
3707
|
+
|
|
3708
|
+
// extracted by mini-css-extract-plugin
|
|
3709
|
+
|
|
3710
|
+
/***/ }),
|
|
3711
|
+
|
|
603
3712
|
/***/ "b2c7":
|
|
604
3713
|
/***/ (function(module, exports) {
|
|
605
3714
|
|
|
@@ -614,24 +3723,6 @@ module.exports = require("element-ui/lib/icon");
|
|
|
614
3723
|
|
|
615
3724
|
/***/ }),
|
|
616
3725
|
|
|
617
|
-
/***/ "b629":
|
|
618
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
619
|
-
|
|
620
|
-
// extracted by mini-css-extract-plugin
|
|
621
|
-
|
|
622
|
-
/***/ }),
|
|
623
|
-
|
|
624
|
-
/***/ "b725":
|
|
625
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
626
|
-
|
|
627
|
-
"use strict";
|
|
628
|
-
/* 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");
|
|
629
|
-
/* 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__);
|
|
630
|
-
/* unused harmony reexport * */
|
|
631
|
-
/* 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);
|
|
632
|
-
|
|
633
|
-
/***/ }),
|
|
634
|
-
|
|
635
3726
|
/***/ "b917":
|
|
636
3727
|
/***/ (function(module, exports) {
|
|
637
3728
|
|
|
@@ -653,24 +3744,6 @@ module.exports = require("core-js/modules/web.dom-collections.for-each");
|
|
|
653
3744
|
|
|
654
3745
|
/***/ }),
|
|
655
3746
|
|
|
656
|
-
/***/ "bd01":
|
|
657
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
658
|
-
|
|
659
|
-
// extracted by mini-css-extract-plugin
|
|
660
|
-
|
|
661
|
-
/***/ }),
|
|
662
|
-
|
|
663
|
-
/***/ "bd6b":
|
|
664
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
665
|
-
|
|
666
|
-
"use strict";
|
|
667
|
-
/* 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");
|
|
668
|
-
/* 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__);
|
|
669
|
-
/* unused harmony reexport * */
|
|
670
|
-
/* 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);
|
|
671
|
-
|
|
672
|
-
/***/ }),
|
|
673
|
-
|
|
674
3747
|
/***/ "be6e":
|
|
675
3748
|
/***/ (function(module, exports) {
|
|
676
3749
|
|
|
@@ -692,14 +3765,10 @@ module.exports = require("element-ui/lib/option");
|
|
|
692
3765
|
|
|
693
3766
|
/***/ }),
|
|
694
3767
|
|
|
695
|
-
/***/ "
|
|
696
|
-
/***/ (function(module,
|
|
3768
|
+
/***/ "cebe":
|
|
3769
|
+
/***/ (function(module, exports) {
|
|
697
3770
|
|
|
698
|
-
|
|
699
|
-
/* 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");
|
|
700
|
-
/* 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__);
|
|
701
|
-
/* unused harmony reexport * */
|
|
702
|
-
/* 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);
|
|
3771
|
+
module.exports = require("axios");
|
|
703
3772
|
|
|
704
3773
|
/***/ }),
|
|
705
3774
|
|
|
@@ -756,6 +3825,13 @@ module.exports = require("core-js/modules/es.array.unscopables.flat");
|
|
|
756
3825
|
|
|
757
3826
|
/***/ }),
|
|
758
3827
|
|
|
3828
|
+
/***/ "ef67":
|
|
3829
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
3830
|
+
|
|
3831
|
+
// extracted by mini-css-extract-plugin
|
|
3832
|
+
|
|
3833
|
+
/***/ }),
|
|
3834
|
+
|
|
759
3835
|
/***/ "efde":
|
|
760
3836
|
/***/ (function(module, exports) {
|
|
761
3837
|
|
|
@@ -804,12 +3880,12 @@ if (typeof window !== 'undefined') {
|
|
|
804
3880
|
// Indicate to webpack that this file can be concatenated
|
|
805
3881
|
/* harmony default export */ var setPublicPath = (null);
|
|
806
3882
|
|
|
807
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
3883
|
+
// 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&
|
|
808
3884
|
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)}
|
|
809
3885
|
var staticRenderFns = []
|
|
810
3886
|
|
|
811
3887
|
|
|
812
|
-
// CONCATENATED MODULE: ./src/components/SideBar.vue?vue&type=template&id=
|
|
3888
|
+
// CONCATENATED MODULE: ./src/components/SideBar.vue?vue&type=template&id=9b3acd4c&scoped=true&
|
|
813
3889
|
|
|
814
3890
|
// EXTERNAL MODULE: external "core-js/modules/es.symbol"
|
|
815
3891
|
var es_symbol_ = __webpack_require__("6049");
|
|
@@ -879,19 +3955,16 @@ var en_default = /*#__PURE__*/__webpack_require__.n(en_);
|
|
|
879
3955
|
var locale_ = __webpack_require__("7f9f");
|
|
880
3956
|
var locale_default = /*#__PURE__*/__webpack_require__.n(locale_);
|
|
881
3957
|
|
|
882
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
883
|
-
var
|
|
884
|
-
var
|
|
3958
|
+
// 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&
|
|
3959
|
+
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)}
|
|
3960
|
+
var SidebarContentvue_type_template_id_eca1cf88_scoped_true_staticRenderFns = []
|
|
885
3961
|
|
|
886
3962
|
|
|
887
|
-
// CONCATENATED MODULE: ./src/components/SidebarContent.vue?vue&type=template&id=
|
|
3963
|
+
// CONCATENATED MODULE: ./src/components/SidebarContent.vue?vue&type=template&id=eca1cf88&scoped=true&
|
|
888
3964
|
|
|
889
3965
|
// EXTERNAL MODULE: external "core-js/modules/es.array.find-index"
|
|
890
3966
|
var es_array_find_index_ = __webpack_require__("aecd");
|
|
891
3967
|
|
|
892
|
-
// EXTERNAL MODULE: external "core-js/modules/es.array.includes"
|
|
893
|
-
var es_array_includes_ = __webpack_require__("ab7e");
|
|
894
|
-
|
|
895
3968
|
// EXTERNAL MODULE: external "core-js/modules/es.array.iterator"
|
|
896
3969
|
var es_array_iterator_ = __webpack_require__("8c84");
|
|
897
3970
|
|
|
@@ -922,9 +3995,6 @@ var es_regexp_to_string_ = __webpack_require__("5fef");
|
|
|
922
3995
|
// EXTERNAL MODULE: external "core-js/modules/es.set"
|
|
923
3996
|
var es_set_ = __webpack_require__("47ff");
|
|
924
3997
|
|
|
925
|
-
// EXTERNAL MODULE: external "core-js/modules/es.string.includes"
|
|
926
|
-
var es_string_includes_ = __webpack_require__("fd48");
|
|
927
|
-
|
|
928
3998
|
// EXTERNAL MODULE: external "core-js/modules/es.string.iterator"
|
|
929
3999
|
var es_string_iterator_ = __webpack_require__("907b");
|
|
930
4000
|
|
|
@@ -1060,7 +4130,7 @@ var button_css_ = __webpack_require__("26bc");
|
|
|
1060
4130
|
var button_ = __webpack_require__("5d8c");
|
|
1061
4131
|
var button_default = /*#__PURE__*/__webpack_require__.n(button_);
|
|
1062
4132
|
|
|
1063
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
4133
|
+
// 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&
|
|
1064
4134
|
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)}
|
|
1065
4135
|
var SearchFiltersvue_type_template_id_7f7ea160_scoped_true_staticRenderFns = []
|
|
1066
4136
|
|
|
@@ -1070,6 +4140,9 @@ var SearchFiltersvue_type_template_id_7f7ea160_scoped_true_staticRenderFns = []
|
|
|
1070
4140
|
// EXTERNAL MODULE: external "core-js/modules/es.array.find"
|
|
1071
4141
|
var es_array_find_ = __webpack_require__("fe0e");
|
|
1072
4142
|
|
|
4143
|
+
// EXTERNAL MODULE: external "core-js/modules/es.array.includes"
|
|
4144
|
+
var es_array_includes_ = __webpack_require__("ab7e");
|
|
4145
|
+
|
|
1073
4146
|
// EXTERNAL MODULE: external "core-js/modules/es.array.slice"
|
|
1074
4147
|
var es_array_slice_ = __webpack_require__("6579");
|
|
1075
4148
|
|
|
@@ -1082,6 +4155,9 @@ var es_array_splice_ = __webpack_require__("7c81");
|
|
|
1082
4155
|
// EXTERNAL MODULE: external "core-js/modules/es.promise.finally"
|
|
1083
4156
|
var es_promise_finally_ = __webpack_require__("f96d");
|
|
1084
4157
|
|
|
4158
|
+
// EXTERNAL MODULE: external "core-js/modules/es.string.includes"
|
|
4159
|
+
var es_string_includes_ = __webpack_require__("fd48");
|
|
4160
|
+
|
|
1085
4161
|
// EXTERNAL MODULE: external "core-js/modules/es.string.replace"
|
|
1086
4162
|
var es_string_replace_ = __webpack_require__("bfab");
|
|
1087
4163
|
|
|
@@ -1513,10 +4589,10 @@ function () {
|
|
|
1513
4589
|
newResult = _objectSpread({}, res);
|
|
1514
4590
|
newResult = {
|
|
1515
4591
|
doi: res.item.curie.split(':')[1],
|
|
1516
|
-
name: res.item.name,
|
|
1517
|
-
description: res.item.description,
|
|
1518
|
-
updated: res.pennsieve.updatedAt,
|
|
1519
|
-
publishDate: res.pennsieve.publishDate,
|
|
4592
|
+
name: res.item.dataset.name,
|
|
4593
|
+
description: res.item.dataset.description,
|
|
4594
|
+
updated: res.pennsieve ? res.pennsieve.updatedAt : 'Unkown',
|
|
4595
|
+
publishDate: res.pennsieve ? res.pennsieve.publishDate : 'Uknown',
|
|
1520
4596
|
datasetId: res.objectID,
|
|
1521
4597
|
detailsReady: false
|
|
1522
4598
|
};
|
|
@@ -1593,14 +4669,21 @@ function () {
|
|
|
1593
4669
|
hitsPerPage: hitsperPage,
|
|
1594
4670
|
page: page - 1,
|
|
1595
4671
|
filters: filter,
|
|
1596
|
-
attributesToHighlight: []
|
|
1597
|
-
|
|
4672
|
+
attributesToHighlight: [] // attributesToRetrieve: [
|
|
4673
|
+
// 'pennsieve.publishDate',
|
|
4674
|
+
// 'pennsieve.updatedAt',
|
|
4675
|
+
// 'item.curie',
|
|
4676
|
+
// 'item.name',
|
|
4677
|
+
// 'item.description',
|
|
4678
|
+
// 'objectID',
|
|
4679
|
+
// ],
|
|
4680
|
+
|
|
1598
4681
|
}).then(function (response) {
|
|
1599
4682
|
var searchData = {
|
|
1600
4683
|
items: _this3._processResultsForCards(response.hits),
|
|
1601
4684
|
total: response.nbHits,
|
|
1602
4685
|
discoverIds: response.hits.map(function (r) {
|
|
1603
|
-
return r.pennsieve.identifier;
|
|
4686
|
+
return r.pennsieve ? r.pennsieve.identifier : undefined;
|
|
1604
4687
|
}),
|
|
1605
4688
|
dois: response.hits.map(function (r) {
|
|
1606
4689
|
return r.item.curie.split(':')[1];
|
|
@@ -2265,14 +5348,14 @@ var SearchFilters_component = normalizeComponent(
|
|
|
2265
5348
|
)
|
|
2266
5349
|
|
|
2267
5350
|
/* harmony default export */ var SearchFilters = (SearchFilters_component.exports);
|
|
2268
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
2269
|
-
var
|
|
2270
|
-
var
|
|
5351
|
+
// 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&
|
|
5352
|
+
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)])])])])}
|
|
5353
|
+
var DatasetCardvue_type_template_id_37eaa59d_scoped_true_staticRenderFns = []
|
|
2271
5354
|
|
|
2272
5355
|
|
|
2273
|
-
// CONCATENATED MODULE: ./src/components/DatasetCard.vue?vue&type=template&id=
|
|
5356
|
+
// CONCATENATED MODULE: ./src/components/DatasetCard.vue?vue&type=template&id=37eaa59d&scoped=true&
|
|
2274
5357
|
|
|
2275
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
5358
|
+
// 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&
|
|
2276
5359
|
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()}
|
|
2277
5360
|
var BadgesGroupvue_type_template_id_712c1be9_scoped_true_staticRenderFns = []
|
|
2278
5361
|
|
|
@@ -2422,12 +5505,12 @@ var BadgesGroup_component = normalizeComponent(
|
|
|
2422
5505
|
|
|
2423
5506
|
var EventBus = new external_vue_default.a();
|
|
2424
5507
|
/* harmony default export */ var components_EventBus = (EventBus);
|
|
2425
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
2426
|
-
var
|
|
2427
|
-
var
|
|
5508
|
+
// 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&
|
|
5509
|
+
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)}
|
|
5510
|
+
var ImageGalleryvue_type_template_id_5d1b779c_scoped_true_staticRenderFns = []
|
|
2428
5511
|
|
|
2429
5512
|
|
|
2430
|
-
// CONCATENATED MODULE: ./src/components/ImageGallery.vue?vue&type=template&id=
|
|
5513
|
+
// CONCATENATED MODULE: ./src/components/ImageGallery.vue?vue&type=template&id=5d1b779c&scoped=true&
|
|
2431
5514
|
|
|
2432
5515
|
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
|
|
2433
5516
|
|
|
@@ -2474,10 +5557,160 @@ function _iterableToArrayLimit(arr, i) {
|
|
|
2474
5557
|
function _slicedToArray(arr, i) {
|
|
2475
5558
|
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
|
|
2476
5559
|
}
|
|
2477
|
-
// EXTERNAL MODULE: external "
|
|
2478
|
-
var
|
|
2479
|
-
var
|
|
5560
|
+
// EXTERNAL MODULE: external "axios"
|
|
5561
|
+
var external_axios_ = __webpack_require__("cebe");
|
|
5562
|
+
var external_axios_default = /*#__PURE__*/__webpack_require__.n(external_axios_);
|
|
5563
|
+
|
|
5564
|
+
// CONCATENATED MODULE: ./src/mixins/GalleryHelpers.js
|
|
5565
|
+
|
|
5566
|
+
|
|
5567
|
+
|
|
5568
|
+
|
|
5569
|
+
|
|
5570
|
+
|
|
5571
|
+
|
|
5572
|
+
|
|
5573
|
+
|
|
5574
|
+
|
|
5575
|
+
/* harmony default export */ var GalleryHelpers = ({
|
|
5576
|
+
//this mixin is not used by this code base but it can be used by other
|
|
5577
|
+
//projects to get a handle to various resources
|
|
5578
|
+
data: function data() {
|
|
5579
|
+
return {
|
|
5580
|
+
defaultImg: __webpack_require__("6328")
|
|
5581
|
+
};
|
|
5582
|
+
},
|
|
5583
|
+
methods: {
|
|
5584
|
+
getRequest: function () {
|
|
5585
|
+
var _getRequest = _asyncToGenerator(
|
|
5586
|
+
/*#__PURE__*/
|
|
5587
|
+
regeneratorRuntime.mark(function _callee(url, params, timeout) {
|
|
5588
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
5589
|
+
while (1) {
|
|
5590
|
+
switch (_context.prev = _context.next) {
|
|
5591
|
+
case 0:
|
|
5592
|
+
_context.next = 2;
|
|
5593
|
+
return external_axios_default()({
|
|
5594
|
+
method: 'get',
|
|
5595
|
+
url: url,
|
|
5596
|
+
params: params,
|
|
5597
|
+
timeout: timeout
|
|
5598
|
+
});
|
|
5599
|
+
|
|
5600
|
+
case 2:
|
|
5601
|
+
return _context.abrupt("return", _context.sent);
|
|
5602
|
+
|
|
5603
|
+
case 3:
|
|
5604
|
+
case "end":
|
|
5605
|
+
return _context.stop();
|
|
5606
|
+
}
|
|
5607
|
+
}
|
|
5608
|
+
}, _callee);
|
|
5609
|
+
}));
|
|
5610
|
+
|
|
5611
|
+
function getRequest(_x, _x2, _x3) {
|
|
5612
|
+
return _getRequest.apply(this, arguments);
|
|
5613
|
+
}
|
|
5614
|
+
|
|
5615
|
+
return getRequest;
|
|
5616
|
+
}(),
|
|
2480
5617
|
|
|
5618
|
+
/**
|
|
5619
|
+
* Returns a file path for S3.
|
|
5620
|
+
* @param {String} dataset_id dataset id.
|
|
5621
|
+
* @param {String} dataset_version dataset version.
|
|
5622
|
+
* @param {String} file_path file path.
|
|
5623
|
+
* @returns {String} full path to S3 file.
|
|
5624
|
+
*/
|
|
5625
|
+
getS3FilePath: function getS3FilePath(dataset_id, dataset_version, file_path) {
|
|
5626
|
+
var encoded_file_path = encodeURIComponent(file_path);
|
|
5627
|
+
return "".concat(dataset_id, "/").concat(dataset_version, "/files/").concat(encoded_file_path);
|
|
5628
|
+
},
|
|
5629
|
+
|
|
5630
|
+
/**
|
|
5631
|
+
* Find data path in the array that matches the provide path
|
|
5632
|
+
*/
|
|
5633
|
+
findEntryWithPathInArray: function findEntryWithPathInArray(array, path) {
|
|
5634
|
+
if (path && array) {
|
|
5635
|
+
for (var i = 0; i < array.length; i++) {
|
|
5636
|
+
if (path === array[i].dataset.path) return array[i];
|
|
5637
|
+
}
|
|
5638
|
+
}
|
|
5639
|
+
|
|
5640
|
+
return undefined;
|
|
5641
|
+
},
|
|
5642
|
+
getThumbnailForPlot: function getThumbnailForPlot(plot, thumbnails) {
|
|
5643
|
+
if (thumbnails && plot) {
|
|
5644
|
+
return this.findEntryWithPathInArray(thumbnails, plot.datacite.isSourceOf.path[0]);
|
|
5645
|
+
}
|
|
5646
|
+
|
|
5647
|
+
return undefined;
|
|
5648
|
+
},
|
|
5649
|
+
|
|
5650
|
+
/**
|
|
5651
|
+
* Use the scaffoldViews to help with finding the correct thumbnails.
|
|
5652
|
+
* Use the index if the workflow stated above fails.
|
|
5653
|
+
*/
|
|
5654
|
+
getThumbnailForScaffold: function getThumbnailForScaffold(scaffold, scaffoldViews, thumbnails, index) {
|
|
5655
|
+
if (thumbnails && thumbnails.length > 0) {
|
|
5656
|
+
var thumbnail = undefined;
|
|
5657
|
+
|
|
5658
|
+
if (scaffold && scaffoldViews) {
|
|
5659
|
+
var view = this.findEntryWithPathInArray(scaffoldViews, scaffold.datacite.isSourceOf.path[0]);
|
|
5660
|
+
|
|
5661
|
+
if (view) {
|
|
5662
|
+
thumbnail = this.findEntryWithPathInArray(thumbnails, view.datacite.isSourceOf.path[0]);
|
|
5663
|
+
}
|
|
5664
|
+
}
|
|
5665
|
+
|
|
5666
|
+
if (thumbnail) {
|
|
5667
|
+
return thumbnail;
|
|
5668
|
+
} else if (index < thumbnails.length) {
|
|
5669
|
+
return thumbnails[index];
|
|
5670
|
+
}
|
|
5671
|
+
}
|
|
5672
|
+
|
|
5673
|
+
return undefined;
|
|
5674
|
+
},
|
|
5675
|
+
getImageURLFromS3: function getImageURLFromS3(apiEndpoint, info) {
|
|
5676
|
+
return "".concat(apiEndpoint, "/s3-resource/").concat(info.datasetId, "/").concat(info.datasetVersion, "/files/").concat(info.file_path, "?encodeBase64=true");
|
|
5677
|
+
},
|
|
5678
|
+
getSegmentationThumbnailURL: function getSegmentationThumbnailURL(apiEndpoint, info) {
|
|
5679
|
+
var endpoint = "".concat(apiEndpoint, "/thumbnail/neurolucida");
|
|
5680
|
+
endpoint = endpoint + "?datasetId=".concat(info.datasetId);
|
|
5681
|
+
endpoint = endpoint + "&version=".concat(info.datasetVersion);
|
|
5682
|
+
endpoint = endpoint + "&path=files/".concat(info.segmentationFilePath);
|
|
5683
|
+
return endpoint;
|
|
5684
|
+
},
|
|
5685
|
+
getThumbnailURLFromBiolucida: function getThumbnailURLFromBiolucida(apiEndpoint, info) {
|
|
5686
|
+
return "".concat(apiEndpoint, "/thumbnail/").concat(info.id);
|
|
5687
|
+
},
|
|
5688
|
+
getImageInfoFromBiolucida: function getImageInfoFromBiolucida(apiEndpoint, items, info) {
|
|
5689
|
+
var _this = this;
|
|
5690
|
+
|
|
5691
|
+
var endpoint = "".concat(apiEndpoint, "/image/").concat(info.id);
|
|
5692
|
+
var params = {};
|
|
5693
|
+
this.getRequest(endpoint, params, 20000).then(function (response) {
|
|
5694
|
+
var item = items.find(function (x) {
|
|
5695
|
+
return x.id === info.id;
|
|
5696
|
+
});
|
|
5697
|
+
var name = response.name;
|
|
5698
|
+
|
|
5699
|
+
if (name) {
|
|
5700
|
+
item.title = name;
|
|
5701
|
+
}
|
|
5702
|
+
}, function (reason) {
|
|
5703
|
+
if (reason.message.includes('timeout') && reason.message.includes('exceeded') && info.fetchAttempts < 3) {
|
|
5704
|
+
info.fetchAttempts += 1;
|
|
5705
|
+
|
|
5706
|
+
_this.getImageInfoFromBiolucida(apiEndpoint, items, info);
|
|
5707
|
+
}
|
|
5708
|
+
|
|
5709
|
+
return Promise.reject('Maximum iterations reached.');
|
|
5710
|
+
});
|
|
5711
|
+
}
|
|
5712
|
+
}
|
|
5713
|
+
});
|
|
2481
5714
|
// EXTERNAL MODULE: external "@abi-software/gallery"
|
|
2482
5715
|
var gallery_ = __webpack_require__("3a09");
|
|
2483
5716
|
var gallery_default = /*#__PURE__*/__webpack_require__.n(gallery_);
|
|
@@ -2542,7 +5775,7 @@ var ImageGalleryvue_type_script_lang_js_capitalise = function capitalise(string)
|
|
|
2542
5775
|
components: {
|
|
2543
5776
|
Gallery: gallery_default.a
|
|
2544
5777
|
},
|
|
2545
|
-
mixins: [
|
|
5778
|
+
mixins: [GalleryHelpers],
|
|
2546
5779
|
props: {
|
|
2547
5780
|
datasetBiolucida: {
|
|
2548
5781
|
type: Object,
|
|
@@ -2565,8 +5798,8 @@ var ImageGalleryvue_type_script_lang_js_capitalise = function capitalise(string)
|
|
|
2565
5798
|
}
|
|
2566
5799
|
},
|
|
2567
5800
|
datasetId: {
|
|
2568
|
-
type:
|
|
2569
|
-
default:
|
|
5801
|
+
type: String,
|
|
5802
|
+
default: ""
|
|
2570
5803
|
},
|
|
2571
5804
|
datasetVersion: {
|
|
2572
5805
|
type: Number,
|
|
@@ -2741,7 +5974,6 @@ var ImageGalleryvue_type_script_lang_js_capitalise = function capitalise(string)
|
|
|
2741
5974
|
var _this3 = this;
|
|
2742
5975
|
|
|
2743
5976
|
if (this.entry.scaffolds) {
|
|
2744
|
-
window.entry = this.entry;
|
|
2745
5977
|
var index = 0;
|
|
2746
5978
|
this.entry.scaffolds.forEach(function (scaffold, i) {
|
|
2747
5979
|
var filePath = scaffold.dataset.path;
|
|
@@ -2753,12 +5985,7 @@ var ImageGalleryvue_type_script_lang_js_capitalise = function capitalise(string)
|
|
|
2753
5985
|
var thumbnailURL = undefined;
|
|
2754
5986
|
|
|
2755
5987
|
if (thumbnail) {
|
|
2756
|
-
thumbnailURL =
|
|
2757
|
-
id: id,
|
|
2758
|
-
datasetId: _this3.datasetId,
|
|
2759
|
-
datasetVersion: _this3.datasetVersion,
|
|
2760
|
-
file_path: thumbnail.dataset.path
|
|
2761
|
-
});
|
|
5988
|
+
thumbnailURL = "".concat(_this3.envVars.API_LOCATION, "s3-resource/").concat(_this3.datasetId, "/").concat(_this3.datasetVersion, "/files/").concat(filePath);
|
|
2762
5989
|
mimetype = thumbnail.mimetype.name;
|
|
2763
5990
|
}
|
|
2764
5991
|
|
|
@@ -2876,7 +6103,7 @@ var ImageGalleryvue_type_script_lang_js_capitalise = function capitalise(string)
|
|
|
2876
6103
|
return undefined;
|
|
2877
6104
|
} else {
|
|
2878
6105
|
// 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.
|
|
2879
|
-
var contextIndex = this.entry
|
|
6106
|
+
var contextIndex = this.entry.contextualInformation.length == this.entry.scaffolds.length ? scaffoldIndex : 0;
|
|
2880
6107
|
return "".concat(this.envVars.API_LOCATION, "s3-resource/").concat(this.datasetId, "/").concat(this.datasetVersion, "/files/").concat(this.entry.contextualInformation[contextIndex]);
|
|
2881
6108
|
}
|
|
2882
6109
|
}
|
|
@@ -2964,8 +6191,8 @@ var ImageGalleryvue_type_script_lang_js_capitalise = function capitalise(string)
|
|
|
2964
6191
|
});
|
|
2965
6192
|
// CONCATENATED MODULE: ./src/components/ImageGallery.vue?vue&type=script&lang=js&
|
|
2966
6193
|
/* harmony default export */ var components_ImageGalleryvue_type_script_lang_js_ = (ImageGalleryvue_type_script_lang_js_);
|
|
2967
|
-
// EXTERNAL MODULE: ./src/components/ImageGallery.vue?vue&type=style&index=0&id=
|
|
2968
|
-
var
|
|
6194
|
+
// EXTERNAL MODULE: ./src/components/ImageGallery.vue?vue&type=style&index=0&id=5d1b779c&scoped=true&lang=css&
|
|
6195
|
+
var ImageGalleryvue_type_style_index_0_id_5d1b779c_scoped_true_lang_css_ = __webpack_require__("2da3");
|
|
2969
6196
|
|
|
2970
6197
|
// CONCATENATED MODULE: ./src/components/ImageGallery.vue
|
|
2971
6198
|
|
|
@@ -2978,11 +6205,11 @@ var ImageGalleryvue_type_style_index_0_id_c336c3ca_scoped_true_lang_css_ = __web
|
|
|
2978
6205
|
|
|
2979
6206
|
var ImageGallery_component = normalizeComponent(
|
|
2980
6207
|
components_ImageGalleryvue_type_script_lang_js_,
|
|
2981
|
-
|
|
2982
|
-
|
|
6208
|
+
ImageGalleryvue_type_template_id_5d1b779c_scoped_true_render,
|
|
6209
|
+
ImageGalleryvue_type_template_id_5d1b779c_scoped_true_staticRenderFns,
|
|
2983
6210
|
false,
|
|
2984
6211
|
null,
|
|
2985
|
-
"
|
|
6212
|
+
"5d1b779c",
|
|
2986
6213
|
null
|
|
2987
6214
|
|
|
2988
6215
|
)
|
|
@@ -3197,8 +6424,11 @@ external_vue_default.a.use(icon_default.a);
|
|
|
3197
6424
|
getBanner: function getBanner() {
|
|
3198
6425
|
var _this = this;
|
|
3199
6426
|
|
|
3200
|
-
//
|
|
3201
|
-
if (this.
|
|
6427
|
+
// NOTE! This getBanner uses the pennsieve api to retrive the banner. Only use for curation!
|
|
6428
|
+
if (this.entry.datasetId.length > 4) {
|
|
6429
|
+
this.loading = true;
|
|
6430
|
+
this.getPennsieveBanner();
|
|
6431
|
+
} else if (this.lastDoi !== this.entry.doi) {
|
|
3202
6432
|
this.lastDoi = this.entry.doi;
|
|
3203
6433
|
this.loading = true;
|
|
3204
6434
|
var doi = this.splitDOI(this.entry.doi);
|
|
@@ -3213,9 +6443,7 @@ external_vue_default.a.use(icon_default.a);
|
|
|
3213
6443
|
_this.discoverId = data.id;
|
|
3214
6444
|
_this.version = data.version;
|
|
3215
6445
|
_this.dataLocation = "https://sparc.science/datasets/".concat(data.id, "?type=dataset");
|
|
3216
|
-
|
|
3217
|
-
_this.getBiolucidaInfo(_this.discoverId);
|
|
3218
|
-
|
|
6446
|
+
if (_this.discoverId.length < 5) _this.getBiolucidaInfo(_this.discoverId);
|
|
3219
6447
|
_this.loading = false;
|
|
3220
6448
|
}).catch(function () {
|
|
3221
6449
|
//set defaults if we hit an error
|
|
@@ -3225,11 +6453,81 @@ external_vue_default.a.use(icon_default.a);
|
|
|
3225
6453
|
});
|
|
3226
6454
|
}
|
|
3227
6455
|
},
|
|
6456
|
+
getPennsieveBanner: function getPennsieveBanner() {
|
|
6457
|
+
var _this2 = this;
|
|
6458
|
+
|
|
6459
|
+
// authenticate with pennsieve
|
|
6460
|
+
fetch('https://cognito-idp.us-east-1.amazonaws.com/', {
|
|
6461
|
+
method: 'POST',
|
|
6462
|
+
headers: {
|
|
6463
|
+
'Accept': 'application/json, text/plain, */*',
|
|
6464
|
+
'Content-Type': 'application/x-amz-json-1.1',
|
|
6465
|
+
'X-Amz-Target': 'AWSCognitoIdentityProviderService.InitiateAuth',
|
|
6466
|
+
'X-Amz-User-Agent': 'aws-amplify/0.1.x js'
|
|
6467
|
+
},
|
|
6468
|
+
body: JSON.stringify({
|
|
6469
|
+
"AuthFlow": "USER_PASSWORD_AUTH",
|
|
6470
|
+
"ClientId": "670mo7si81pcc3sfub7o1914d8",
|
|
6471
|
+
"AuthParameters": {
|
|
6472
|
+
"USERNAME": "jessekhorasanee@gmail.com",
|
|
6473
|
+
"PASSWORD": "Asameswayhey@666",
|
|
6474
|
+
"DEVICE_KEY": "us-east-1_0d4e8de7-6079-470d-bedd-62043ba70f7e"
|
|
6475
|
+
},
|
|
6476
|
+
"ClientMetadata": {}
|
|
6477
|
+
})
|
|
6478
|
+
}).then(function (res) {
|
|
6479
|
+
return res.json();
|
|
6480
|
+
}).then(function (res) {
|
|
6481
|
+
console.log(res);
|
|
6482
|
+
var token = res.AuthenticationResult.AccessToken;
|
|
6483
|
+
var proxy = "".concat(_this2.envVars.API_LOCATION, "proxy/?url="); // set up proxy
|
|
6484
|
+
// call pennsieve api via proxy
|
|
6485
|
+
|
|
6486
|
+
fetch("".concat(proxy, "https://api.pennsieve.io/datasets/N%3Adataset%3A").concat(_this2.entry.datasetId, "/banner?api_key=").concat(token)).then(function (res) {
|
|
6487
|
+
return res.json();
|
|
6488
|
+
}).then(function (res) {
|
|
6489
|
+
console.log('success!');
|
|
6490
|
+
_this2.thumbnail = res.banner;
|
|
6491
|
+
_this2.discoverId = _this2.entry.datasetId;
|
|
6492
|
+
_this2.loading = false;
|
|
6493
|
+
});
|
|
6494
|
+
});
|
|
6495
|
+
},
|
|
6496
|
+
// getBanner: function () {
|
|
6497
|
+
// // Only load banner if card has changed
|
|
6498
|
+
// if (this.lastDoi !== this.entry.doi) {
|
|
6499
|
+
// this.lastDoi = this.entry.doi
|
|
6500
|
+
// this.loading = true
|
|
6501
|
+
// let doi = this.splitDOI(this.entry.doi)
|
|
6502
|
+
// fetch(`${this.envVars.PENNSIEVE_API_LOCATION}/discover/datasets/doi/${doi[0]}/${doi[1]}`)
|
|
6503
|
+
// .then((response) =>{
|
|
6504
|
+
// if (!response.ok){
|
|
6505
|
+
// throw Error(response.statusText)
|
|
6506
|
+
// } else {
|
|
6507
|
+
// return response.json()
|
|
6508
|
+
// }
|
|
6509
|
+
// })
|
|
6510
|
+
// .then((data) => {
|
|
6511
|
+
// this.thumbnail = data.banner
|
|
6512
|
+
// this.discoverId = data.id
|
|
6513
|
+
// this.version = data.version
|
|
6514
|
+
// this.dataLocation = `https://sparc.science/datasets/${data.id}?type=dataset`
|
|
6515
|
+
// this.getBiolucidaInfo(this.discoverId)
|
|
6516
|
+
// this.loading = false
|
|
6517
|
+
// })
|
|
6518
|
+
// .catch(() => {
|
|
6519
|
+
// //set defaults if we hit an error
|
|
6520
|
+
// this.thumbnail = require('@/../assets/missing-image.svg')
|
|
6521
|
+
// this.discoverId = Number(this.entry.datasetId)
|
|
6522
|
+
// this.loading = false
|
|
6523
|
+
// });
|
|
6524
|
+
// }
|
|
6525
|
+
// },
|
|
3228
6526
|
lastName: function lastName(fullName) {
|
|
3229
6527
|
return fullName.split(',')[0];
|
|
3230
6528
|
},
|
|
3231
6529
|
getBiolucidaInfo: function getBiolucidaInfo(id) {
|
|
3232
|
-
var
|
|
6530
|
+
var _this3 = this;
|
|
3233
6531
|
|
|
3234
6532
|
var apiLocation = this.envVars.API_LOCATION;
|
|
3235
6533
|
var endpoint = apiLocation + "image_search/" + id; // Add parameters if we are sent them
|
|
@@ -3237,7 +6535,7 @@ external_vue_default.a.use(icon_default.a);
|
|
|
3237
6535
|
fetch(endpoint).then(function (response) {
|
|
3238
6536
|
return response.json();
|
|
3239
6537
|
}).then(function (data) {
|
|
3240
|
-
if (data.status == "success")
|
|
6538
|
+
if (data.status == "success") _this3.biolucidaData = data;
|
|
3241
6539
|
});
|
|
3242
6540
|
}
|
|
3243
6541
|
},
|
|
@@ -3254,8 +6552,8 @@ external_vue_default.a.use(icon_default.a);
|
|
|
3254
6552
|
});
|
|
3255
6553
|
// CONCATENATED MODULE: ./src/components/DatasetCard.vue?vue&type=script&lang=js&
|
|
3256
6554
|
/* harmony default export */ var components_DatasetCardvue_type_script_lang_js_ = (DatasetCardvue_type_script_lang_js_);
|
|
3257
|
-
// EXTERNAL MODULE: ./src/components/DatasetCard.vue?vue&type=style&index=0&id=
|
|
3258
|
-
var
|
|
6555
|
+
// EXTERNAL MODULE: ./src/components/DatasetCard.vue?vue&type=style&index=0&id=37eaa59d&scoped=true&lang=css&
|
|
6556
|
+
var DatasetCardvue_type_style_index_0_id_37eaa59d_scoped_true_lang_css_ = __webpack_require__("2c0a");
|
|
3259
6557
|
|
|
3260
6558
|
// CONCATENATED MODULE: ./src/components/DatasetCard.vue
|
|
3261
6559
|
|
|
@@ -3268,22 +6566,22 @@ var DatasetCardvue_type_style_index_0_id_bf193158_scoped_true_lang_css_ = __webp
|
|
|
3268
6566
|
|
|
3269
6567
|
var DatasetCard_component = normalizeComponent(
|
|
3270
6568
|
components_DatasetCardvue_type_script_lang_js_,
|
|
3271
|
-
|
|
3272
|
-
|
|
6569
|
+
DatasetCardvue_type_template_id_37eaa59d_scoped_true_render,
|
|
6570
|
+
DatasetCardvue_type_template_id_37eaa59d_scoped_true_staticRenderFns,
|
|
3273
6571
|
false,
|
|
3274
6572
|
null,
|
|
3275
|
-
"
|
|
6573
|
+
"37eaa59d",
|
|
3276
6574
|
null
|
|
3277
6575
|
|
|
3278
6576
|
)
|
|
3279
6577
|
|
|
3280
6578
|
/* harmony default export */ var DatasetCard = (DatasetCard_component.exports);
|
|
3281
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
3282
|
-
var
|
|
3283
|
-
var
|
|
6579
|
+
// 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&
|
|
6580
|
+
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)])}
|
|
6581
|
+
var ContextCardvue_type_template_id_b7364fce_scoped_true_staticRenderFns = []
|
|
3284
6582
|
|
|
3285
6583
|
|
|
3286
|
-
// CONCATENATED MODULE: ./src/components/ContextCard.vue?vue&type=template&id=
|
|
6584
|
+
// CONCATENATED MODULE: ./src/components/ContextCard.vue?vue&type=template&id=b7364fce&scoped=true&
|
|
3287
6585
|
|
|
3288
6586
|
// EXTERNAL MODULE: external "element-ui/lib/theme-chalk/link.css"
|
|
3289
6587
|
var link_css_ = __webpack_require__("230a");
|
|
@@ -3370,8 +6668,8 @@ var link_default = /*#__PURE__*/__webpack_require__.n(link_);
|
|
|
3370
6668
|
// ]
|
|
3371
6669
|
// }
|
|
3372
6670
|
// }
|
|
3373
|
-
// EXTERNAL MODULE:
|
|
3374
|
-
var
|
|
6671
|
+
// EXTERNAL MODULE: ./node_modules/marked/lib/marked.umd.js
|
|
6672
|
+
var marked_umd = __webpack_require__("7c5c");
|
|
3375
6673
|
|
|
3376
6674
|
// EXTERNAL MODULE: external "xss"
|
|
3377
6675
|
var external_xss_ = __webpack_require__("efde");
|
|
@@ -3548,8 +6846,12 @@ var convertBackslashToForwardSlash = function convertBackslashToForwardSlash(pat
|
|
|
3548
6846
|
computed: {
|
|
3549
6847
|
samplesUnderViews: function samplesUnderViews() {
|
|
3550
6848
|
if (this.contextData) {
|
|
6849
|
+
if (!this.contextData.views || !this.contextData.samples) {
|
|
6850
|
+
return false;
|
|
6851
|
+
}
|
|
6852
|
+
|
|
3551
6853
|
if (this.contextData.samplesUnderViews) {
|
|
3552
|
-
return
|
|
6854
|
+
return this.contextData.samplesUnderViews;
|
|
3553
6855
|
} else {
|
|
3554
6856
|
var viewId = this.contextData.views.map(function (v) {
|
|
3555
6857
|
return v.id;
|
|
@@ -3672,7 +6974,7 @@ var convertBackslashToForwardSlash = function convertBackslashToForwardSlash(pat
|
|
|
3672
6974
|
return "".concat(this.envVars.ROOT_URL, "/file/").concat(sample.discoverId, "/").concat(sample.version, "?path=").concat(this.processPathForUrl(sample.path));
|
|
3673
6975
|
},
|
|
3674
6976
|
parseMarkdown: function parseMarkdown(markdown) {
|
|
3675
|
-
return external_xss_default()(
|
|
6977
|
+
return external_xss_default()(marked_umd["marked"].parse(markdown));
|
|
3676
6978
|
},
|
|
3677
6979
|
openViewFile: function openViewFile(view) {
|
|
3678
6980
|
// note that we assume that the view file is in the same directory as the scaffold (viewUrls take relative paths)
|
|
@@ -3684,8 +6986,8 @@ var convertBackslashToForwardSlash = function convertBackslashToForwardSlash(pat
|
|
|
3684
6986
|
});
|
|
3685
6987
|
// CONCATENATED MODULE: ./src/components/ContextCard.vue?vue&type=script&lang=js&
|
|
3686
6988
|
/* harmony default export */ var components_ContextCardvue_type_script_lang_js_ = (ContextCardvue_type_script_lang_js_);
|
|
3687
|
-
// EXTERNAL MODULE: ./src/components/ContextCard.vue?vue&type=style&index=0&id=
|
|
3688
|
-
var
|
|
6989
|
+
// EXTERNAL MODULE: ./src/components/ContextCard.vue?vue&type=style&index=0&id=b7364fce&scoped=true&lang=css&
|
|
6990
|
+
var ContextCardvue_type_style_index_0_id_b7364fce_scoped_true_lang_css_ = __webpack_require__("7c68");
|
|
3689
6991
|
|
|
3690
6992
|
// CONCATENATED MODULE: ./src/components/ContextCard.vue
|
|
3691
6993
|
|
|
@@ -3698,11 +7000,11 @@ var ContextCardvue_type_style_index_0_id_2d699d90_scoped_true_lang_css_ = __webp
|
|
|
3698
7000
|
|
|
3699
7001
|
var ContextCard_component = normalizeComponent(
|
|
3700
7002
|
components_ContextCardvue_type_script_lang_js_,
|
|
3701
|
-
|
|
3702
|
-
|
|
7003
|
+
ContextCardvue_type_template_id_b7364fce_scoped_true_render,
|
|
7004
|
+
ContextCardvue_type_template_id_b7364fce_scoped_true_staticRenderFns,
|
|
3703
7005
|
false,
|
|
3704
7006
|
null,
|
|
3705
|
-
"
|
|
7007
|
+
"b7364fce",
|
|
3706
7008
|
null
|
|
3707
7009
|
|
|
3708
7010
|
)
|
|
@@ -3755,8 +7057,6 @@ var ContextCard_component = normalizeComponent(
|
|
|
3755
7057
|
|
|
3756
7058
|
|
|
3757
7059
|
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
7060
|
|
|
3761
7061
|
|
|
3762
7062
|
|
|
@@ -4128,17 +7428,20 @@ var initial_state = {
|
|
|
4128
7428
|
data.results.forEach(function (element) {
|
|
4129
7429
|
// match the scicrunch result with algolia result
|
|
4130
7430
|
var i = _this3.results.findIndex(function (res) {
|
|
4131
|
-
return
|
|
4132
|
-
});
|
|
7431
|
+
return res.datasetId === element.dataset_identifier || res.identifier === element.dataset_identifier;
|
|
7432
|
+
});
|
|
4133
7433
|
|
|
7434
|
+
console.log('i: ', i);
|
|
7435
|
+
var name = _this3.results[i].name; // Assign scicrunch results to the object
|
|
4134
7436
|
|
|
4135
|
-
Object.assign(_this3.results[i], element);
|
|
7437
|
+
Object.assign(_this3.results[i], element);
|
|
7438
|
+
_this3.results[i].name = name; // Assign the attributes that need some processing
|
|
4136
7439
|
|
|
4137
7440
|
Object.assign(_this3.results[i], {
|
|
4138
7441
|
numberSamples: element.sampleSize ? parseInt(element.sampleSize) : 0,
|
|
4139
7442
|
numberSubjects: element.subjectSize ? parseInt(element.subjectSize) : 0,
|
|
4140
|
-
updated:
|
|
4141
|
-
url: element.uri[0],
|
|
7443
|
+
updated: element.updated ? element.updated[0].timestamp.split("T")[0] : undefined,
|
|
7444
|
+
url: element.uri ? element.uri[0] : undefined,
|
|
4142
7445
|
datasetId: element.dataset_identifier,
|
|
4143
7446
|
datasetRevision: element.dataset_revision,
|
|
4144
7447
|
datasetVersion: element.dataset_version,
|
|
@@ -4217,8 +7520,8 @@ var initial_state = {
|
|
|
4217
7520
|
});
|
|
4218
7521
|
// CONCATENATED MODULE: ./src/components/SidebarContent.vue?vue&type=script&lang=js&
|
|
4219
7522
|
/* harmony default export */ var components_SidebarContentvue_type_script_lang_js_ = (SidebarContentvue_type_script_lang_js_);
|
|
4220
|
-
// EXTERNAL MODULE: ./src/components/SidebarContent.vue?vue&type=style&index=0&id=
|
|
4221
|
-
var
|
|
7523
|
+
// EXTERNAL MODULE: ./src/components/SidebarContent.vue?vue&type=style&index=0&id=eca1cf88&scoped=true&lang=css&
|
|
7524
|
+
var SidebarContentvue_type_style_index_0_id_eca1cf88_scoped_true_lang_css_ = __webpack_require__("19ba");
|
|
4222
7525
|
|
|
4223
7526
|
// CONCATENATED MODULE: ./src/components/SidebarContent.vue
|
|
4224
7527
|
|
|
@@ -4231,17 +7534,17 @@ var SidebarContentvue_type_style_index_0_id_13cf0a2e_scoped_true_lang_css_ = __w
|
|
|
4231
7534
|
|
|
4232
7535
|
var SidebarContent_component = normalizeComponent(
|
|
4233
7536
|
components_SidebarContentvue_type_script_lang_js_,
|
|
4234
|
-
|
|
4235
|
-
|
|
7537
|
+
SidebarContentvue_type_template_id_eca1cf88_scoped_true_render,
|
|
7538
|
+
SidebarContentvue_type_template_id_eca1cf88_scoped_true_staticRenderFns,
|
|
4236
7539
|
false,
|
|
4237
7540
|
null,
|
|
4238
|
-
"
|
|
7541
|
+
"eca1cf88",
|
|
4239
7542
|
null
|
|
4240
7543
|
|
|
4241
7544
|
)
|
|
4242
7545
|
|
|
4243
7546
|
/* harmony default export */ var SidebarContent = (SidebarContent_component.exports);
|
|
4244
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
7547
|
+
// 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&
|
|
4245
7548
|
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)}
|
|
4246
7549
|
var Tabsvue_type_template_id_d68260c4_scoped_true_staticRenderFns = []
|
|
4247
7550
|
|
|
@@ -4504,8 +7807,8 @@ var SideBarvue_type_script_lang_js_initial_state = {
|
|
|
4504
7807
|
});
|
|
4505
7808
|
// CONCATENATED MODULE: ./src/components/SideBar.vue?vue&type=script&lang=js&
|
|
4506
7809
|
/* harmony default export */ var components_SideBarvue_type_script_lang_js_ = (SideBarvue_type_script_lang_js_);
|
|
4507
|
-
// EXTERNAL MODULE: ./src/components/SideBar.vue?vue&type=style&index=0&id=
|
|
4508
|
-
var
|
|
7810
|
+
// EXTERNAL MODULE: ./src/components/SideBar.vue?vue&type=style&index=0&id=9b3acd4c&scoped=true&lang=css&
|
|
7811
|
+
var SideBarvue_type_style_index_0_id_9b3acd4c_scoped_true_lang_css_ = __webpack_require__("8b9f");
|
|
4509
7812
|
|
|
4510
7813
|
// CONCATENATED MODULE: ./src/components/SideBar.vue
|
|
4511
7814
|
|
|
@@ -4522,7 +7825,7 @@ var SideBar_component = normalizeComponent(
|
|
|
4522
7825
|
staticRenderFns,
|
|
4523
7826
|
false,
|
|
4524
7827
|
null,
|
|
4525
|
-
"
|
|
7828
|
+
"9b3acd4c",
|
|
4526
7829
|
null
|
|
4527
7830
|
|
|
4528
7831
|
)
|