securemark 0.235.3 → 0.237.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/securemark.js +220 -114
- package/karma.conf.js +1 -1
- package/markdown.d.ts +11 -10
- package/package-lock.json +91 -54
- package/package.json +1 -1
- package/src/debug.test.ts +3 -1
- package/src/parser/api/bind.ts +7 -3
- package/src/parser/api/parse.test.ts +3 -3
- package/src/parser/api/parse.ts +8 -11
- package/src/parser/block/blockquote.test.ts +1 -1
- package/src/parser/block/codeblock.ts +2 -2
- package/src/parser/block/dlist.ts +1 -3
- package/src/parser/block/extension/aside.test.ts +1 -1
- package/src/parser/block/extension/aside.ts +3 -3
- package/src/parser/block/extension/example.test.ts +2 -2
- package/src/parser/block/extension/example.ts +3 -3
- package/src/parser/block/extension/fig.test.ts +22 -20
- package/src/parser/block/extension/figure.test.ts +33 -31
- package/src/parser/block/extension/figure.ts +33 -4
- package/src/parser/block/extension/message.ts +3 -3
- package/src/parser/block/extension/placeholder.ts +2 -2
- package/src/parser/block/extension/table.ts +6 -6
- package/src/parser/block/extension.ts +1 -1
- package/src/parser/block/heading.test.ts +1 -1
- package/src/parser/block/heading.ts +11 -7
- package/src/parser/block/ilist.ts +1 -1
- package/src/parser/block/mathblock.ts +2 -2
- package/src/parser/block/olist.test.ts +8 -0
- package/src/parser/block/olist.ts +7 -7
- package/src/parser/block/reply/cite.test.ts +4 -0
- package/src/parser/block/reply/cite.ts +1 -0
- package/src/parser/block/reply/quote.ts +1 -1
- package/src/parser/block/table.ts +1 -1
- package/src/parser/block/ulist.test.ts +8 -0
- package/src/parser/block/ulist.ts +7 -7
- package/src/parser/header.ts +1 -1
- package/src/parser/inline/extension/indexee.ts +8 -8
- package/src/parser/inline/extension/placeholder.ts +1 -1
- package/src/parser/inline/html.ts +7 -7
- package/src/parser/inline/htmlentity.ts +1 -1
- package/src/parser/inline/link.ts +4 -4
- package/src/parser/inline/math.ts +1 -1
- package/src/parser/inline/media.ts +3 -3
- package/src/parser/inline/reference.ts +1 -1
- package/src/parser/inline/ruby.ts +1 -1
- package/src/parser/inline.ts +2 -0
- package/src/parser/processor/figure.test.ts +72 -44
- package/src/parser/processor/figure.ts +79 -20
- package/src/parser/processor/footnote.ts +4 -4
- package/src/util/quote.ts +1 -0
package/karma.conf.js
CHANGED
|
@@ -7,7 +7,7 @@ module.exports = function (config) {
|
|
|
7
7
|
{ pattern: 'https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js', watched: false, served: false, included: true },
|
|
8
8
|
{ pattern: 'https://cdnjs.cloudflare.com/ajax/libs/prism/1.22.0/prism.js', watched: false, served: false, included: true },
|
|
9
9
|
{ pattern: 'https://cdnjs.cloudflare.com/ajax/libs/prism/1.22.0/plugins/autoloader/prism-autoloader.min.js', watched: false, served: false, included: true },
|
|
10
|
-
{ pattern: 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.
|
|
10
|
+
{ pattern: 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.0/es5/tex-chtml.min.js', watched: false, served: false, included: true },
|
|
11
11
|
{ pattern: 'https://cdnjs.cloudflare.com/ajax/libs/dompurify/2.2.2/purify.js', watched: false, served: false, included: true },
|
|
12
12
|
{ pattern: 'node_modules/power-assert/build/power-assert.js', watched: true, served: true, included: true },
|
|
13
13
|
{ pattern: 'dist/*.test.js', watched: true, served: true, included: true }
|
package/markdown.d.ts
CHANGED
|
@@ -133,7 +133,10 @@ export namespace MarkdownParser {
|
|
|
133
133
|
Parser<HTMLLIElement, Context, [
|
|
134
134
|
Parser<HTMLElement | string, Context, [
|
|
135
135
|
InlineParser,
|
|
136
|
-
|
|
136
|
+
Parser<HTMLElement | string, Context, [
|
|
137
|
+
InlineParser.ExtensionParser.IndexerParser,
|
|
138
|
+
InlineParser,
|
|
139
|
+
]>,
|
|
137
140
|
]>,
|
|
138
141
|
Parser<HTMLUListElement | HTMLOListElement, Context, [
|
|
139
142
|
UListParser,
|
|
@@ -165,7 +168,10 @@ export namespace MarkdownParser {
|
|
|
165
168
|
Parser<HTMLLIElement, Context, [
|
|
166
169
|
Parser<HTMLElement | string, Context, [
|
|
167
170
|
InlineParser,
|
|
168
|
-
|
|
171
|
+
Parser<HTMLElement | string, Context, [
|
|
172
|
+
InlineParser.ExtensionParser.IndexerParser,
|
|
173
|
+
InlineParser,
|
|
174
|
+
]>,
|
|
169
175
|
]>,
|
|
170
176
|
Parser<HTMLUListElement | HTMLOListElement, Context, [
|
|
171
177
|
UListParser,
|
|
@@ -361,6 +367,8 @@ export namespace MarkdownParser {
|
|
|
361
367
|
]>,
|
|
362
368
|
Parser<HTMLElement | string, Context, [
|
|
363
369
|
Parser<HTMLElement | string, Context, [
|
|
370
|
+
UListParser,
|
|
371
|
+
OListParser,
|
|
364
372
|
BlockParser.TableParser,
|
|
365
373
|
CodeBlockParser,
|
|
366
374
|
MathBlockParser,
|
|
@@ -430,14 +438,6 @@ export namespace MarkdownParser {
|
|
|
430
438
|
InlineParser.ExtensionParser.LabelParser,
|
|
431
439
|
]> {
|
|
432
440
|
}
|
|
433
|
-
export namespace FigbaseParser {
|
|
434
|
-
export interface SegmentParser extends
|
|
435
|
-
Block<'extension/figbase/segment'>,
|
|
436
|
-
Parser<never, Context, [
|
|
437
|
-
InlineParser.ExtensionParser.LabelParser.SegmentParser,
|
|
438
|
-
]> {
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
441
|
export interface TableParser extends
|
|
442
442
|
// ~~~table
|
|
443
443
|
// -/-
|
|
@@ -575,6 +575,7 @@ export namespace MarkdownParser {
|
|
|
575
575
|
Parser<HTMLAnchorElement, Context, [
|
|
576
576
|
InlineParser.AutolinkParser.AnchorParser,
|
|
577
577
|
Parser<HTMLAnchorElement, Context, []>,
|
|
578
|
+
Parser<HTMLAnchorElement, Context, []>,
|
|
578
579
|
]>,
|
|
579
580
|
]> {
|
|
580
581
|
}
|
package/package-lock.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "securemark",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.237.1",
|
|
4
4
|
"lockfileVersion": 1,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"dependencies": {
|
|
@@ -783,6 +783,12 @@
|
|
|
783
783
|
"ms": "2.1.2"
|
|
784
784
|
}
|
|
785
785
|
},
|
|
786
|
+
"depd": {
|
|
787
|
+
"version": "1.1.2",
|
|
788
|
+
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
|
|
789
|
+
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
|
|
790
|
+
"dev": true
|
|
791
|
+
},
|
|
786
792
|
"ms": {
|
|
787
793
|
"version": "2.1.2",
|
|
788
794
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
|
@@ -1420,21 +1426,23 @@
|
|
|
1420
1426
|
"dev": true
|
|
1421
1427
|
},
|
|
1422
1428
|
"body-parser": {
|
|
1423
|
-
"version": "1.
|
|
1424
|
-
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.
|
|
1425
|
-
"integrity": "sha512-
|
|
1429
|
+
"version": "1.20.0",
|
|
1430
|
+
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
|
|
1431
|
+
"integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
|
|
1426
1432
|
"dev": true,
|
|
1427
1433
|
"requires": {
|
|
1428
1434
|
"bytes": "3.1.2",
|
|
1429
1435
|
"content-type": "~1.0.4",
|
|
1430
1436
|
"debug": "2.6.9",
|
|
1431
|
-
"depd": "
|
|
1432
|
-
"
|
|
1437
|
+
"depd": "2.0.0",
|
|
1438
|
+
"destroy": "1.2.0",
|
|
1439
|
+
"http-errors": "2.0.0",
|
|
1433
1440
|
"iconv-lite": "0.4.24",
|
|
1434
|
-
"on-finished": "
|
|
1435
|
-
"qs": "6.
|
|
1436
|
-
"raw-body": "2.
|
|
1437
|
-
"type-is": "~1.6.18"
|
|
1441
|
+
"on-finished": "2.4.1",
|
|
1442
|
+
"qs": "6.10.3",
|
|
1443
|
+
"raw-body": "2.5.1",
|
|
1444
|
+
"type-is": "~1.6.18",
|
|
1445
|
+
"unpipe": "1.0.0"
|
|
1438
1446
|
}
|
|
1439
1447
|
},
|
|
1440
1448
|
"boxen": {
|
|
@@ -1915,9 +1923,9 @@
|
|
|
1915
1923
|
"dev": true
|
|
1916
1924
|
},
|
|
1917
1925
|
"caniuse-lite": {
|
|
1918
|
-
"version": "1.0.
|
|
1919
|
-
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.
|
|
1920
|
-
"integrity": "sha512
|
|
1926
|
+
"version": "1.0.30001324",
|
|
1927
|
+
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001324.tgz",
|
|
1928
|
+
"integrity": "sha512-/eYp1J6zYh1alySQB4uzYFkLmxxI8tk0kxldbNHXp8+v+rdMKdUBNjRLz7T7fz6Iox+1lIdYpc7rq6ZcXfTukg==",
|
|
1921
1929
|
"dev": true
|
|
1922
1930
|
},
|
|
1923
1931
|
"chalk": {
|
|
@@ -2307,9 +2315,9 @@
|
|
|
2307
2315
|
}
|
|
2308
2316
|
},
|
|
2309
2317
|
"concurrently": {
|
|
2310
|
-
"version": "7.
|
|
2311
|
-
"resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.
|
|
2312
|
-
"integrity": "sha512-
|
|
2318
|
+
"version": "7.1.0",
|
|
2319
|
+
"resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.1.0.tgz",
|
|
2320
|
+
"integrity": "sha512-Bz0tMlYKZRUDqJlNiF/OImojMB9ruKUz6GCfmhFnSapXgPe+3xzY4byqoKG9tUZ7L2PGEUjfLPOLfIX3labnmw==",
|
|
2313
2321
|
"dev": true,
|
|
2314
2322
|
"requires": {
|
|
2315
2323
|
"chalk": "^4.1.0",
|
|
@@ -2725,9 +2733,9 @@
|
|
|
2725
2733
|
"dev": true
|
|
2726
2734
|
},
|
|
2727
2735
|
"depd": {
|
|
2728
|
-
"version": "
|
|
2729
|
-
"resolved": "https://registry.npmjs.org/depd/-/depd-
|
|
2730
|
-
"integrity": "
|
|
2736
|
+
"version": "2.0.0",
|
|
2737
|
+
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
|
|
2738
|
+
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
|
|
2731
2739
|
"dev": true
|
|
2732
2740
|
},
|
|
2733
2741
|
"deps-sort": {
|
|
@@ -2858,6 +2866,12 @@
|
|
|
2858
2866
|
"minimalistic-assert": "^1.0.0"
|
|
2859
2867
|
}
|
|
2860
2868
|
},
|
|
2869
|
+
"destroy": {
|
|
2870
|
+
"version": "1.2.0",
|
|
2871
|
+
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
|
|
2872
|
+
"integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
|
|
2873
|
+
"dev": true
|
|
2874
|
+
},
|
|
2861
2875
|
"detect-file": {
|
|
2862
2876
|
"version": "1.0.0",
|
|
2863
2877
|
"resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
|
|
@@ -4299,6 +4313,23 @@
|
|
|
4299
4313
|
"parseurl": "~1.3.3",
|
|
4300
4314
|
"statuses": "~1.5.0",
|
|
4301
4315
|
"unpipe": "~1.0.0"
|
|
4316
|
+
},
|
|
4317
|
+
"dependencies": {
|
|
4318
|
+
"on-finished": {
|
|
4319
|
+
"version": "2.3.0",
|
|
4320
|
+
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
|
|
4321
|
+
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
|
|
4322
|
+
"dev": true,
|
|
4323
|
+
"requires": {
|
|
4324
|
+
"ee-first": "1.1.1"
|
|
4325
|
+
}
|
|
4326
|
+
},
|
|
4327
|
+
"statuses": {
|
|
4328
|
+
"version": "1.5.0",
|
|
4329
|
+
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
|
|
4330
|
+
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
|
|
4331
|
+
"dev": true
|
|
4332
|
+
}
|
|
4302
4333
|
}
|
|
4303
4334
|
},
|
|
4304
4335
|
"find-parent-dir": {
|
|
@@ -5662,15 +5693,15 @@
|
|
|
5662
5693
|
"dev": true
|
|
5663
5694
|
},
|
|
5664
5695
|
"http-errors": {
|
|
5665
|
-
"version": "
|
|
5666
|
-
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-
|
|
5667
|
-
"integrity": "sha512-
|
|
5696
|
+
"version": "2.0.0",
|
|
5697
|
+
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
|
|
5698
|
+
"integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
|
|
5668
5699
|
"dev": true,
|
|
5669
5700
|
"requires": {
|
|
5670
|
-
"depd": "
|
|
5701
|
+
"depd": "2.0.0",
|
|
5671
5702
|
"inherits": "2.0.4",
|
|
5672
5703
|
"setprototypeof": "1.2.0",
|
|
5673
|
-
"statuses": "
|
|
5704
|
+
"statuses": "2.0.1",
|
|
5674
5705
|
"toidentifier": "1.0.1"
|
|
5675
5706
|
}
|
|
5676
5707
|
},
|
|
@@ -6171,9 +6202,9 @@
|
|
|
6171
6202
|
"dev": true
|
|
6172
6203
|
},
|
|
6173
6204
|
"is-number-object": {
|
|
6174
|
-
"version": "1.0.
|
|
6175
|
-
"resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.
|
|
6176
|
-
"integrity": "sha512-
|
|
6205
|
+
"version": "1.0.7",
|
|
6206
|
+
"resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
|
|
6207
|
+
"integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
|
|
6177
6208
|
"dev": true,
|
|
6178
6209
|
"requires": {
|
|
6179
6210
|
"has-tostringtag": "^1.0.0"
|
|
@@ -6232,10 +6263,13 @@
|
|
|
6232
6263
|
}
|
|
6233
6264
|
},
|
|
6234
6265
|
"is-shared-array-buffer": {
|
|
6235
|
-
"version": "1.0.
|
|
6236
|
-
"resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.
|
|
6237
|
-
"integrity": "sha512-
|
|
6238
|
-
"dev": true
|
|
6266
|
+
"version": "1.0.2",
|
|
6267
|
+
"resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
|
|
6268
|
+
"integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
|
|
6269
|
+
"dev": true,
|
|
6270
|
+
"requires": {
|
|
6271
|
+
"call-bind": "^1.0.2"
|
|
6272
|
+
}
|
|
6239
6273
|
},
|
|
6240
6274
|
"is-stream": {
|
|
6241
6275
|
"version": "2.0.1",
|
|
@@ -7984,15 +8018,15 @@
|
|
|
7984
8018
|
}
|
|
7985
8019
|
},
|
|
7986
8020
|
"npm-check-updates": {
|
|
7987
|
-
"version": "12.5.
|
|
7988
|
-
"resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-12.5.
|
|
7989
|
-
"integrity": "sha512-
|
|
8021
|
+
"version": "12.5.7",
|
|
8022
|
+
"resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-12.5.7.tgz",
|
|
8023
|
+
"integrity": "sha512-WDkqPBevmgphV1UH3FImsDEpTAq2UFvnMZC3GdXPknE2VL701kfKylnae8IA9ZeYfm/uU0249N9gjMXqA/9y3w==",
|
|
7990
8024
|
"dev": true,
|
|
7991
8025
|
"requires": {
|
|
7992
8026
|
"chalk": "^4.1.2",
|
|
7993
8027
|
"cint": "^8.2.1",
|
|
7994
8028
|
"cli-table": "^0.3.11",
|
|
7995
|
-
"commander": "^9.
|
|
8029
|
+
"commander": "^9.1.0",
|
|
7996
8030
|
"fast-memoize": "^2.5.2",
|
|
7997
8031
|
"find-up": "5.0.0",
|
|
7998
8032
|
"fp-and-or": "^0.1.3",
|
|
@@ -8005,11 +8039,11 @@
|
|
|
8005
8039
|
"lodash": "^4.17.21",
|
|
8006
8040
|
"minimatch": "^5.0.1",
|
|
8007
8041
|
"p-map": "^4.0.0",
|
|
8008
|
-
"pacote": "^13.0.
|
|
8042
|
+
"pacote": "^13.0.5",
|
|
8009
8043
|
"parse-github-url": "^1.0.2",
|
|
8010
8044
|
"progress": "^2.0.3",
|
|
8011
8045
|
"prompts": "^2.4.2",
|
|
8012
|
-
"rc-config-loader": "^4.
|
|
8046
|
+
"rc-config-loader": "^4.1.0",
|
|
8013
8047
|
"remote-git-tags": "^3.0.0",
|
|
8014
8048
|
"rimraf": "^3.0.2",
|
|
8015
8049
|
"semver": "^7.3.5",
|
|
@@ -8325,9 +8359,9 @@
|
|
|
8325
8359
|
}
|
|
8326
8360
|
},
|
|
8327
8361
|
"on-finished": {
|
|
8328
|
-
"version": "2.
|
|
8329
|
-
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.
|
|
8330
|
-
"integrity": "
|
|
8362
|
+
"version": "2.4.1",
|
|
8363
|
+
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
|
|
8364
|
+
"integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
|
|
8331
8365
|
"dev": true,
|
|
8332
8366
|
"requires": {
|
|
8333
8367
|
"ee-first": "1.1.1"
|
|
@@ -9006,10 +9040,13 @@
|
|
|
9006
9040
|
"dev": true
|
|
9007
9041
|
},
|
|
9008
9042
|
"qs": {
|
|
9009
|
-
"version": "6.
|
|
9010
|
-
"resolved": "https://registry.npmjs.org/qs/-/qs-6.
|
|
9011
|
-
"integrity": "sha512-
|
|
9012
|
-
"dev": true
|
|
9043
|
+
"version": "6.10.3",
|
|
9044
|
+
"resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
|
|
9045
|
+
"integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
|
|
9046
|
+
"dev": true,
|
|
9047
|
+
"requires": {
|
|
9048
|
+
"side-channel": "^1.0.4"
|
|
9049
|
+
}
|
|
9013
9050
|
},
|
|
9014
9051
|
"querystring": {
|
|
9015
9052
|
"version": "0.2.0",
|
|
@@ -9055,13 +9092,13 @@
|
|
|
9055
9092
|
"dev": true
|
|
9056
9093
|
},
|
|
9057
9094
|
"raw-body": {
|
|
9058
|
-
"version": "2.
|
|
9059
|
-
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.
|
|
9060
|
-
"integrity": "sha512-
|
|
9095
|
+
"version": "2.5.1",
|
|
9096
|
+
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
|
|
9097
|
+
"integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
|
|
9061
9098
|
"dev": true,
|
|
9062
9099
|
"requires": {
|
|
9063
9100
|
"bytes": "3.1.2",
|
|
9064
|
-
"http-errors": "
|
|
9101
|
+
"http-errors": "2.0.0",
|
|
9065
9102
|
"iconv-lite": "0.4.24",
|
|
9066
9103
|
"unpipe": "1.0.0"
|
|
9067
9104
|
}
|
|
@@ -9087,9 +9124,9 @@
|
|
|
9087
9124
|
}
|
|
9088
9125
|
},
|
|
9089
9126
|
"rc-config-loader": {
|
|
9090
|
-
"version": "4.
|
|
9091
|
-
"resolved": "https://registry.npmjs.org/rc-config-loader/-/rc-config-loader-4.
|
|
9092
|
-
"integrity": "sha512
|
|
9127
|
+
"version": "4.1.0",
|
|
9128
|
+
"resolved": "https://registry.npmjs.org/rc-config-loader/-/rc-config-loader-4.1.0.tgz",
|
|
9129
|
+
"integrity": "sha512-aW+kX4qy0CiM9L4fG4Us3oEOpIrOrXzWykAn+xldD07Y9PXWjTH744oHbv0Kc9ZwWaylw3jMjxaf14RgStrNrA==",
|
|
9093
9130
|
"dev": true,
|
|
9094
9131
|
"requires": {
|
|
9095
9132
|
"debug": "^4.1.1",
|
|
@@ -10326,9 +10363,9 @@
|
|
|
10326
10363
|
}
|
|
10327
10364
|
},
|
|
10328
10365
|
"statuses": {
|
|
10329
|
-
"version": "
|
|
10330
|
-
"resolved": "https://registry.npmjs.org/statuses/-/statuses-
|
|
10331
|
-
"integrity": "
|
|
10366
|
+
"version": "2.0.1",
|
|
10367
|
+
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
|
|
10368
|
+
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
|
|
10332
10369
|
"dev": true
|
|
10333
10370
|
},
|
|
10334
10371
|
"stream-browserify": {
|
package/package.json
CHANGED
package/src/debug.test.ts
CHANGED
|
@@ -7,11 +7,13 @@ export function inspect(result: Result<HTMLElement | string>, until: number | st
|
|
|
7
7
|
assert(node);
|
|
8
8
|
if (typeof node === 'string') return node;
|
|
9
9
|
node = node.cloneNode(true);
|
|
10
|
+
assert(!node.matches('.invalid[data-invalid-message$="."]'));
|
|
11
|
+
assert(!node.querySelector('.invalid[data-invalid-message$="."]'));
|
|
10
12
|
[node, ...node.querySelectorAll('.invalid')].forEach(el =>
|
|
11
13
|
define(el, {
|
|
12
14
|
'data-invalid-syntax': null,
|
|
13
15
|
'data-invalid-type': null,
|
|
14
|
-
'data-invalid-
|
|
16
|
+
'data-invalid-message': null,
|
|
15
17
|
}));
|
|
16
18
|
until = typeof until === 'number'
|
|
17
19
|
? until
|
package/src/parser/api/bind.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { undefined, location } from 'spica/global';
|
|
2
|
-
import { ObjectAssign } from 'spica/alias';
|
|
2
|
+
import { ObjectAssign, ObjectCreate } from 'spica/alias';
|
|
3
3
|
import { ParserSettings, Progress } from '../../..';
|
|
4
4
|
import { MarkdownParser } from '../../../markdown';
|
|
5
5
|
import { eval } from '../../combinator/data/parser';
|
|
@@ -21,7 +21,7 @@ export function bind(target: DocumentFragment | HTMLElement | ShadowRoot, settin
|
|
|
21
21
|
nearest: (position: number) => HTMLElement | undefined;
|
|
22
22
|
index: (block: HTMLElement) => number;
|
|
23
23
|
} {
|
|
24
|
-
|
|
24
|
+
const context: MarkdownParser.Context = ObjectAssign(ObjectCreate(settings), {
|
|
25
25
|
host: settings.host ?? new ReadonlyURL(location.pathname, location.origin),
|
|
26
26
|
footnotes: undefined,
|
|
27
27
|
chunk: undefined,
|
|
@@ -44,7 +44,11 @@ export function bind(target: DocumentFragment | HTMLElement | ShadowRoot, settin
|
|
|
44
44
|
if (settings.chunk && revision) throw new Error('Chunks cannot be updated.');
|
|
45
45
|
const url = headers(source).find(field => field.toLowerCase().startsWith('url:'))?.slice(4).trim() ?? '';
|
|
46
46
|
source = normalize(validate(source, MAX_INPUT_SIZE) ? source : source.slice(0, MAX_INPUT_SIZE + 1));
|
|
47
|
-
|
|
47
|
+
ObjectAssign<MarkdownParser.Context, MarkdownParser.Context>(
|
|
48
|
+
context,
|
|
49
|
+
{
|
|
50
|
+
url: url ? new ReadonlyURL(url as ':') : undefined,
|
|
51
|
+
});
|
|
48
52
|
const rev = revision = Symbol();
|
|
49
53
|
const sourceSegments: string[] = [];
|
|
50
54
|
for (const seg of segment(source)) {
|
|
@@ -118,7 +118,7 @@ describe('Unit: parser/api/parse', () => {
|
|
|
118
118
|
'<p><a href="https://source/hashtags/a" target="_blank" class="hashtag">#a</a></p>',
|
|
119
119
|
'<p><a href="https://domain/hashtags/a" target="_blank" class="hashtag">#domain/a</a></p>',
|
|
120
120
|
'<p><a class="index" href="#index:a">a</a></p>',
|
|
121
|
-
'<figure data-label="$-a" data-group="$" data-number="1" id="label:$-a"><div><div class="math" translate="no">$$\n$$</div></div><figcaption><span class="figindex">(1)</span></figcaption></figure>',
|
|
121
|
+
'<figure data-type="math" data-label="$-a" data-group="$" data-number="1" id="label:$-a"><div><div class="math" translate="no">$$\n$$</div></div><figcaption><span class="figindex">(1)</span></figcaption></figure>',
|
|
122
122
|
'<p><a class="label" data-label="$-a" href="#label:$-a">(1)</a></p>',
|
|
123
123
|
'<p><sup class="annotation" id="annotation:ref:1" title="a"><span hidden="">a</span><a href="#annotation:def:1">*1</a></sup></p>',
|
|
124
124
|
'<p><a href="https://source/x/a" target="_blank">a</a></p>',
|
|
@@ -190,7 +190,7 @@ describe('Unit: parser/api/parse', () => {
|
|
|
190
190
|
].join('\n\n'), { host: new URL(`${location.origin}/z`) }).children].map(el => el.outerHTML),
|
|
191
191
|
[
|
|
192
192
|
`<details class="header" open=""><summary>Header</summary><span class="field" data-name="URL" data-value="https://example/x"><span class="field-name">URL</span>: <span class="field-value">https://example/x</span>\n</span></details>`,
|
|
193
|
-
'<pre class="invalid" translate="no" data-invalid-syntax="header" data-invalid-type="syntax" data-invalid-
|
|
193
|
+
'<pre class="invalid" translate="no" data-invalid-syntax="header" data-invalid-type="syntax" data-invalid-message="Invalid syntax">---\nURL: https://example/y\n---\n</pre>',
|
|
194
194
|
'<aside class="example" data-type="markdown"><pre translate="no">---\nURL: https://example/y\n---\n\n{#}</pre><hr><section><details class="header" open=""><summary>Header</summary><span class="field" data-name="URL" data-value="https://example/y"><span class="field-name">URL</span>: <span class="field-value">https://example/y</span>\n</span></details><p><a href="https://example/y#" target="_blank">#</a></p><ol class="annotations"></ol><ol class="references"></ol></section></aside>',
|
|
195
195
|
'<p><a href="https://example/x#" target="_blank">#</a></p>',
|
|
196
196
|
]);
|
|
@@ -201,7 +201,7 @@ describe('Unit: parser/api/parse', () => {
|
|
|
201
201
|
assert.deepStrictEqual(
|
|
202
202
|
[...parse('$-a\n$$\n$$\n\n(($-a[[b]][[c*d*]]))', { footnotes }).children].map(el => el.outerHTML),
|
|
203
203
|
[
|
|
204
|
-
'<figure data-label="$-a" data-group="$" data-number="1" id="label:$-a"><div><div class="math" translate="no">$$\n$$</div></div><figcaption><span class="figindex">(1)</span></figcaption></figure>',
|
|
204
|
+
'<figure data-type="math" data-label="$-a" data-group="$" data-number="1" id="label:$-a"><div><div class="math" translate="no">$$\n$$</div></div><figcaption><span class="figindex">(1)</span></figcaption></figure>',
|
|
205
205
|
'<p><sup class="annotation" id="annotation:ref:1" title="(1)[1][2]"><span hidden=""><a class="label" data-label="$-a" href="#label:$-a">(1)</a><sup class="reference" id="reference:ref:1" title="b"><span hidden="">b</span><a href="#reference:def:1">[1]</a></sup><sup class="reference" id="reference:ref:2" title="cd"><span hidden="">c<em>d</em></span><a href="#reference:def:2">[2]</a></sup></span><a href="#annotation:def:1">*1</a></sup></p>',
|
|
206
206
|
]);
|
|
207
207
|
assert.deepStrictEqual(
|
package/src/parser/api/parse.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { undefined, location } from 'spica/global';
|
|
2
|
-
import { ObjectAssign, ObjectCreate } from 'spica/alias';
|
|
3
2
|
import { ParserOptions } from '../../..';
|
|
4
3
|
import { MarkdownParser } from '../../../markdown';
|
|
5
4
|
import { eval } from '../../combinator/data/parser';
|
|
@@ -22,16 +21,14 @@ export function parse(source: string, opts: Options = {}, context?: MarkdownPars
|
|
|
22
21
|
const url = headers(source).find(field => field.toLowerCase().startsWith('url:'))?.slice(4).trim() ?? '';
|
|
23
22
|
source = !context ? normalize(source) : source;
|
|
24
23
|
assert(!context?.delimiters);
|
|
25
|
-
context =
|
|
26
|
-
? context
|
|
27
|
-
:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
});
|
|
34
|
-
assert(context.caches === arguments[2]?.caches);
|
|
24
|
+
context = {
|
|
25
|
+
url: url ? new ReadonlyURL(url as ':') : context?.url,
|
|
26
|
+
host: opts.host ?? context?.host ?? new ReadonlyURL(location.pathname, location.origin),
|
|
27
|
+
caches: context?.caches,
|
|
28
|
+
footnotes: undefined,
|
|
29
|
+
test: undefined,
|
|
30
|
+
...opts,
|
|
31
|
+
};
|
|
35
32
|
if (context.host?.origin === 'null') throw new Error(`Invalid host: ${context.host.href}`);
|
|
36
33
|
const node = frag();
|
|
37
34
|
let index = 0;
|
|
@@ -95,7 +95,7 @@ describe('Unit: parser/block/blockquote', () => {
|
|
|
95
95
|
assert.deepStrictEqual(inspect(parser('!>\n> a')), [['<blockquote><section><p>a</p><ol class="annotations"></ol><ol class="references"></ol></section></blockquote>'], '']);
|
|
96
96
|
assert.deepStrictEqual(inspect(parser('!>> ## a\n> ## a')), [['<blockquote><blockquote><section><h2>a</h2><ol class="annotations"></ol><ol class="references"></ol></section></blockquote><section><h2>a</h2><ol class="annotations"></ol><ol class="references"></ol></section></blockquote>'], '']);
|
|
97
97
|
assert.deepStrictEqual(inspect(parser('!>> ~ a\n> ~ a')), [['<blockquote><blockquote><section><dl><dt>a</dt><dd></dd></dl><ol class="annotations"></ol><ol class="references"></ol></section></blockquote><section><dl><dt>a</dt><dd></dd></dl><ol class="annotations"></ol><ol class="references"></ol></section></blockquote>'], '']);
|
|
98
|
-
assert.deepStrictEqual(inspect(parser('!>> ~~~figure $fig-a\n>> > \n>>\n~~~\n> ~~~figure $fig-a\n> > \n>\n[#a]\n~~~')), [['<blockquote><blockquote><section><figure data-label="fig-a" data-group="fig" data-number="1"><div><blockquote></blockquote></div><figcaption><span class="figindex">Fig. 1. </span></figcaption></figure><ol class="annotations"></ol><ol class="references"></ol></section></blockquote><section><figure data-label="fig-a" data-group="fig" data-number="1"><div><blockquote></blockquote></div><figcaption><span class="figindex">Fig. 1. </span><a class="index">a</a></figcaption></figure><ol class="annotations"></ol><ol class="references"></ol></section></blockquote>'], '']);
|
|
98
|
+
assert.deepStrictEqual(inspect(parser('!>> ~~~figure $fig-a\n>> > \n>>\n~~~\n> ~~~figure $fig-a\n> > \n>\n[#a]\n~~~')), [['<blockquote><blockquote><section><figure data-type="quote" data-label="fig-a" data-group="fig" data-number="1"><div><blockquote></blockquote></div><figcaption><span class="figindex">Fig. 1. </span></figcaption></figure><ol class="annotations"></ol><ol class="references"></ol></section></blockquote><section><figure data-type="quote" data-label="fig-a" data-group="fig" data-number="1"><div><blockquote></blockquote></div><figcaption><span class="figindex">Fig. 1. </span><a class="index">a</a></figcaption></figure><ol class="annotations"></ol><ol class="references"></ol></section></blockquote>'], '']);
|
|
99
99
|
assert.deepStrictEqual(inspect(parser('!>> ((a))\n> ((a))')), [['<blockquote><blockquote><section><p><sup class="annotation disabled" title="a"><span hidden="">a</span><a>*1</a></sup></p><ol class="annotations"><li>a<sup><a>^1</a></sup></li></ol><ol class="references"></ol></section></blockquote><section><p><sup class="annotation disabled" title="a"><span hidden="">a</span><a>*1</a></sup></p><ol class="annotations"><li>a<sup><a>^1</a></sup></li></ol><ol class="references"></ol></section></blockquote>'], '']);
|
|
100
100
|
});
|
|
101
101
|
|
|
@@ -29,8 +29,8 @@ export const codeblock: CodeBlockParser = block(validate('```', fmap(
|
|
|
29
29
|
class: 'invalid',
|
|
30
30
|
translate: 'no',
|
|
31
31
|
'data-invalid-syntax': 'codeblock',
|
|
32
|
-
'data-invalid-type': !closer ? '
|
|
33
|
-
'data-invalid-
|
|
32
|
+
'data-invalid-type': !closer ? 'fence' : 'argument',
|
|
33
|
+
'data-invalid-message': !closer ? `Missing the closing delimiter "${delim}"` : 'Invalid argument',
|
|
34
34
|
}, `${opener}${body}${closer}`)];
|
|
35
35
|
const file = path.split('/').pop() ?? '';
|
|
36
36
|
const ext = file && file.includes('.', 1)
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { DListParser } from '../block';
|
|
2
2
|
import { union, inits, some, block, line, validate, rewrite, context, creator, open, trim, lazy, fmap } from '../../combinator';
|
|
3
|
-
import { inline } from '../inline';
|
|
4
|
-
import { indexer } from '../inline/extension/indexer';
|
|
5
|
-
import { indexee } from '../inline/extension/indexee';
|
|
3
|
+
import { inline, indexee, indexer } from '../inline';
|
|
6
4
|
import { anyline } from '../source';
|
|
7
5
|
import { localize } from '../locale';
|
|
8
6
|
import { visualize } from '../util';
|
|
@@ -16,7 +16,7 @@ describe('Unit: parser/block/extension/aside', () => {
|
|
|
16
16
|
it('valid', () => {
|
|
17
17
|
assert.deepStrictEqual(inspect(parser('~~~aside\n# 0\n~~~')), [['<aside id="index:0" class="aside"><h1>0</h1><ol class="annotations"></ol><ol class="references"></ol></aside>'], '']);
|
|
18
18
|
assert.deepStrictEqual(inspect(parser('~~~aside\n## 0\n~~~')), [['<aside id="index:0" class="aside"><h2>0</h2><ol class="annotations"></ol><ol class="references"></ol></aside>'], '']);
|
|
19
|
-
assert.deepStrictEqual(inspect(parser('~~~aside\n# 0\n\n$-0.0\n\n## 1\n\n$fig-a\n> \n~~~')), [['<aside id="index:0" class="aside"><h1>0</h1><figure data-label="$-0.0" data-group="$" hidden="" data-number="0.0"></figure><h2>1</h2><figure data-label="fig-a" data-group="fig" data-number="1.1"><div><blockquote></blockquote></div><figcaption><span class="figindex">Fig. 1.1. </span></figcaption></figure><ol class="annotations"></ol><ol class="references"></ol></aside>'], '']);
|
|
19
|
+
assert.deepStrictEqual(inspect(parser('~~~aside\n# 0\n\n$-0.0\n\n## 1\n\n$fig-a\n> \n~~~')), [['<aside id="index:0" class="aside"><h1>0</h1><figure data-label="$-0.0" data-group="$" hidden="" data-number="0.0"></figure><h2>1</h2><figure data-type="quote" data-label="fig-a" data-group="fig" data-number="1.1"><div><blockquote></blockquote></div><figcaption><span class="figindex">Fig. 1.1. </span></figcaption></figure><ol class="annotations"></ol><ol class="references"></ol></aside>'], '']);
|
|
20
20
|
});
|
|
21
21
|
|
|
22
22
|
});
|
|
@@ -12,8 +12,8 @@ export const aside: ExtensionParser.AsideParser = creator(100, block(validate('~
|
|
|
12
12
|
class: 'invalid',
|
|
13
13
|
translate: 'no',
|
|
14
14
|
'data-invalid-syntax': 'aside',
|
|
15
|
-
'data-invalid-type': !closer ? '
|
|
16
|
-
'data-invalid-
|
|
15
|
+
'data-invalid-type': !closer ? 'fence' : 'argument',
|
|
16
|
+
'data-invalid-message': !closer ? `Missing the closing delimiter "${delim}"` : 'Invalid argument',
|
|
17
17
|
}, `${opener}${body}${closer}`)];
|
|
18
18
|
const annotations = html('ol', { class: 'annotations' });
|
|
19
19
|
const references = html('ol', { class: 'references' });
|
|
@@ -33,7 +33,7 @@ export const aside: ExtensionParser.AsideParser = creator(100, block(validate('~
|
|
|
33
33
|
translate: 'no',
|
|
34
34
|
'data-invalid-syntax': 'aside',
|
|
35
35
|
'data-invalid-type': 'content',
|
|
36
|
-
'data-invalid-
|
|
36
|
+
'data-invalid-message': 'Missing the title at the first line',
|
|
37
37
|
}, `${opener}${body}${closer}`)];
|
|
38
38
|
assert(identity(text(heading)));
|
|
39
39
|
return [
|
|
@@ -19,8 +19,8 @@ describe('Unit: parser/block/extension/example', () => {
|
|
|
19
19
|
assert.deepStrictEqual(inspect(parser('~~~example/markdown\n\n~~~')), [['<aside class="example" data-type="markdown"><pre translate="no"></pre><hr><section><ol class="annotations"></ol><ol class="references"></ol></section></aside>'], '']);
|
|
20
20
|
assert.deepStrictEqual(inspect(parser('~~~example/markdown\na\n~~~')), [['<aside class="example" data-type="markdown"><pre translate="no">a</pre><hr><section><p>a</p><ol class="annotations"></ol><ol class="references"></ol></section></aside>'], '']);
|
|
21
21
|
assert.deepStrictEqual(inspect(parser('~~~example/markdown\n*a\nb*\n~~~')), [['<aside class="example" data-type="markdown"><pre translate="no">*a\nb*</pre><hr><section><p><em>a<br>b</em></p><ol class="annotations"></ol><ol class="references"></ol></section></aside>'], '']);
|
|
22
|
-
assert.deepStrictEqual(inspect(parser('~~~example/markdown\n$fig-a\n!https://host\n~~~')), [['<aside class="example" data-type="markdown"><pre translate="no">$fig-a\n!https://host</pre><hr><section><figure data-label="fig-a" data-group="fig" data-number="1"><div><a href="https://host" target="_blank"><img class="media" data-src="https://host" alt=""></a></div><figcaption><span class="figindex">Fig. 1. </span></figcaption></figure><ol class="annotations"></ol><ol class="references"></ol></section></aside>'], '']);
|
|
23
|
-
assert.deepStrictEqual(inspect(parser('~~~example/markdown\n[$fig-a]\n!https://host\n~~~')), [['<aside class="example" data-type="markdown"><pre translate="no">[$fig-a]\n!https://host</pre><hr><section><figure data-label="fig-a" data-group="fig" data-number="1"><div><a href="https://host" target="_blank"><img class="media" data-src="https://host" alt=""></a></div><figcaption><span class="figindex">Fig. 1. </span></figcaption></figure><ol class="annotations"></ol><ol class="references"></ol></section></aside>'], '']);
|
|
22
|
+
assert.deepStrictEqual(inspect(parser('~~~example/markdown\n$fig-a\n!https://host\n~~~')), [['<aside class="example" data-type="markdown"><pre translate="no">$fig-a\n!https://host</pre><hr><section><figure data-type="media" data-label="fig-a" data-group="fig" data-number="1"><div><a href="https://host" target="_blank"><img class="media" data-src="https://host" alt=""></a></div><figcaption><span class="figindex">Fig. 1. </span></figcaption></figure><ol class="annotations"></ol><ol class="references"></ol></section></aside>'], '']);
|
|
23
|
+
assert.deepStrictEqual(inspect(parser('~~~example/markdown\n[$fig-a]\n!https://host\n~~~')), [['<aside class="example" data-type="markdown"><pre translate="no">[$fig-a]\n!https://host</pre><hr><section><figure data-type="media" data-label="fig-a" data-group="fig" data-number="1"><div><a href="https://host" target="_blank"><img class="media" data-src="https://host" alt=""></a></div><figcaption><span class="figindex">Fig. 1. </span></figcaption></figure><ol class="annotations"></ol><ol class="references"></ol></section></aside>'], '']);
|
|
24
24
|
assert.deepStrictEqual(inspect(parser('~~~example/markdown\n## a\n~~~')), [['<aside class="example" data-type="markdown"><pre translate="no">## a</pre><hr><section><h2>a</h2><ol class="annotations"></ol><ol class="references"></ol></section></aside>'], '']);
|
|
25
25
|
assert.deepStrictEqual(inspect(parser('~~~example/markdown\n~ a\n~~~')), [['<aside class="example" data-type="markdown"><pre translate="no">~ a</pre><hr><section><dl><dt>a</dt><dd></dd></dl><ol class="annotations"></ol><ol class="references"></ol></section></aside>'], '']);
|
|
26
26
|
assert.deepStrictEqual(inspect(parser('~~~example/markdown\n((a))[[b]]\n~~~')), [['<aside class="example" data-type="markdown"><pre translate="no">((a))[[b]]</pre><hr><section><p><sup class="annotation disabled" title="a"><span hidden="">a</span><a>*1</a></sup><sup class="reference disabled" title="b"><span hidden="">b</span><a>[1]</a></sup></p><ol class="annotations"><li>a<sup><a>^1</a></sup></li></ol><ol class="references"><li>b<sup><a>^1</a></sup></li></ol></section></aside>'], '']);
|
|
@@ -15,8 +15,8 @@ export const example: ExtensionParser.ExampleParser = creator(100, block(validat
|
|
|
15
15
|
class: 'invalid',
|
|
16
16
|
translate: 'no',
|
|
17
17
|
'data-invalid-syntax': 'example',
|
|
18
|
-
'data-invalid-type': !closer ? '
|
|
19
|
-
'data-invalid-
|
|
18
|
+
'data-invalid-type': !closer ? 'fence' : 'argument',
|
|
19
|
+
'data-invalid-message': !closer ? `Missing the closing delimiter "${delim}"` : 'Invalid argument',
|
|
20
20
|
}, `${opener}${body}${closer}`)];
|
|
21
21
|
switch (type) {
|
|
22
22
|
case 'markdown': {
|
|
@@ -52,7 +52,7 @@ export const example: ExtensionParser.ExampleParser = creator(100, block(validat
|
|
|
52
52
|
class: 'invalid',
|
|
53
53
|
translate: 'no',
|
|
54
54
|
'data-invalid-syntax': 'example',
|
|
55
|
-
'data-invalid-
|
|
55
|
+
'data-invalid-message': 'Invalid example type',
|
|
56
56
|
}, `${opener}${body}${closer}`),
|
|
57
57
|
];
|
|
58
58
|
}
|