@lvce-editor/markdown-worker 2.2.0 → 3.0.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/dist/markdownWorkerMain.js +185 -174
- package/package.json +1 -1
|
@@ -1122,68 +1122,68 @@ const Tfoot = 'tfoot';
|
|
|
1122
1122
|
|
|
1123
1123
|
const getVirtualDomTag = text => {
|
|
1124
1124
|
switch (text) {
|
|
1125
|
-
case
|
|
1126
|
-
return
|
|
1127
|
-
case
|
|
1128
|
-
return
|
|
1129
|
-
case H3:
|
|
1130
|
-
return H3$1;
|
|
1131
|
-
case H4:
|
|
1132
|
-
return H4$1;
|
|
1133
|
-
case H5:
|
|
1134
|
-
return H5$1;
|
|
1135
|
-
case Div:
|
|
1136
|
-
return Div$1;
|
|
1125
|
+
case A:
|
|
1126
|
+
return A$1;
|
|
1127
|
+
case Abbr:
|
|
1128
|
+
return Abbr$1;
|
|
1137
1129
|
case Article:
|
|
1138
1130
|
return Article$1;
|
|
1139
1131
|
case Aside:
|
|
1140
1132
|
return Aside$1;
|
|
1141
|
-
case
|
|
1142
|
-
return
|
|
1143
|
-
case
|
|
1144
|
-
return
|
|
1145
|
-
case
|
|
1146
|
-
return
|
|
1147
|
-
case Section:
|
|
1148
|
-
return Section$1;
|
|
1149
|
-
case Search:
|
|
1150
|
-
return Search$1;
|
|
1133
|
+
case Br:
|
|
1134
|
+
return Br$1;
|
|
1135
|
+
case Cite:
|
|
1136
|
+
return Cite$1;
|
|
1137
|
+
case Data:
|
|
1138
|
+
return Data$1;
|
|
1151
1139
|
case Dd:
|
|
1152
1140
|
return Dd$1;
|
|
1141
|
+
case Div:
|
|
1142
|
+
return Div$1;
|
|
1153
1143
|
case Dl:
|
|
1154
1144
|
return Dl$1;
|
|
1155
1145
|
case Figcaption:
|
|
1156
1146
|
return Figcaption$1;
|
|
1157
1147
|
case Figure:
|
|
1158
1148
|
return Figure$1;
|
|
1149
|
+
case Footer:
|
|
1150
|
+
return Footer$1;
|
|
1151
|
+
case H1:
|
|
1152
|
+
return H1$1;
|
|
1153
|
+
case H2:
|
|
1154
|
+
return H2$1;
|
|
1155
|
+
case H3:
|
|
1156
|
+
return H3$1;
|
|
1157
|
+
case H4:
|
|
1158
|
+
return H4$1;
|
|
1159
|
+
case H5:
|
|
1160
|
+
return H5$1;
|
|
1161
|
+
case Header:
|
|
1162
|
+
return Header$1;
|
|
1159
1163
|
case Hr:
|
|
1160
1164
|
return Hr$1;
|
|
1165
|
+
case Img:
|
|
1166
|
+
return Img$1;
|
|
1161
1167
|
case Li:
|
|
1162
1168
|
return Li$1;
|
|
1169
|
+
case Nav:
|
|
1170
|
+
return Nav$1;
|
|
1163
1171
|
case Ol:
|
|
1164
1172
|
return Ol$1;
|
|
1165
1173
|
case P$1:
|
|
1166
1174
|
return P$2;
|
|
1167
1175
|
case Pre:
|
|
1168
1176
|
return Pre$1;
|
|
1169
|
-
case
|
|
1170
|
-
return
|
|
1171
|
-
case
|
|
1172
|
-
return
|
|
1173
|
-
case Br:
|
|
1174
|
-
return Br$1;
|
|
1175
|
-
case Cite:
|
|
1176
|
-
return Cite$1;
|
|
1177
|
-
case Data:
|
|
1178
|
-
return Data$1;
|
|
1179
|
-
case Time:
|
|
1180
|
-
return Time$1;
|
|
1181
|
-
case Tfoot:
|
|
1182
|
-
return Tfoot$1;
|
|
1183
|
-
case Img:
|
|
1184
|
-
return Img$1;
|
|
1177
|
+
case Search:
|
|
1178
|
+
return Search$1;
|
|
1179
|
+
case Section:
|
|
1180
|
+
return Section$1;
|
|
1185
1181
|
case Span:
|
|
1186
1182
|
return Span$1;
|
|
1183
|
+
case Tfoot:
|
|
1184
|
+
return Tfoot$1;
|
|
1185
|
+
case Time:
|
|
1186
|
+
return Time$1;
|
|
1187
1187
|
default:
|
|
1188
1188
|
return Div$1;
|
|
1189
1189
|
}
|
|
@@ -1233,19 +1233,19 @@ class UnexpectedTokenError extends Error {
|
|
|
1233
1233
|
}
|
|
1234
1234
|
|
|
1235
1235
|
const State = {
|
|
1236
|
-
TopLevelContent: 1,
|
|
1237
|
-
AfterOpeningAngleBracket: 2,
|
|
1238
|
-
InsideOpeningTag: 3,
|
|
1239
|
-
AfterClosingTagSlash: 4,
|
|
1240
|
-
AfterClosingTagName: 5,
|
|
1241
|
-
InsideOpeningTagAfterWhitespace: 6,
|
|
1242
|
-
AfterAttributeName: 7,
|
|
1243
1236
|
AfterAttributeEqualSign: 8,
|
|
1244
|
-
|
|
1245
|
-
AfterAttributeValueInsideDoubleQuote: 10,
|
|
1237
|
+
AfterAttributeName: 7,
|
|
1246
1238
|
AfterAttributeValueClosingQuote: 11,
|
|
1239
|
+
AfterAttributeValueInsideDoubleQuote: 10,
|
|
1240
|
+
AfterClosingTagName: 5,
|
|
1241
|
+
AfterClosingTagSlash: 4,
|
|
1247
1242
|
AfterExclamationMark: 16,
|
|
1248
|
-
|
|
1243
|
+
AfterOpeningAngleBracket: 2,
|
|
1244
|
+
InsideAttributeAfterDoubleQuote: 9,
|
|
1245
|
+
InsideComment: 17,
|
|
1246
|
+
InsideOpeningTag: 3,
|
|
1247
|
+
InsideOpeningTagAfterWhitespace: 6,
|
|
1248
|
+
TopLevelContent: 1
|
|
1249
1249
|
};
|
|
1250
1250
|
const RE_ANGLE_BRACKET_OPEN = /^</;
|
|
1251
1251
|
const RE_ANGLE_BRACKET_OPEN_TAG = /^<(?![\s!%])/;
|
|
@@ -1279,26 +1279,97 @@ const tokenizeHtml = text => {
|
|
|
1279
1279
|
while (index < text.length) {
|
|
1280
1280
|
const part = text.slice(index);
|
|
1281
1281
|
switch (state) {
|
|
1282
|
-
case State.
|
|
1283
|
-
if (next = part.match(
|
|
1282
|
+
case State.AfterAttributeEqualSign:
|
|
1283
|
+
if (next = part.match(RE_DOUBLE_QUOTE)) {
|
|
1284
|
+
token = AttributeQuoteStart;
|
|
1285
|
+
state = State.InsideAttributeAfterDoubleQuote;
|
|
1286
|
+
} else if (next = part.match(RE_ANGLE_BRACKET_CLOSE)) {
|
|
1287
|
+
token = ClosingAngleBracket;
|
|
1288
|
+
state = State.TopLevelContent;
|
|
1289
|
+
} else if (next = part.match(RE_ATTRIBUTE_TEXT)) {
|
|
1290
|
+
token = AttributeValue;
|
|
1291
|
+
state = State.InsideOpeningTag;
|
|
1292
|
+
} else {
|
|
1293
|
+
throw new UnexpectedTokenError();
|
|
1294
|
+
}
|
|
1295
|
+
break;
|
|
1296
|
+
case State.AfterAttributeName:
|
|
1297
|
+
if (next = part.match(RE_EQUAL_SIGN)) {
|
|
1298
|
+
token = AttributeEqualSign;
|
|
1299
|
+
state = State.AfterAttributeEqualSign;
|
|
1300
|
+
} else if (next = part.match(RE_ANGLE_BRACKET_CLOSE)) {
|
|
1301
|
+
token = ClosingAngleBracket;
|
|
1302
|
+
state = State.TopLevelContent;
|
|
1303
|
+
} else if (next = part.match(RE_WHITESPACE)) {
|
|
1304
|
+
token = WhitespaceInsideOpeningTag;
|
|
1305
|
+
state = State.InsideOpeningTagAfterWhitespace;
|
|
1306
|
+
} else if (next = part.match(RE_ANGLE_BRACKET_OPEN)) {
|
|
1284
1307
|
token = OpeningAngleBracket;
|
|
1285
1308
|
state = State.AfterOpeningAngleBracket;
|
|
1286
|
-
} else
|
|
1287
|
-
|
|
1309
|
+
} else {
|
|
1310
|
+
text.slice(index); // ?
|
|
1311
|
+
throw new UnexpectedTokenError();
|
|
1312
|
+
}
|
|
1313
|
+
break;
|
|
1314
|
+
case State.AfterAttributeValueClosingQuote:
|
|
1315
|
+
if (next = part.match(RE_ANGLE_BRACKET_CLOSE)) {
|
|
1316
|
+
token = ClosingAngleBracket;
|
|
1288
1317
|
state = State.TopLevelContent;
|
|
1289
|
-
} else if (next = part.match(
|
|
1290
|
-
token =
|
|
1291
|
-
state = State.
|
|
1292
|
-
} else if (next = part.match(
|
|
1318
|
+
} else if (next = part.match(RE_WHITESPACE)) {
|
|
1319
|
+
token = WhitespaceInsideOpeningTag;
|
|
1320
|
+
state = State.InsideOpeningTagAfterWhitespace;
|
|
1321
|
+
} else if (next = part.match(RE_SELF_CLOSING)) {
|
|
1322
|
+
token = ClosingAngleBracket;
|
|
1323
|
+
state = State.TopLevelContent;
|
|
1324
|
+
} else {
|
|
1325
|
+
throw new UnexpectedTokenError();
|
|
1326
|
+
}
|
|
1327
|
+
break;
|
|
1328
|
+
case State.AfterAttributeValueInsideDoubleQuote:
|
|
1329
|
+
if (next = part.match(RE_DOUBLE_QUOTE)) {
|
|
1330
|
+
token = AttributeQuoteEnd;
|
|
1331
|
+
state = State.AfterAttributeValueClosingQuote;
|
|
1332
|
+
} else {
|
|
1333
|
+
throw new UnexpectedTokenError();
|
|
1334
|
+
}
|
|
1335
|
+
break;
|
|
1336
|
+
case State.AfterClosingTagName:
|
|
1337
|
+
if (next = part.match(RE_ANGLE_BRACKET_CLOSE)) {
|
|
1338
|
+
token = ClosingAngleBracket;
|
|
1339
|
+
state = State.TopLevelContent;
|
|
1340
|
+
} else if (next = part.match(RE_WHITESPACE)) {
|
|
1293
1341
|
token = Content;
|
|
1294
1342
|
state = State.TopLevelContent;
|
|
1295
|
-
} else
|
|
1296
|
-
|
|
1343
|
+
} else {
|
|
1344
|
+
throw new UnexpectedTokenError();
|
|
1345
|
+
}
|
|
1346
|
+
break;
|
|
1347
|
+
case State.AfterClosingTagSlash:
|
|
1348
|
+
if (next = part.match(RE_TAGNAME)) {
|
|
1349
|
+
token = TagNameEnd;
|
|
1350
|
+
state = State.AfterClosingTagName;
|
|
1351
|
+
} else if (next = part.match(RE_WHITESPACE)) {
|
|
1352
|
+
token = WhitespaceAfterClosingTagSlash;
|
|
1353
|
+
state = State.TopLevelContent;
|
|
1354
|
+
} else if (next = part.match(RE_ANGLE_BRACKET_CLOSE)) {
|
|
1355
|
+
token = ClosingAngleBracket;
|
|
1297
1356
|
state = State.TopLevelContent;
|
|
1298
1357
|
} else {
|
|
1299
1358
|
throw new UnexpectedTokenError();
|
|
1300
1359
|
}
|
|
1301
1360
|
break;
|
|
1361
|
+
case State.AfterExclamationMark:
|
|
1362
|
+
if (next = part.match(RE_DASH_DASH)) {
|
|
1363
|
+
token = StartCommentDashes;
|
|
1364
|
+
state = State.InsideComment;
|
|
1365
|
+
} else if (next = part.match(RE_DOCTYPE)) {
|
|
1366
|
+
token = Doctype;
|
|
1367
|
+
state = State.InsideOpeningTag;
|
|
1368
|
+
} else {
|
|
1369
|
+
text.slice(index); // ?
|
|
1370
|
+
throw new UnexpectedTokenError();
|
|
1371
|
+
}
|
|
1372
|
+
break;
|
|
1302
1373
|
case State.AfterOpeningAngleBracket:
|
|
1303
1374
|
if (next = part.match(RE_TAGNAME)) {
|
|
1304
1375
|
token = TagNameStart;
|
|
@@ -1323,15 +1394,14 @@ const tokenizeHtml = text => {
|
|
|
1323
1394
|
throw new UnexpectedTokenError();
|
|
1324
1395
|
}
|
|
1325
1396
|
break;
|
|
1326
|
-
case State.
|
|
1327
|
-
if (next =
|
|
1328
|
-
token =
|
|
1329
|
-
state = State.
|
|
1330
|
-
} else if (next = part.match(
|
|
1331
|
-
token =
|
|
1332
|
-
state = State.
|
|
1397
|
+
case State.InsideAttributeAfterDoubleQuote:
|
|
1398
|
+
if (next = text.slice(index).match(RE_ATTRIBUTE_VALUE_INSIDE_DOUBLE_QUOTE)) {
|
|
1399
|
+
token = AttributeValue;
|
|
1400
|
+
state = State.AfterAttributeValueInsideDoubleQuote;
|
|
1401
|
+
} else if (next = part.match(RE_DOUBLE_QUOTE)) {
|
|
1402
|
+
token = AttributeQuoteEnd;
|
|
1403
|
+
state = State.AfterAttributeValueClosingQuote;
|
|
1333
1404
|
} else {
|
|
1334
|
-
text.slice(index); // ?
|
|
1335
1405
|
throw new UnexpectedTokenError();
|
|
1336
1406
|
}
|
|
1337
1407
|
break;
|
|
@@ -1380,92 +1450,22 @@ const tokenizeHtml = text => {
|
|
|
1380
1450
|
throw new UnexpectedTokenError();
|
|
1381
1451
|
}
|
|
1382
1452
|
break;
|
|
1383
|
-
case State.
|
|
1384
|
-
if (next = part.match(
|
|
1385
|
-
token = AttributeEqualSign;
|
|
1386
|
-
state = State.AfterAttributeEqualSign;
|
|
1387
|
-
} else if (next = part.match(RE_ANGLE_BRACKET_CLOSE)) {
|
|
1388
|
-
token = ClosingAngleBracket;
|
|
1389
|
-
state = State.TopLevelContent;
|
|
1390
|
-
} else if (next = part.match(RE_WHITESPACE)) {
|
|
1391
|
-
token = WhitespaceInsideOpeningTag;
|
|
1392
|
-
state = State.InsideOpeningTagAfterWhitespace;
|
|
1393
|
-
} else if (next = part.match(RE_ANGLE_BRACKET_OPEN)) {
|
|
1453
|
+
case State.TopLevelContent:
|
|
1454
|
+
if (next = part.match(RE_ANGLE_BRACKET_OPEN_TAG)) {
|
|
1394
1455
|
token = OpeningAngleBracket;
|
|
1395
1456
|
state = State.AfterOpeningAngleBracket;
|
|
1396
|
-
} else {
|
|
1397
|
-
|
|
1398
|
-
throw new UnexpectedTokenError();
|
|
1399
|
-
}
|
|
1400
|
-
break;
|
|
1401
|
-
case State.AfterAttributeEqualSign:
|
|
1402
|
-
if (next = part.match(RE_DOUBLE_QUOTE)) {
|
|
1403
|
-
token = AttributeQuoteStart;
|
|
1404
|
-
state = State.InsideAttributeAfterDoubleQuote;
|
|
1405
|
-
} else if (next = part.match(RE_ANGLE_BRACKET_CLOSE)) {
|
|
1406
|
-
token = ClosingAngleBracket;
|
|
1407
|
-
state = State.TopLevelContent;
|
|
1408
|
-
} else if (next = part.match(RE_ATTRIBUTE_TEXT)) {
|
|
1409
|
-
token = AttributeValue;
|
|
1410
|
-
state = State.InsideOpeningTag;
|
|
1411
|
-
} else {
|
|
1412
|
-
throw new UnexpectedTokenError();
|
|
1413
|
-
}
|
|
1414
|
-
break;
|
|
1415
|
-
case State.InsideAttributeAfterDoubleQuote:
|
|
1416
|
-
if (next = text.slice(index).match(RE_ATTRIBUTE_VALUE_INSIDE_DOUBLE_QUOTE)) {
|
|
1417
|
-
token = AttributeValue;
|
|
1418
|
-
state = State.AfterAttributeValueInsideDoubleQuote;
|
|
1419
|
-
} else if (next = part.match(RE_DOUBLE_QUOTE)) {
|
|
1420
|
-
token = AttributeQuoteEnd;
|
|
1421
|
-
state = State.AfterAttributeValueClosingQuote;
|
|
1422
|
-
} else {
|
|
1423
|
-
throw new UnexpectedTokenError();
|
|
1424
|
-
}
|
|
1425
|
-
break;
|
|
1426
|
-
case State.AfterAttributeValueInsideDoubleQuote:
|
|
1427
|
-
if (next = part.match(RE_DOUBLE_QUOTE)) {
|
|
1428
|
-
token = AttributeQuoteEnd;
|
|
1429
|
-
state = State.AfterAttributeValueClosingQuote;
|
|
1430
|
-
} else {
|
|
1431
|
-
throw new UnexpectedTokenError();
|
|
1432
|
-
}
|
|
1433
|
-
break;
|
|
1434
|
-
case State.AfterAttributeValueClosingQuote:
|
|
1435
|
-
if (next = part.match(RE_ANGLE_BRACKET_CLOSE)) {
|
|
1436
|
-
token = ClosingAngleBracket;
|
|
1437
|
-
state = State.TopLevelContent;
|
|
1438
|
-
} else if (next = part.match(RE_WHITESPACE)) {
|
|
1439
|
-
token = WhitespaceInsideOpeningTag;
|
|
1440
|
-
state = State.InsideOpeningTagAfterWhitespace;
|
|
1441
|
-
} else if (next = part.match(RE_SELF_CLOSING)) {
|
|
1442
|
-
token = ClosingAngleBracket;
|
|
1443
|
-
state = State.TopLevelContent;
|
|
1444
|
-
} else {
|
|
1445
|
-
throw new UnexpectedTokenError();
|
|
1446
|
-
}
|
|
1447
|
-
break;
|
|
1448
|
-
case State.AfterClosingTagSlash:
|
|
1449
|
-
if (next = part.match(RE_TAGNAME)) {
|
|
1450
|
-
token = TagNameEnd;
|
|
1451
|
-
state = State.AfterClosingTagName;
|
|
1452
|
-
} else if (next = part.match(RE_WHITESPACE)) {
|
|
1453
|
-
token = WhitespaceAfterClosingTagSlash;
|
|
1457
|
+
} else if (next = part.match(RE_CONTENT)) {
|
|
1458
|
+
token = Content;
|
|
1454
1459
|
state = State.TopLevelContent;
|
|
1460
|
+
} else if (next = part.match(RE_BLOCK_COMMENT_START)) {
|
|
1461
|
+
token = CommentStart;
|
|
1462
|
+
state = State.InsideComment;
|
|
1455
1463
|
} else if (next = part.match(RE_ANGLE_BRACKET_CLOSE)) {
|
|
1456
|
-
token = ClosingAngleBracket;
|
|
1457
|
-
state = State.TopLevelContent;
|
|
1458
|
-
} else {
|
|
1459
|
-
throw new UnexpectedTokenError();
|
|
1460
|
-
}
|
|
1461
|
-
break;
|
|
1462
|
-
case State.AfterClosingTagName:
|
|
1463
|
-
if (next = part.match(RE_ANGLE_BRACKET_CLOSE)) {
|
|
1464
|
-
token = ClosingAngleBracket;
|
|
1465
|
-
state = State.TopLevelContent;
|
|
1466
|
-
} else if (next = part.match(RE_WHITESPACE)) {
|
|
1467
1464
|
token = Content;
|
|
1468
1465
|
state = State.TopLevelContent;
|
|
1466
|
+
} else if (next = part.match(RE_ANGLE_BRACKET_OPEN)) {
|
|
1467
|
+
token = Text;
|
|
1468
|
+
state = State.TopLevelContent;
|
|
1469
1469
|
} else {
|
|
1470
1470
|
throw new UnexpectedTokenError();
|
|
1471
1471
|
}
|
|
@@ -1475,8 +1475,8 @@ const tokenizeHtml = text => {
|
|
|
1475
1475
|
}
|
|
1476
1476
|
const tokenText = next[0];
|
|
1477
1477
|
tokens.push({
|
|
1478
|
-
|
|
1479
|
-
|
|
1478
|
+
text: tokenText,
|
|
1479
|
+
type: token
|
|
1480
1480
|
});
|
|
1481
1481
|
index += tokenText.length;
|
|
1482
1482
|
}
|
|
@@ -1489,33 +1489,14 @@ const parseHtml = (html, allowedAttributes) => {
|
|
|
1489
1489
|
const tokens = tokenizeHtml(html);
|
|
1490
1490
|
const dom = [];
|
|
1491
1491
|
const root = {
|
|
1492
|
-
|
|
1493
|
-
|
|
1492
|
+
childCount: 0,
|
|
1493
|
+
type: 0
|
|
1494
1494
|
};
|
|
1495
1495
|
let current = root;
|
|
1496
1496
|
const stack = [root];
|
|
1497
1497
|
let attributeName = '';
|
|
1498
1498
|
for (const token of tokens) {
|
|
1499
1499
|
switch (token.type) {
|
|
1500
|
-
case TagNameStart:
|
|
1501
|
-
current.childCount++;
|
|
1502
|
-
current = {
|
|
1503
|
-
type: getVirtualDomTag(token.text),
|
|
1504
|
-
childCount: 0
|
|
1505
|
-
};
|
|
1506
|
-
dom.push(current);
|
|
1507
|
-
if (!isSelfClosingTag(token.text)) {
|
|
1508
|
-
stack.push(current);
|
|
1509
|
-
}
|
|
1510
|
-
break;
|
|
1511
|
-
case TagNameEnd:
|
|
1512
|
-
stack.pop();
|
|
1513
|
-
current = stack.at(-1) || root;
|
|
1514
|
-
break;
|
|
1515
|
-
case Content:
|
|
1516
|
-
current.childCount++;
|
|
1517
|
-
dom.push(text(parseText(token.text)));
|
|
1518
|
-
break;
|
|
1519
1500
|
case AttributeName:
|
|
1520
1501
|
attributeName = token.text;
|
|
1521
1502
|
if (attributeName === 'class') {
|
|
@@ -1528,6 +1509,25 @@ const parseHtml = (html, allowedAttributes) => {
|
|
|
1528
1509
|
}
|
|
1529
1510
|
attributeName = '';
|
|
1530
1511
|
break;
|
|
1512
|
+
case Content:
|
|
1513
|
+
current.childCount++;
|
|
1514
|
+
dom.push(text(parseText(token.text)));
|
|
1515
|
+
break;
|
|
1516
|
+
case TagNameEnd:
|
|
1517
|
+
stack.pop();
|
|
1518
|
+
current = stack.at(-1) || root;
|
|
1519
|
+
break;
|
|
1520
|
+
case TagNameStart:
|
|
1521
|
+
current.childCount++;
|
|
1522
|
+
current = {
|
|
1523
|
+
childCount: 0,
|
|
1524
|
+
type: getVirtualDomTag(token.text)
|
|
1525
|
+
};
|
|
1526
|
+
dom.push(current);
|
|
1527
|
+
if (!isSelfClosingTag(token.text)) {
|
|
1528
|
+
stack.push(current);
|
|
1529
|
+
}
|
|
1530
|
+
break;
|
|
1531
1531
|
}
|
|
1532
1532
|
}
|
|
1533
1533
|
return dom;
|
|
@@ -1538,11 +1538,11 @@ const getMarkdownVirtualDom = html => {
|
|
|
1538
1538
|
const childDom = parseHtml(html, allowedMarkdownAttributes);
|
|
1539
1539
|
const markdownChildCount = getVirtualDomChildCount(childDom);
|
|
1540
1540
|
return [{
|
|
1541
|
-
|
|
1541
|
+
childCount: markdownChildCount,
|
|
1542
1542
|
className: Markdown,
|
|
1543
|
-
role: Document,
|
|
1544
1543
|
onContextMenu: HandleReadmeContextMenu,
|
|
1545
|
-
|
|
1544
|
+
role: Document,
|
|
1545
|
+
type: Div$1
|
|
1546
1546
|
}, ...childDom];
|
|
1547
1547
|
};
|
|
1548
1548
|
|
|
@@ -3231,6 +3231,17 @@ const renderMarkdown$1 = async (markdown, options = {}) => {
|
|
|
3231
3231
|
return localLink ? html : html.replace(RE_LINK_START, `<a target="_blank" rel="noreferrer noopener nofollow" `);
|
|
3232
3232
|
};
|
|
3233
3233
|
}
|
|
3234
|
+
const {
|
|
3235
|
+
baseUrl
|
|
3236
|
+
} = options;
|
|
3237
|
+
if (baseUrl) {
|
|
3238
|
+
const imageRenderer = renderer.image.bind(renderer);
|
|
3239
|
+
renderer.image = image => {
|
|
3240
|
+
image.href = new URL(image.href, baseUrl).toString();
|
|
3241
|
+
const html = imageRenderer(image);
|
|
3242
|
+
return html;
|
|
3243
|
+
};
|
|
3244
|
+
}
|
|
3234
3245
|
const html = await k(markdown, {
|
|
3235
3246
|
renderer
|
|
3236
3247
|
});
|
|
@@ -3238,13 +3249,13 @@ const renderMarkdown$1 = async (markdown, options = {}) => {
|
|
|
3238
3249
|
};
|
|
3239
3250
|
|
|
3240
3251
|
const commandMap = {
|
|
3252
|
+
'Markdown.getMarkDownVirtualDom': getMarkdownVirtualDom,
|
|
3241
3253
|
'Markdown.getVirtualDom': getMarkdownVirtualDom,
|
|
3242
3254
|
'Markdown.handleMessagePort': handleMessagePort,
|
|
3243
3255
|
'Markdown.render': renderMarkdown$1,
|
|
3244
|
-
'Markdown.terminate': terminate,
|
|
3245
3256
|
// deprecated
|
|
3246
3257
|
'Markdown.renderMarkdown': renderMarkdown$1,
|
|
3247
|
-
'Markdown.
|
|
3258
|
+
'Markdown.terminate': terminate
|
|
3248
3259
|
};
|
|
3249
3260
|
|
|
3250
3261
|
const rpcs = Object.create(null);
|