securemark 0.235.1 → 0.236.0
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 +179 -141
- package/markdown.d.ts +7 -2
- package/package-lock.json +43 -64
- package/package.json +3 -3
- package/src/debug.test.ts +3 -1
- package/src/parser/api/parse.test.ts +3 -3
- package/src/parser/block/blockquote.test.ts +1 -1
- package/src/parser/block/codeblock.ts +1 -1
- package/src/parser/block/extension/aside.test.ts +1 -1
- package/src/parser/block/extension/aside.ts +2 -2
- package/src/parser/block/extension/example.test.ts +2 -2
- package/src/parser/block/extension/example.ts +2 -2
- package/src/parser/block/extension/fig.test.ts +20 -20
- package/src/parser/block/extension/figure.test.ts +33 -31
- package/src/parser/block/extension/figure.ts +8 -4
- package/src/parser/block/extension/message.ts +2 -2
- package/src/parser/block/extension/placeholder.ts +1 -1
- package/src/parser/block/extension/table.ts +5 -5
- package/src/parser/block/ilist.ts +1 -1
- package/src/parser/block/mathblock.ts +1 -1
- package/src/parser/block/olist.ts +1 -1
- package/src/parser/block/paragraph.test.ts +1 -1
- package/src/parser/block/reply/quote.ts +1 -1
- package/src/parser/block/table.ts +1 -1
- package/src/parser/block/ulist.ts +1 -1
- package/src/parser/header.ts +1 -1
- package/src/parser/inline/annotation.ts +3 -3
- package/src/parser/inline/bracket.test.ts +10 -10
- package/src/parser/inline/bracket.ts +2 -5
- package/src/parser/inline/deletion.test.ts +4 -1
- package/src/parser/inline/deletion.ts +7 -4
- package/src/parser/inline/emphasis.ts +2 -2
- package/src/parser/inline/emstrong.ts +4 -4
- package/src/parser/inline/extension/placeholder.ts +1 -1
- package/src/parser/inline/html.test.ts +25 -17
- package/src/parser/inline/html.ts +43 -19
- package/src/parser/inline/htmlentity.test.ts +1 -1
- package/src/parser/inline/htmlentity.ts +18 -11
- package/src/parser/inline/insertion.test.ts +4 -1
- package/src/parser/inline/insertion.ts +7 -4
- package/src/parser/inline/link.test.ts +3 -0
- package/src/parser/inline/link.ts +10 -11
- package/src/parser/inline/mark.ts +2 -2
- package/src/parser/inline/math.ts +1 -1
- package/src/parser/inline/media.test.ts +3 -0
- package/src/parser/inline/media.ts +4 -4
- package/src/parser/inline/reference.ts +7 -7
- package/src/parser/inline/ruby.ts +2 -2
- package/src/parser/inline/strong.ts +2 -2
- package/src/parser/inline.test.ts +2 -2
- package/src/parser/processor/figure.test.ts +33 -29
- package/src/parser/processor/figure.ts +25 -3
- package/src/parser/processor/footnote.ts +3 -3
- package/src/parser/util.ts +38 -32
package/markdown.d.ts
CHANGED
|
@@ -361,6 +361,8 @@ export namespace MarkdownParser {
|
|
|
361
361
|
]>,
|
|
362
362
|
Parser<HTMLElement | string, Context, [
|
|
363
363
|
Parser<HTMLElement | string, Context, [
|
|
364
|
+
UListParser,
|
|
365
|
+
OListParser,
|
|
364
366
|
BlockParser.TableParser,
|
|
365
367
|
CodeBlockParser,
|
|
366
368
|
MathBlockParser,
|
|
@@ -852,7 +854,6 @@ export namespace MarkdownParser {
|
|
|
852
854
|
SourceParser.StrParser,
|
|
853
855
|
SourceParser.StrParser,
|
|
854
856
|
SourceParser.StrParser,
|
|
855
|
-
SourceParser.StrParser,
|
|
856
857
|
]> {
|
|
857
858
|
}
|
|
858
859
|
}
|
|
@@ -927,6 +928,7 @@ export namespace MarkdownParser {
|
|
|
927
928
|
HTMLParser.OpenTagParser,
|
|
928
929
|
HTMLParser.TagParser,
|
|
929
930
|
HTMLParser.TagParser,
|
|
931
|
+
HTMLParser.TagParser,
|
|
930
932
|
]> {
|
|
931
933
|
}
|
|
932
934
|
export namespace HTMLParser {
|
|
@@ -940,6 +942,7 @@ export namespace MarkdownParser {
|
|
|
940
942
|
Inline<'html/tag'>,
|
|
941
943
|
Parser<HTMLElement | string, Context, [
|
|
942
944
|
InlineParser,
|
|
945
|
+
InlineParser,
|
|
943
946
|
]> {
|
|
944
947
|
}
|
|
945
948
|
export namespace TagParser {
|
|
@@ -956,6 +959,7 @@ export namespace MarkdownParser {
|
|
|
956
959
|
Inline<'insertion'>,
|
|
957
960
|
Parser<HTMLElement | string, Context, [
|
|
958
961
|
InlineParser,
|
|
962
|
+
InlineParser,
|
|
959
963
|
]> {
|
|
960
964
|
}
|
|
961
965
|
export interface DeletionParser extends
|
|
@@ -963,6 +967,7 @@ export namespace MarkdownParser {
|
|
|
963
967
|
Inline<'deletion'>,
|
|
964
968
|
Parser<HTMLElement | string, Context, [
|
|
965
969
|
InlineParser,
|
|
970
|
+
InlineParser,
|
|
966
971
|
]> {
|
|
967
972
|
}
|
|
968
973
|
export interface MarkParser extends
|
|
@@ -1137,9 +1142,9 @@ export namespace MarkdownParser {
|
|
|
1137
1142
|
// ""
|
|
1138
1143
|
Inline<'bracket'>,
|
|
1139
1144
|
Parser<HTMLElement | string, Context, [
|
|
1140
|
-
SourceParser.StrParser,
|
|
1141
1145
|
SourceParser.StrParser,
|
|
1142
1146
|
InlineParser,
|
|
1147
|
+
SourceParser.StrParser,
|
|
1143
1148
|
InlineParser,
|
|
1144
1149
|
InlineParser,
|
|
1145
1150
|
InlineParser,
|
package/package-lock.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "securemark",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.236.0",
|
|
4
4
|
"lockfileVersion": 1,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"dependencies": {
|
|
@@ -448,12 +448,6 @@
|
|
|
448
448
|
"which": "^2.0.2"
|
|
449
449
|
},
|
|
450
450
|
"dependencies": {
|
|
451
|
-
"lru-cache": {
|
|
452
|
-
"version": "7.7.3",
|
|
453
|
-
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.7.3.tgz",
|
|
454
|
-
"integrity": "sha512-WY9wjJNQt9+PZilnLbuFKM+SwDull9+6IAguOrarOMoOHTcJ9GnXSO11+Gw6c7xtDkBkthR57OZMtZKYr+1CEw==",
|
|
455
|
-
"dev": true
|
|
456
|
-
},
|
|
457
451
|
"mkdirp": {
|
|
458
452
|
"version": "1.0.4",
|
|
459
453
|
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
|
|
@@ -1800,12 +1794,6 @@
|
|
|
1800
1794
|
"unique-filename": "^1.1.1"
|
|
1801
1795
|
},
|
|
1802
1796
|
"dependencies": {
|
|
1803
|
-
"lru-cache": {
|
|
1804
|
-
"version": "7.7.3",
|
|
1805
|
-
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.7.3.tgz",
|
|
1806
|
-
"integrity": "sha512-WY9wjJNQt9+PZilnLbuFKM+SwDull9+6IAguOrarOMoOHTcJ9GnXSO11+Gw6c7xtDkBkthR57OZMtZKYr+1CEw==",
|
|
1807
|
-
"dev": true
|
|
1808
|
-
},
|
|
1809
1797
|
"mkdirp": {
|
|
1810
1798
|
"version": "1.0.4",
|
|
1811
1799
|
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
|
|
@@ -1927,9 +1915,9 @@
|
|
|
1927
1915
|
"dev": true
|
|
1928
1916
|
},
|
|
1929
1917
|
"caniuse-lite": {
|
|
1930
|
-
"version": "1.0.
|
|
1931
|
-
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.
|
|
1932
|
-
"integrity": "sha512-
|
|
1918
|
+
"version": "1.0.30001323",
|
|
1919
|
+
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001323.tgz",
|
|
1920
|
+
"integrity": "sha512-e4BF2RlCVELKx8+RmklSEIVub1TWrmdhvA5kEUueummz1XyySW0DVk+3x9HyhU9MuWTa2BhqLgEuEmUwASAdCA==",
|
|
1933
1921
|
"dev": true
|
|
1934
1922
|
},
|
|
1935
1923
|
"chalk": {
|
|
@@ -6183,9 +6171,9 @@
|
|
|
6183
6171
|
"dev": true
|
|
6184
6172
|
},
|
|
6185
6173
|
"is-number-object": {
|
|
6186
|
-
"version": "1.0.
|
|
6187
|
-
"resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.
|
|
6188
|
-
"integrity": "sha512-
|
|
6174
|
+
"version": "1.0.7",
|
|
6175
|
+
"resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
|
|
6176
|
+
"integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
|
|
6189
6177
|
"dev": true,
|
|
6190
6178
|
"requires": {
|
|
6191
6179
|
"has-tostringtag": "^1.0.0"
|
|
@@ -6244,10 +6232,13 @@
|
|
|
6244
6232
|
}
|
|
6245
6233
|
},
|
|
6246
6234
|
"is-shared-array-buffer": {
|
|
6247
|
-
"version": "1.0.
|
|
6248
|
-
"resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.
|
|
6249
|
-
"integrity": "sha512-
|
|
6250
|
-
"dev": true
|
|
6235
|
+
"version": "1.0.2",
|
|
6236
|
+
"resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
|
|
6237
|
+
"integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
|
|
6238
|
+
"dev": true,
|
|
6239
|
+
"requires": {
|
|
6240
|
+
"call-bind": "^1.0.2"
|
|
6241
|
+
}
|
|
6251
6242
|
},
|
|
6252
6243
|
"is-stream": {
|
|
6253
6244
|
"version": "2.0.1",
|
|
@@ -7069,13 +7060,10 @@
|
|
|
7069
7060
|
"dev": true
|
|
7070
7061
|
},
|
|
7071
7062
|
"lru-cache": {
|
|
7072
|
-
"version": "
|
|
7073
|
-
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-
|
|
7074
|
-
"integrity": "sha512-
|
|
7075
|
-
"dev": true
|
|
7076
|
-
"requires": {
|
|
7077
|
-
"yallist": "^4.0.0"
|
|
7078
|
-
}
|
|
7063
|
+
"version": "7.7.3",
|
|
7064
|
+
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.7.3.tgz",
|
|
7065
|
+
"integrity": "sha512-WY9wjJNQt9+PZilnLbuFKM+SwDull9+6IAguOrarOMoOHTcJ9GnXSO11+Gw6c7xtDkBkthR57OZMtZKYr+1CEw==",
|
|
7066
|
+
"dev": true
|
|
7079
7067
|
},
|
|
7080
7068
|
"make-dir": {
|
|
7081
7069
|
"version": "3.1.0",
|
|
@@ -7116,14 +7104,6 @@
|
|
|
7116
7104
|
"promise-retry": "^2.0.1",
|
|
7117
7105
|
"socks-proxy-agent": "^6.1.1",
|
|
7118
7106
|
"ssri": "^8.0.1"
|
|
7119
|
-
},
|
|
7120
|
-
"dependencies": {
|
|
7121
|
-
"lru-cache": {
|
|
7122
|
-
"version": "7.7.3",
|
|
7123
|
-
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.7.3.tgz",
|
|
7124
|
-
"integrity": "sha512-WY9wjJNQt9+PZilnLbuFKM+SwDull9+6IAguOrarOMoOHTcJ9GnXSO11+Gw6c7xtDkBkthR57OZMtZKYr+1CEw==",
|
|
7125
|
-
"dev": true
|
|
7126
|
-
}
|
|
7127
7107
|
}
|
|
7128
7108
|
},
|
|
7129
7109
|
"make-iterator": {
|
|
@@ -8007,9 +7987,9 @@
|
|
|
8007
7987
|
}
|
|
8008
7988
|
},
|
|
8009
7989
|
"npm-check-updates": {
|
|
8010
|
-
"version": "12.5.
|
|
8011
|
-
"resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-12.5.
|
|
8012
|
-
"integrity": "sha512-
|
|
7990
|
+
"version": "12.5.5",
|
|
7991
|
+
"resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-12.5.5.tgz",
|
|
7992
|
+
"integrity": "sha512-7LH6KN6F1fZMtY4zNYAQPpJU1ToxZ6sSCxk948vrLIz97aNqmPLSX72MrmbOWwpyBgLCPbFJWY/k3zE18pmxfw==",
|
|
8013
7993
|
"dev": true,
|
|
8014
7994
|
"requires": {
|
|
8015
7995
|
"chalk": "^4.1.2",
|
|
@@ -8021,7 +8001,7 @@
|
|
|
8021
8001
|
"fp-and-or": "^0.1.3",
|
|
8022
8002
|
"get-stdin": "^8.0.0",
|
|
8023
8003
|
"globby": "^11.0.4",
|
|
8024
|
-
"hosted-git-info": "^
|
|
8004
|
+
"hosted-git-info": "^5.0.0",
|
|
8025
8005
|
"json-parse-helpfulerror": "^1.0.3",
|
|
8026
8006
|
"jsonlines": "^0.1.1",
|
|
8027
8007
|
"libnpmconfig": "^1.2.1",
|
|
@@ -8063,12 +8043,12 @@
|
|
|
8063
8043
|
}
|
|
8064
8044
|
},
|
|
8065
8045
|
"hosted-git-info": {
|
|
8066
|
-
"version": "
|
|
8067
|
-
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-
|
|
8068
|
-
"integrity": "sha512-
|
|
8046
|
+
"version": "5.0.0",
|
|
8047
|
+
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.0.0.tgz",
|
|
8048
|
+
"integrity": "sha512-rRnjWu0Bxj+nIfUOkz0695C0H6tRrN5iYIzYejb0tDEefe2AekHu/U5Kn9pEie5vsJqpNQU02az7TGSH3qpz4Q==",
|
|
8069
8049
|
"dev": true,
|
|
8070
8050
|
"requires": {
|
|
8071
|
-
"lru-cache": "^
|
|
8051
|
+
"lru-cache": "^7.5.1"
|
|
8072
8052
|
}
|
|
8073
8053
|
},
|
|
8074
8054
|
"locate-path": {
|
|
@@ -8149,12 +8129,6 @@
|
|
|
8149
8129
|
"requires": {
|
|
8150
8130
|
"lru-cache": "^7.5.1"
|
|
8151
8131
|
}
|
|
8152
|
-
},
|
|
8153
|
-
"lru-cache": {
|
|
8154
|
-
"version": "7.7.3",
|
|
8155
|
-
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.7.3.tgz",
|
|
8156
|
-
"integrity": "sha512-WY9wjJNQt9+PZilnLbuFKM+SwDull9+6IAguOrarOMoOHTcJ9GnXSO11+Gw6c7xtDkBkthR57OZMtZKYr+1CEw==",
|
|
8157
|
-
"dev": true
|
|
8158
8132
|
}
|
|
8159
8133
|
}
|
|
8160
8134
|
},
|
|
@@ -9189,12 +9163,6 @@
|
|
|
9189
9163
|
"lru-cache": "^7.5.1"
|
|
9190
9164
|
}
|
|
9191
9165
|
},
|
|
9192
|
-
"lru-cache": {
|
|
9193
|
-
"version": "7.7.3",
|
|
9194
|
-
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.7.3.tgz",
|
|
9195
|
-
"integrity": "sha512-WY9wjJNQt9+PZilnLbuFKM+SwDull9+6IAguOrarOMoOHTcJ9GnXSO11+Gw6c7xtDkBkthR57OZMtZKYr+1CEw==",
|
|
9196
|
-
"dev": true
|
|
9197
|
-
},
|
|
9198
9166
|
"normalize-package-data": {
|
|
9199
9167
|
"version": "4.0.0",
|
|
9200
9168
|
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.0.tgz",
|
|
@@ -9787,6 +9755,17 @@
|
|
|
9787
9755
|
"dev": true,
|
|
9788
9756
|
"requires": {
|
|
9789
9757
|
"lru-cache": "^6.0.0"
|
|
9758
|
+
},
|
|
9759
|
+
"dependencies": {
|
|
9760
|
+
"lru-cache": {
|
|
9761
|
+
"version": "6.0.0",
|
|
9762
|
+
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
|
9763
|
+
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
|
9764
|
+
"dev": true,
|
|
9765
|
+
"requires": {
|
|
9766
|
+
"yallist": "^4.0.0"
|
|
9767
|
+
}
|
|
9768
|
+
}
|
|
9790
9769
|
}
|
|
9791
9770
|
},
|
|
9792
9771
|
"semver-diff": {
|
|
@@ -10940,9 +10919,9 @@
|
|
|
10940
10919
|
"dev": true
|
|
10941
10920
|
},
|
|
10942
10921
|
"typed-dom": {
|
|
10943
|
-
"version": "0.0.
|
|
10944
|
-
"resolved": "https://registry.npmjs.org/typed-dom/-/typed-dom-0.0.
|
|
10945
|
-
"integrity": "sha512-
|
|
10922
|
+
"version": "0.0.250",
|
|
10923
|
+
"resolved": "https://registry.npmjs.org/typed-dom/-/typed-dom-0.0.250.tgz",
|
|
10924
|
+
"integrity": "sha512-hjCpUI+E7St1bGVgyjYZww0ruhXLbPrcih6puElqXTIGHG9JHqd70p94RVilWup/mKoLnzeIdbFDYHLuloCfdQ==",
|
|
10946
10925
|
"dev": true
|
|
10947
10926
|
},
|
|
10948
10927
|
"typedarray": {
|
|
@@ -10961,9 +10940,9 @@
|
|
|
10961
10940
|
}
|
|
10962
10941
|
},
|
|
10963
10942
|
"typescript": {
|
|
10964
|
-
"version": "4.6.
|
|
10965
|
-
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.
|
|
10966
|
-
"integrity": "sha512-
|
|
10943
|
+
"version": "4.6.3",
|
|
10944
|
+
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz",
|
|
10945
|
+
"integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==",
|
|
10967
10946
|
"dev": true
|
|
10968
10947
|
},
|
|
10969
10948
|
"ua-parser-js": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "securemark",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.236.0",
|
|
4
4
|
"description": "Secure markdown renderer working on browsers for user input data.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"homepage": "https://github.com/falsandtru/securemark",
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
"semver": "^7.3.5",
|
|
64
64
|
"spica": "0.0.515",
|
|
65
65
|
"tsify": "^5.0.4",
|
|
66
|
-
"typed-dom": "0.0.
|
|
67
|
-
"typescript": "4.6.
|
|
66
|
+
"typed-dom": "0.0.250",
|
|
67
|
+
"typescript": "4.6.3",
|
|
68
68
|
"vinyl-buffer": "^1.0.1",
|
|
69
69
|
"vinyl-source-stream": "^2.0.0"
|
|
70
70
|
},
|
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
|
|
@@ -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
|
|
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>',
|
|
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
|
|
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>',
|
|
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(
|
|
@@ -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
|
|
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>'], '']);
|
|
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
|
|
|
@@ -30,7 +30,7 @@ export const codeblock: CodeBlockParser = block(validate('```', fmap(
|
|
|
30
30
|
translate: 'no',
|
|
31
31
|
'data-invalid-syntax': 'codeblock',
|
|
32
32
|
'data-invalid-type': !closer ? 'closer' : 'argument',
|
|
33
|
-
'data-invalid-
|
|
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)
|
|
@@ -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
|
|
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>'], '']);
|
|
20
20
|
});
|
|
21
21
|
|
|
22
22
|
});
|
|
@@ -13,7 +13,7 @@ export const aside: ExtensionParser.AsideParser = creator(100, block(validate('~
|
|
|
13
13
|
translate: 'no',
|
|
14
14
|
'data-invalid-syntax': 'aside',
|
|
15
15
|
'data-invalid-type': !closer ? 'closer' : 'argument',
|
|
16
|
-
'data-invalid-
|
|
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
|
|
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
|
|
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>'], '']);
|
|
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>'], '']);
|
|
@@ -16,7 +16,7 @@ export const example: ExtensionParser.ExampleParser = creator(100, block(validat
|
|
|
16
16
|
translate: 'no',
|
|
17
17
|
'data-invalid-syntax': 'example',
|
|
18
18
|
'data-invalid-type': !closer ? 'closer' : 'argument',
|
|
19
|
-
'data-invalid-
|
|
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
|
}
|
|
@@ -14,32 +14,32 @@ describe('Unit: parser/block/extension/fig', () => {
|
|
|
14
14
|
assert.deepStrictEqual(inspect(parser('[$group-name]\n !https://host')), undefined);
|
|
15
15
|
assert.deepStrictEqual(inspect(parser('[$group-name]\n\n!https://host')), undefined);
|
|
16
16
|
assert.deepStrictEqual(inspect(parser('[$group-name]a\nhttps://host')), undefined);
|
|
17
|
-
assert.deepStrictEqual(inspect(parser('[$group-name]a\n!https://host')), [['<figure data-label="group-name" data-group="group" class="invalid"><div
|
|
17
|
+
assert.deepStrictEqual(inspect(parser('[$group-name]a\n!https://host')), [['<figure data-label="group-name" data-group="group" class="invalid"><div><a href="https://host" target="_blank"><img class="media" data-src="https://host" alt=""></a></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
18
18
|
assert.deepStrictEqual(inspect(parser('[$group-name] a\nhttps://host')), undefined);
|
|
19
|
-
assert.deepStrictEqual(inspect(parser('[$group-name] a\n!https://host')), [['<figure data-label="group-name" data-group="group" class="invalid"><div
|
|
19
|
+
assert.deepStrictEqual(inspect(parser('[$group-name] a\n!https://host')), [['<figure data-label="group-name" data-group="group" class="invalid"><div><a href="https://host" target="_blank"><img class="media" data-src="https://host" alt=""></a></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
20
20
|
assert.deepStrictEqual(inspect(parser('$-a\n$-b')), undefined);
|
|
21
21
|
assert.deepStrictEqual(inspect(parser(' [$group-name]\n!https://host\n')), undefined);
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
it('valid', () => {
|
|
25
|
-
assert.deepStrictEqual(inspect(parser('[$group-name]\n!https://host')), [['<figure data-label="group-name" data-group="group"><div
|
|
26
|
-
assert.deepStrictEqual(inspect(parser('[$group-name]\n!https://host\n')), [['<figure data-label="group-name" data-group="group"><div
|
|
27
|
-
assert.deepStrictEqual(inspect(parser('[$group-name]\n|\n|-\n|')), [['<figure data-label="group-name" data-group="group"><div
|
|
28
|
-
assert.deepStrictEqual(inspect(parser('[$group-name]\n|\n|-\n|\n')), [['<figure data-label="group-name" data-group="group"><div
|
|
29
|
-
assert.deepStrictEqual(inspect(parser('[$group-name]\n```\n\n```')), [['<figure data-label="group-name" data-group="group"><div
|
|
30
|
-
assert.deepStrictEqual(inspect(parser('[$group-name]\n```\n\n```\n')), [['<figure data-label="group-name" data-group="group"><div
|
|
31
|
-
assert.deepStrictEqual(inspect(parser('[$group-name]\n```\n~~~\n```')), [['<figure data-label="group-name" data-group="group"><div
|
|
32
|
-
assert.deepStrictEqual(inspect(parser('[$group-name]\n$$\n\n$$')), [['<figure data-label="group-name" data-group="group"><div
|
|
33
|
-
assert.deepStrictEqual(inspect(parser('[$group-name]\n$$\n\n$$\n')), [['<figure data-label="group-name" data-group="group"><div
|
|
34
|
-
assert.deepStrictEqual(inspect(parser('[$group-name]\n~~~example/markdown\n~~~')), [['<figure data-label="group-name" data-group="group"><div
|
|
35
|
-
assert.deepStrictEqual(inspect(parser('[$group-name]\n~~~example/markdown\n~~~\n')), [['<figure data-label="group-name" data-group="group"><div
|
|
36
|
-
assert.deepStrictEqual(inspect(parser('[$group-name]\n> ')), [['<figure data-label="group-name" data-group="group"><div
|
|
37
|
-
assert.deepStrictEqual(inspect(parser('[$group-name]\n> \n')), [['<figure data-label="group-name" data-group="group"><div
|
|
38
|
-
assert.deepStrictEqual(inspect(parser('[$group-name]\n>\n~~~')), [['<figure data-label="group-name" data-group="group"><div
|
|
39
|
-
assert.deepStrictEqual(inspect(parser('[$group-name]\n!> *a*')), [['<figure data-label="group-name" data-group="group"><div
|
|
40
|
-
assert.deepStrictEqual(inspect(parser('[$group-name]\n![]{https://host}')), [['<figure data-label="group-name" data-group="group"><div
|
|
41
|
-
assert.deepStrictEqual(inspect(parser('[$group-name]\n![]{https://host}\n')), [['<figure data-label="group-name" data-group="group"><div
|
|
42
|
-
assert.deepStrictEqual(inspect(parser('$group-name\n!https://host')), [['<figure data-label="group-name" data-group="group"><div
|
|
25
|
+
assert.deepStrictEqual(inspect(parser('[$group-name]\n!https://host')), [['<figure data-label="group-name" data-group="group"><div><a href="https://host" target="_blank"><img class="media" data-src="https://host" alt=""></a></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
26
|
+
assert.deepStrictEqual(inspect(parser('[$group-name]\n!https://host\n')), [['<figure data-label="group-name" data-group="group"><div><a href="https://host" target="_blank"><img class="media" data-src="https://host" alt=""></a></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
27
|
+
assert.deepStrictEqual(inspect(parser('[$group-name]\n|\n|-\n|')), [['<figure data-label="group-name" data-group="group"><div><table><thead><tr></tr></thead><tbody><tr></tr></tbody></table></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
28
|
+
assert.deepStrictEqual(inspect(parser('[$group-name]\n|\n|-\n|\n')), [['<figure data-label="group-name" data-group="group"><div><table><thead><tr></tr></thead><tbody><tr></tr></tbody></table></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
29
|
+
assert.deepStrictEqual(inspect(parser('[$group-name]\n```\n\n```')), [['<figure data-label="group-name" data-group="group"><div><pre class="text" translate="no"></pre></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
30
|
+
assert.deepStrictEqual(inspect(parser('[$group-name]\n```\n\n```\n')), [['<figure data-label="group-name" data-group="group"><div><pre class="text" translate="no"></pre></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
31
|
+
assert.deepStrictEqual(inspect(parser('[$group-name]\n```\n~~~\n```')), [['<figure data-label="group-name" data-group="group"><div><pre class="text" translate="no">~~~</pre></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
32
|
+
assert.deepStrictEqual(inspect(parser('[$group-name]\n$$\n\n$$')), [['<figure data-label="group-name" data-group="group"><div><div class="math" translate="no">$$\n\n$$</div></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
33
|
+
assert.deepStrictEqual(inspect(parser('[$group-name]\n$$\n\n$$\n')), [['<figure data-label="group-name" data-group="group"><div><div class="math" translate="no">$$\n\n$$</div></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
34
|
+
assert.deepStrictEqual(inspect(parser('[$group-name]\n~~~example/markdown\n~~~')), [['<figure data-label="group-name" data-group="group"><div><aside class="example" data-type="markdown"><pre translate="no"></pre><hr><section><ol class="annotations"></ol><ol class="references"></ol></section></aside></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
35
|
+
assert.deepStrictEqual(inspect(parser('[$group-name]\n~~~example/markdown\n~~~\n')), [['<figure data-label="group-name" data-group="group"><div><aside class="example" data-type="markdown"><pre translate="no"></pre><hr><section><ol class="annotations"></ol><ol class="references"></ol></section></aside></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
36
|
+
assert.deepStrictEqual(inspect(parser('[$group-name]\n> ')), [['<figure data-label="group-name" data-group="group"><div><blockquote></blockquote></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
37
|
+
assert.deepStrictEqual(inspect(parser('[$group-name]\n> \n')), [['<figure data-label="group-name" data-group="group"><div><blockquote></blockquote></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
38
|
+
assert.deepStrictEqual(inspect(parser('[$group-name]\n>\n~~~')), [['<figure data-label="group-name" data-group="group"><div><blockquote><pre><br>~~~</pre></blockquote></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
39
|
+
assert.deepStrictEqual(inspect(parser('[$group-name]\n!> *a*')), [['<figure data-label="group-name" data-group="group"><div><blockquote><section><p><em>a</em></p><ol class="annotations"></ol><ol class="references"></ol></section></blockquote></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
40
|
+
assert.deepStrictEqual(inspect(parser('[$group-name]\n![]{https://host}')), [['<figure data-label="group-name" data-group="group"><div><a href="https://host" target="_blank"><img class="media" data-src="https://host" alt=""></a></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
41
|
+
assert.deepStrictEqual(inspect(parser('[$group-name]\n![]{https://host}\n')), [['<figure data-label="group-name" data-group="group"><div><a href="https://host" target="_blank"><img class="media" data-src="https://host" alt=""></a></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
42
|
+
assert.deepStrictEqual(inspect(parser('$group-name\n!https://host')), [['<figure data-label="group-name" data-group="group"><div><a href="https://host" target="_blank"><img class="media" data-src="https://host" alt=""></a></div><figcaption><span class="figindex"></span></figcaption></figure>'], '']);
|
|
43
43
|
});
|
|
44
44
|
|
|
45
45
|
});
|