@@ -6229,11 +6229,15 @@ var anchorRe = /\{(#[0-9a-z]+(?:[\x2D_][0-9a-z]+)*)\}/g;
6229
6229
var childrenExclude = new Set ( [ "image" , "reference" , "resource" ] ) ;
6230
6230
var tokensInclude = new Set ( [ "codeTextData" , "data" ] ) ;
6231
6231
6232
+ /**
6233
+ * @typedef {import("../helpers/micromark.cjs").Token } Token
6234
+ */
6235
+
6232
6236
/**
6233
6237
* Converts a Markdown heading into an HTML fragment according to the rules
6234
6238
* used by GitHub.
6235
6239
*
6236
- * @param {Object } headingText Heading text token.
6240
+ * @param {Token } headingText Heading text token.
6237
6241
* @returns {string } Fragment string for heading.
6238
6242
*/
6239
6243
function convertHeadingToHTMLFragment ( headingText ) {
@@ -6251,6 +6255,18 @@ function convertHeadingToHTMLFragment(headingText) {
6251
6255
// https://ruby-doc.org/core-3.0.2/Regexp.html
6252
6256
. replace ( / (?: [ \0 - \x1F ! - , \. \/ : - @ \[ - \^ ` \{ - \xA9 \xAB - \xB1 \xB4 \xB6 - \xB8 \xBB \xBF \xD7 \xF7 \u02C2 - \u02C5 \u02D2 - \u02DF \u02E5 - \u02EB \u02ED \u02EF - \u02FF \u0375 \u0378 \u0379 \u037E \u0380 - \u0385 \u0387 \u038B \u038D \u03A2 \u03F6 \u0482 \u0530 \u0557 \u0558 \u055A - \u055F \u0589 - \u0590 \u05BE \u05C0 \u05C3 \u05C6 \u05C8 - \u05CF \u05EB - \u05EE \u05F3 - \u060F \u061B - \u061F \u066A - \u066D \u06D4 \u06DD \u06DE \u06E9 \u06FD \u06FE \u0700 - \u070F \u074B \u074C \u07B2 - \u07BF \u07F6 - \u07F9 \u07FB \u07FC \u07FE \u07FF \u082E - \u083F \u085C - \u085F \u086B - \u086F \u0888 \u088F - \u0897 \u08E2 \u0964 \u0965 \u0970 \u0984 \u098D \u098E \u0991 \u0992 \u09A9 \u09B1 \u09B3 - \u09B5 \u09BA \u09BB \u09C5 \u09C6 \u09C9 \u09CA \u09CF - \u09D6 \u09D8 - \u09DB \u09DE \u09E4 \u09E5 \u09F2 \u09F3 \u09FA \u09FB \u09FD \u09FF \u0A00 \u0A04 \u0A0B - \u0A0E \u0A11 \u0A12 \u0A29 \u0A31 \u0A34 \u0A37 \u0A3A \u0A3B \u0A3D \u0A43 - \u0A46 \u0A49 \u0A4A \u0A4E - \u0A50 \u0A52 - \u0A58 \u0A5D \u0A5F - \u0A65 \u0A76 - \u0A80 \u0A84 \u0A8E \u0A92 \u0AA9 \u0AB1 \u0AB4 \u0ABA \u0ABB \u0AC6 \u0ACA \u0ACE \u0ACF \u0AD1 - \u0ADF \u0AE4 \u0AE5 \u0AF0 - \u0AF8 \u0B00 \u0B04 \u0B0D \u0B0E \u0B11 \u0B12 \u0B29 \u0B31 \u0B34 \u0B3A \u0B3B \u0B45 \u0B46 \u0B49 \u0B4A \u0B4E - \u0B54 \u0B58 - \u0B5B \u0B5E \u0B64 \u0B65 \u0B70 \u0B78 - \u0B81 \u0B84 \u0B8B - \u0B8D \u0B91 \u0B96 - \u0B98 \u0B9B \u0B9D \u0BA0 - \u0BA2 \u0BA5 - \u0BA7 \u0BAB - \u0BAD \u0BBA - \u0BBD \u0BC3 - \u0BC5 \u0BC9 \u0BCE \u0BCF \u0BD1 - \u0BD6 \u0BD8 - \u0BE5 \u0BF3 - \u0BFF \u0C0D \u0C11 \u0C29 \u0C3A \u0C3B \u0C45 \u0C49 \u0C4E - \u0C54 \u0C57 \u0C5B \u0C5C \u0C5E \u0C5F \u0C64 \u0C65 \u0C70 - \u0C77 \u0C7F \u0C84 \u0C8D \u0C91 \u0CA9 \u0CB4 \u0CBA \u0CBB \u0CC5 \u0CC9 \u0CCE - \u0CD4 \u0CD7 - \u0CDC \u0CDF \u0CE4 \u0CE5 \u0CF0 \u0CF4 - \u0CFF \u0D0D \u0D11 \u0D45 \u0D49 \u0D4F - \u0D53 \u0D64 \u0D65 \u0D79 \u0D80 \u0D84 \u0D97 - \u0D99 \u0DB2 \u0DBC \u0DBE \u0DBF \u0DC7 - \u0DC9 \u0DCB - \u0DCE \u0DD5 \u0DD7 \u0DE0 - \u0DE5 \u0DF0 \u0DF1 \u0DF4 - \u0E00 \u0E3B - \u0E3F \u0E4F \u0E5A - \u0E80 \u0E83 \u0E85 \u0E8B \u0EA4 \u0EA6 \u0EBE \u0EBF \u0EC5 \u0EC7 \u0ECF \u0EDA \u0EDB \u0EE0 - \u0EFF \u0F01 - \u0F17 \u0F1A - \u0F1F \u0F34 \u0F36 \u0F38 \u0F3A - \u0F3D \u0F48 \u0F6D - \u0F70 \u0F85 \u0F98 \u0FBD - \u0FC5 \u0FC7 - \u0FFF \u104A - \u104F \u109E \u109F \u10C6 \u10C8 - \u10CC \u10CE \u10CF \u10FB \u1249 \u124E \u124F \u1257 \u1259 \u125E \u125F \u1289 \u128E \u128F \u12B1 \u12B6 \u12B7 \u12BF \u12C1 \u12C6 \u12C7 \u12D7 \u1311 \u1316 \u1317 \u135B \u135C \u1360 - \u1368 \u137D - \u137F \u1390 - \u139F \u13F6 \u13F7 \u13FE - \u1400 \u166D \u166E \u1680 \u169B - \u169F \u16EB - \u16ED \u16F9 - \u16FF \u1716 - \u171E \u1735 - \u173F \u1754 - \u175F \u176D \u1771 \u1774 - \u177F \u17D4 - \u17D6 \u17D8 - \u17DB \u17DE \u17DF \u17EA - \u17EF \u17FA - \u180A \u180E \u181A - \u181F \u1879 - \u187F \u18AB - \u18AF \u18F6 - \u18FF \u191F \u192C - \u192F \u193C - \u1945 \u196E \u196F \u1975 - \u197F \u19AC - \u19AF \u19CA - \u19CF \u19DB - \u19FF \u1A1C - \u1A1F \u1A5F \u1A7D \u1A7E \u1A8A - \u1A8F \u1A9A - \u1AA6 \u1AA8 - \u1AAF \u1ACF - \u1AFF \u1B4D - \u1B4F \u1B5A - \u1B6A \u1B74 - \u1B7F \u1BF4 - \u1BFF \u1C38 - \u1C3F \u1C4A - \u1C4C \u1C7E \u1C7F \u1C89 - \u1C8F \u1CBB \u1CBC \u1CC0 - \u1CCF \u1CD3 \u1CFB - \u1CFF \u1F16 \u1F17 \u1F1E \u1F1F \u1F46 \u1F47 \u1F4E \u1F4F \u1F58 \u1F5A \u1F5C \u1F5E \u1F7E \u1F7F \u1FB5 \u1FBD \u1FBF - \u1FC1 \u1FC5 \u1FCD - \u1FCF \u1FD4 \u1FD5 \u1FDC - \u1FDF \u1FED - \u1FF1 \u1FF5 \u1FFD - \u203E \u2041 - \u2053 \u2055 - \u206F \u2072 \u2073 \u207A - \u207E \u208A - \u208F \u209D - \u20CF \u20F1 - \u2101 \u2103 - \u2106 \u2108 \u2109 \u2114 \u2116 - \u2118 \u211E - \u2123 \u2125 \u2127 \u2129 \u212E \u213A \u213B \u2140 - \u2144 \u214A - \u214D \u214F \u218A - \u245F \u249C - \u24E9 \u2500 - \u2775 \u2794 - \u2BFF \u2CE5 - \u2CEA \u2CF4 - \u2CFC \u2CFE \u2CFF \u2D26 \u2D28 - \u2D2C \u2D2E \u2D2F \u2D68 - \u2D6E \u2D70 - \u2D7E \u2D97 - \u2D9F \u2DA7 \u2DAF \u2DB7 \u2DBF \u2DC7 \u2DCF \u2DD7 \u2DDF \u2E00 - \u2E2E \u2E30 - \u3004 \u3008 - \u3020 \u3030 \u3036 \u3037 \u303D - \u3040 \u3097 \u3098 \u309B \u309C \u30A0 \u30FB \u3100 - \u3104 \u3130 \u318F - \u3191 \u3196 - \u319F \u31C0 - \u31EF \u3200 - \u321F \u322A - \u3247 \u3250 \u3260 - \u327F \u328A - \u32B0 \u32C0 - \u33FF \u4DC0 - \u4DFF \uA48D - \uA4CF \uA4FE \uA4FF \uA60D - \uA60F \uA62C - \uA63F \uA673 \uA67E \uA6F2 - \uA716 \uA720 \uA721 \uA789 \uA78A \uA7CB - \uA7CF \uA7D2 \uA7D4 \uA7DA - \uA7F1 \uA828 - \uA82B \uA82D - \uA82F \uA836 - \uA83F \uA874 - \uA87F \uA8C6 - \uA8CF \uA8DA - \uA8DF \uA8F8 - \uA8FA \uA8FC \uA92E \uA92F \uA954 - \uA95F \uA97D - \uA97F \uA9C1 - \uA9CE \uA9DA - \uA9DF \uA9FF \uAA37 - \uAA3F \uAA4E \uAA4F \uAA5A - \uAA5F \uAA77 - \uAA79 \uAAC3 - \uAADA \uAADE \uAADF \uAAF0 \uAAF1 \uAAF7 - \uAB00 \uAB07 \uAB08 \uAB0F \uAB10 \uAB17 - \uAB1F \uAB27 \uAB2F \uAB5B \uAB6A - \uAB6F \uABEB \uABEE \uABEF \uABFA - \uABFF \uD7A4 - \uD7AF \uD7C7 - \uD7CA \uD7FC - \uD7FF \uE000 - \uF8FF \uFA6E \uFA6F \uFADA - \uFAFF \uFB07 - \uFB12 \uFB18 - \uFB1C \uFB29 \uFB37 \uFB3D \uFB3F \uFB42 \uFB45 \uFBB2 - \uFBD2 \uFD3E - \uFD4F \uFD90 \uFD91 \uFDC8 - \uFDEF \uFDFC - \uFDFF \uFE10 - \uFE1F \uFE30 - \uFE32 \uFE35 - \uFE4C \uFE50 - \uFE6F \uFE75 \uFEFD - \uFF0F \uFF1A - \uFF20 \uFF3B - \uFF3E \uFF40 \uFF5B - \uFF65 \uFFBF - \uFFC1 \uFFC8 \uFFC9 \uFFD0 \uFFD1 \uFFD8 \uFFD9 \uFFDD - \uFFFF ] | \uD800 [ \uDC0C \uDC27 \uDC3B \uDC3E \uDC4E \uDC4F \uDC5E - \uDC7F \uDCFB - \uDD06 \uDD34 - \uDD3F \uDD79 - \uDD89 \uDD8C - \uDDFC \uDDFE - \uDE7F \uDE9D - \uDE9F \uDED1 - \uDEDF \uDEFC - \uDEFF \uDF24 - \uDF2C \uDF4B - \uDF4F \uDF7B - \uDF7F \uDF9E \uDF9F \uDFC4 - \uDFC7 \uDFD0 \uDFD6 - \uDFFF ] | \uD801 [ \uDC9E \uDC9F \uDCAA - \uDCAF \uDCD4 - \uDCD7 \uDCFC - \uDCFF \uDD28 - \uDD2F \uDD64 - \uDD6F \uDD7B \uDD8B \uDD93 \uDD96 \uDDA2 \uDDB2 \uDDBA \uDDBD - \uDDFF \uDF37 - \uDF3F \uDF56 - \uDF5F \uDF68 - \uDF7F \uDF86 \uDFB1 \uDFBB - \uDFFF ] | \uD802 [ \uDC06 \uDC07 \uDC09 \uDC36 \uDC39 - \uDC3B \uDC3D \uDC3E \uDC56 \uDC57 \uDC77 \uDC78 \uDC9F - \uDCA6 \uDCB0 - \uDCDF \uDCF3 \uDCF6 - \uDCFA \uDD1C - \uDD1F \uDD3A - \uDD7F \uDDB8 - \uDDBB \uDDD0 \uDDD1 \uDE04 \uDE07 - \uDE0B \uDE14 \uDE18 \uDE36 \uDE37 \uDE3B - \uDE3E \uDE49 - \uDE5F \uDE7F \uDEA0 - \uDEBF \uDEC8 \uDEE7 - \uDEEA \uDEF0 - \uDEFF \uDF36 - \uDF3F \uDF56 \uDF57 \uDF73 - \uDF77 \uDF92 - \uDFA8 \uDFB0 - \uDFFF ] | \uD803 [ \uDC49 - \uDC7F \uDCB3 - \uDCBF \uDCF3 - \uDCF9 \uDD28 - \uDD2F \uDD3A - \uDE5F \uDE7F \uDEAA \uDEAD - \uDEAF \uDEB2 - \uDEFC \uDF28 - \uDF2F \uDF55 - \uDF6F \uDF86 - \uDFAF \uDFCC - \uDFDF \uDFF7 - \uDFFF ] | \uD804 [ \uDC47 - \uDC51 \uDC76 - \uDC7E \uDCBB - \uDCC1 \uDCC3 - \uDCCF \uDCE9 - \uDCEF \uDCFA - \uDCFF \uDD35 \uDD40 - \uDD43 \uDD48 - \uDD4F \uDD74 \uDD75 \uDD77 - \uDD7F \uDDC5 - \uDDC8 \uDDCD \uDDDB \uDDDD - \uDDE0 \uDDF5 - \uDDFF \uDE12 \uDE38 - \uDE3D \uDE42 - \uDE7F \uDE87 \uDE89 \uDE8E \uDE9E \uDEA9 - \uDEAF \uDEEB - \uDEEF \uDEFA - \uDEFF \uDF04 \uDF0D \uDF0E \uDF11 \uDF12 \uDF29 \uDF31 \uDF34 \uDF3A \uDF45 \uDF46 \uDF49 \uDF4A \uDF4E \uDF4F \uDF51 - \uDF56 \uDF58 - \uDF5C \uDF64 \uDF65 \uDF6D - \uDF6F \uDF75 - \uDFFF ] | \uD805 [ \uDC4B - \uDC4F \uDC5A - \uDC5D \uDC62 - \uDC7F \uDCC6 \uDCC8 - \uDCCF \uDCDA - \uDD7F \uDDB6 \uDDB7 \uDDC1 - \uDDD7 \uDDDE - \uDDFF \uDE41 - \uDE43 \uDE45 - \uDE4F \uDE5A - \uDE7F \uDEB9 - \uDEBF \uDECA - \uDEFF \uDF1B \uDF1C \uDF2C - \uDF2F \uDF3C - \uDF3F \uDF47 - \uDFFF ] | \uD806 [ \uDC3B - \uDC9F \uDCF3 - \uDCFE \uDD07 \uDD08 \uDD0A \uDD0B \uDD14 \uDD17 \uDD36 \uDD39 \uDD3A \uDD44 - \uDD4F \uDD5A - \uDD9F \uDDA8 \uDDA9 \uDDD8 \uDDD9 \uDDE2 \uDDE5 - \uDDFF \uDE3F - \uDE46 \uDE48 - \uDE4F \uDE9A - \uDE9C \uDE9E - \uDEAF \uDEF9 - \uDFFF ] | \uD807 [ \uDC09 \uDC37 \uDC41 - \uDC4F \uDC6D - \uDC71 \uDC90 \uDC91 \uDCA8 \uDCB7 - \uDCFF \uDD07 \uDD0A \uDD37 - \uDD39 \uDD3B \uDD3E \uDD48 - \uDD4F \uDD5A - \uDD5F \uDD66 \uDD69 \uDD8F \uDD92 \uDD99 - \uDD9F \uDDAA - \uDEDF \uDEF7 - \uDEFF \uDF11 \uDF3B - \uDF3D \uDF43 - \uDF4F \uDF5A - \uDFAF \uDFB1 - \uDFBF \uDFD5 - \uDFFF ] | \uD808 [ \uDF9A - \uDFFF ] | \uD809 [ \uDC6F - \uDC7F \uDD44 - \uDFFF ] | [ \uD80A \uD80E - \uD810 \uD812 - \uD819 \uD824 - \uD82A \uD82D \uD82E \uD830 - \uD832 \uD83D \uD83F \uD87B - \uD87D \uD87F \uD889 - \uDB3F \uDB41 - \uDBFF ] [ \uDC00 - \uDFFF ] | \uD80B [ \uDC00 - \uDF8F \uDFF1 - \uDFFF ] | \uD80D [ \uDC30 - \uDC3F \uDC56 - \uDFFF ] | \uD811 [ \uDE47 - \uDFFF ] | \uD81A [ \uDE39 - \uDE3F \uDE5F \uDE6A - \uDE6F \uDEBF \uDECA - \uDECF \uDEEE \uDEEF \uDEF5 - \uDEFF \uDF37 - \uDF3F \uDF44 - \uDF4F \uDF5A \uDF62 \uDF78 - \uDF7C \uDF90 - \uDFFF ] | \uD81B [ \uDC00 - \uDE3F \uDE97 - \uDEFF \uDF4B - \uDF4E \uDF88 - \uDF8E \uDFA0 - \uDFDF \uDFE2 \uDFE5 - \uDFEF \uDFF2 - \uDFFF ] | \uD821 [ \uDFF8 - \uDFFF ] | \uD823 [ \uDCD6 - \uDCFF \uDD09 - \uDFFF ] | \uD82B [ \uDC00 - \uDFEF \uDFF4 \uDFFC \uDFFF ] | \uD82C [ \uDD23 - \uDD31 \uDD33 - \uDD4F \uDD53 \uDD54 \uDD56 - \uDD63 \uDD68 - \uDD6F \uDEFC - \uDFFF ] | \uD82F [ \uDC6B - \uDC6F \uDC7D - \uDC7F \uDC89 - \uDC8F \uDC9A - \uDC9C \uDC9F - \uDFFF ] | \uD833 [ \uDC00 - \uDEFF \uDF2E \uDF2F \uDF47 - \uDFFF ] | \uD834 [ \uDC00 - \uDD64 \uDD6A - \uDD6C \uDD73 - \uDD7A \uDD83 \uDD84 \uDD8C - \uDDA9 \uDDAE - \uDE41 \uDE45 - \uDEBF \uDED4 - \uDEDF \uDEF4 - \uDF5F \uDF79 - \uDFFF ] | \uD835 [ \uDC55 \uDC9D \uDCA0 \uDCA1 \uDCA3 \uDCA4 \uDCA7 \uDCA8 \uDCAD \uDCBA \uDCBC \uDCC4 \uDD06 \uDD0B \uDD0C \uDD15 \uDD1D \uDD3A \uDD3F \uDD45 \uDD47 - \uDD49 \uDD51 \uDEA6 \uDEA7 \uDEC1 \uDEDB \uDEFB \uDF15 \uDF35 \uDF4F \uDF6F \uDF89 \uDFA9 \uDFC3 \uDFCC \uDFCD ] | \uD836 [ \uDC00 - \uDDFF \uDE37 - \uDE3A \uDE6D - \uDE74 \uDE76 - \uDE83 \uDE85 - \uDE9A \uDEA0 \uDEB0 - \uDFFF ] | \uD837 [ \uDC00 - \uDEFF \uDF1F - \uDF24 \uDF2B - \uDFFF ] | \uD838 [ \uDC07 \uDC19 \uDC1A \uDC22 \uDC25 \uDC2B - \uDC2F \uDC6E - \uDC8E \uDC90 - \uDCFF \uDD2D - \uDD2F \uDD3E \uDD3F \uDD4A - \uDD4D \uDD4F - \uDE8F \uDEAF - \uDEBF \uDEFA - \uDFFF ] | \uD839 [ \uDC00 - \uDCCF \uDCFA - \uDFDF \uDFE7 \uDFEC \uDFEF \uDFFF ] | \uD83A [ \uDCC5 \uDCC6 \uDCD7 - \uDCFF \uDD4C - \uDD4F \uDD5A - \uDFFF ] | \uD83B [ \uDC00 - \uDC70 \uDCAC \uDCB0 \uDCB5 - \uDD00 \uDD2E \uDD3E - \uDDFF \uDE04 \uDE20 \uDE23 \uDE25 \uDE26 \uDE28 \uDE33 \uDE38 \uDE3A \uDE3C - \uDE41 \uDE43 - \uDE46 \uDE48 \uDE4A \uDE4C \uDE50 \uDE53 \uDE55 \uDE56 \uDE58 \uDE5A \uDE5C \uDE5E \uDE60 \uDE63 \uDE65 \uDE66 \uDE6B \uDE73 \uDE78 \uDE7D \uDE7F \uDE8A \uDE9C - \uDEA0 \uDEA4 \uDEAA \uDEBC - \uDFFF ] | \uD83C [ \uDC00 - \uDCFF \uDD0D - \uDFFF ] | \uD83E [ \uDC00 - \uDFEF \uDFFA - \uDFFF ] | \uD869 [ \uDEE0 - \uDEFF ] | \uD86D [ \uDF3A - \uDF3F ] | \uD86E [ \uDC1E \uDC1F ] | \uD873 [ \uDEA2 - \uDEAF ] | \uD87A [ \uDFE1 - \uDFFF ] | \uD87E [ \uDE1E - \uDFFF ] | \uD884 [ \uDF4B - \uDF4F ] | \uD888 [ \uDFB0 - \uDFFF ] | \uDB40 [ \uDC00 - \uDCFF \uDDF0 - \uDFFF ] | [ \uD800 - \uDBFF ] (? ! [ \uDC00 - \uDFFF ] ) | (?: [ ^ \uD800 - \uDBFF ] | ^ ) [ \uDC00 - \uDFFF ] ) / g, "" ) . replace ( / / g, "-" ) ) ;
6253
6257
}
6258
+
6259
+ /**
6260
+ * Unescapes the text of a String-type micromark Token.
6261
+ *
6262
+ * @param {Token } token String-type micromark Token.
6263
+ * @returns {string } Unescaped token text.
6264
+ */
6265
+ function unescapeStringTokenText ( token ) {
6266
+ return filterByTypes ( token . children , [ "characterEscapeValue" , "data" ] ) . map ( function ( child ) {
6267
+ return child . text ;
6268
+ } ) . join ( "" ) ;
6269
+ }
6254
6270
module . exports = {
6255
6271
"names" : [ "MD051" , "link-fragments" ] ,
6256
6272
"description" : "Link fragments should be valid" ,
@@ -6329,8 +6345,8 @@ module.exports = {
6329
6345
var _loop = function _loop ( ) {
6330
6346
var definition = _step4 . value ;
6331
6347
var endColumn = definition . endColumn ,
6332
- startColumn = definition . startColumn ,
6333
- text = definition . text ;
6348
+ startColumn = definition . startColumn ;
6349
+ var text = unescapeStringTokenText ( definition ) ;
6334
6350
if ( text . length > 1 && text . startsWith ( "#" ) && ! fragments . has ( text ) && ! fragments . has ( "#" . concat ( encodeURIComponent ( text . slice ( 1 ) ) ) ) ) {
6335
6351
// eslint-disable-next-line no-undef-init
6336
6352
var context = undefined ;
0 commit comments