From 4ef4c5e674cf07afbd1d1606d091f38ca88f68dc Mon Sep 17 00:00:00 2001 From: Estevao Soares dos Santos Date: Tue, 5 Dec 2017 01:13:11 +0000 Subject: [PATCH 1/7] fix(tables): raw html inside code tags in tables no longer breaks tables Under certains conditions, raw html inside code tags in tables would break table parsing. This commit fixes that. Closes #471 --- dist/showdown.js | Bin 168233 -> 167671 bytes dist/showdown.js.map | Bin 417844 -> 416270 bytes dist/showdown.min.js | Bin 96677 -> 96432 bytes dist/showdown.min.js.map | Bin 73761 -> 73664 bytes src/subParsers/lists.js | 6 +++--- src/subParsers/tables.js | 19 +++--------------- ...s-not-rendered-correctly-inside-table.html | 14 +++++++++++++ ...-is-not-rendered-correctly-inside-table.md | 3 +++ 8 files changed, 23 insertions(+), 19 deletions(-) create mode 100644 test/features/tables/#471.ol-is-not-rendered-correctly-inside-table.html create mode 100644 test/features/tables/#471.ol-is-not-rendered-correctly-inside-table.md diff --git a/dist/showdown.js b/dist/showdown.js index 10d7a3be0c82ed85c3cda6afba90166f36dfc612..d5f0cd1455b2d5c8a12e57b61c3c29ad9f3fb4d6 100644 GIT binary patch delta 87 zcmZ3vi0k`Yt_c#X2Bx}(MvbzqvW#10nJNOOvjj7lZ9f^vWXlL*UH}os+gU@H@>I50 oS1<`NZl7Ao#Ky#!xP4YN(?721T-{76(>J#>&D-A6$+VOm0I$0oEdT%j delta 606 zcmaJ;ze^)Q6lMpGz*YxW7=*xsyJHhf{F&n5Omio~fsMw}W)k0;!ErV>Gn;HkBwTSP zSP2$esbFVgrEF^-^bhbKu@Zc{nBXBg#qj3M`@Z+_eGez@#kqTw|FHP2vas-{@VDSx z7g)3&yLDDgM(eERq~%?5UuS1ua?61nEQd0QBKFCdybgOT$CBeddvu3>sG3#;3R=9m zyDFkh-jKK&NEvi-`$un07z;(syIH>keHZ9-xCY6M{n_H$Kn=$Kvqp+07As4o@7bL2 zq4;91Rs)X|c`z7^;lmW4^+V~6>0v_nntQ$sL=Q9IZK*BgQSsLD{Y-*J8)`KfN_FkK zbXklnvBx*}P9eVf$4-Z-0ltVp7!x9Vu2z?3VTCFifFu_T1WNYErjAfMz^SLOp^@)G z1N}hLTnqQg&_z&)+bL>~tB^~=2xU;)|1k93*4RO1Nz2?ESY9FD4XD5pU%H`9))G&* wg$n%VJfP9bSd5K-kDRHmHVtcICn~>_UMX&moP2zHz&=jDopJK(fL-RE0EY|9wEzGB diff --git a/dist/showdown.js.map b/dist/showdown.js.map index 8e7bb06a62fcce7e6ccdeb1f803bc428151c6079..2697701878525e1757d1f3ab785b225f97cf5e54 100644 GIT binary patch delta 404 zcmZvUKS)AR6vnyt^se?o40?~Sq8!9%N((75Q;6z`QcfXmK_EmzHADtMfmAe@aKl4O zXjwG$$3VD?gt!$2wFQB+wOSCZU21hWhwuCN@hewtnX+vwP13XsSECs8Qw~jAPsn3A$<^sgN$rTd0bG zD`*uBKcpve-LhU*sD*k%qOc7MlrLW^+&-ZEufrjX?t_kR0jlzVL*bVgTKt{nDt8Wom0N3PSxD43{O>R#peob!QdlN#K9iKb<8ip z5YB!}d(TZPw&&pkXFerdvPxll22@^hn}zKZb_g8_?G}n4uSFD!N-BkmcIFY0UKS>Q z5%2q0QOL31DUPO?hnQ*?u7SZs5?6do7hltiQ8F)nLTtSa!zYRZ59ipqSdFoo=@-8f Bh+zN# delta 1263 zcmaJ;U1%d!6lU(tOq*M5x|l2`EqbLkY1uSQ_K&S?Y|=kVE&CG%SqR$6cAA8pon&Vw zO^bCKv7mykVK3x7xeZm9MO{g?Ft{k>#TS2I>y!H6ZV}c8!OcGTqSblnU6zXj+8w5Kgju+6%EkoECKJ>LC6`*pvPOElfe= zN5KQL!}#i+R07B`>;jh)i|}?7KQCz3ttkF%3}`<8j$mi%hXC*#qT4 zM645U;<5)u26)SfZPWolCu)Om6g#2xxzGX!-$C81c9bw$7U4t^5ywP4J^@cYjrOzJ ziz1sz5H@|Cu-YXN*1kecnEet-?1^iH#jd+|(B{MhVtvTLP7XPcKF-d!`tHjTC@-VO zAv})z+3b0)^zUYurg|V&M^4cmJBT|f!Vqs+IADD_9J&Cf<&lyVJ~Zp@aqke$_8>Y%|0>(8y(2U z8jldZTmq#Jc^_M#ahofJXWA=&BT~7GL}47Zzedr0;n8?JJQ}o}v1dHeghRlsC9v|B zAWHWL;C~cRIDQuqsJVEmsauP*!shGf090Q_ZY#frpA}GK8uq2oerTwC&m%qP0=P=p z3qfu_G~Pu{Mtvgqe-`|(_7a-3X#_gA1Q%2_F0^tSbv1YU#_4s;KZkXCUHqvC7rUf` zR@x^$Cp1I&tyB8I;^0&Mmf@VbJX}z%jZx{Su={s=OzK8f+oV)%gV67yb0s66IXjtM zd_hjB%4AMeb46utbZI7Qn6y`yi%qn&s7(%XNi zZ|EK|J5PHbAV#A!z~>3j<>d$KIeap}XAJB%pu3U}tA~S>H=qY-Aeq$o8{px?13>jx z(bKwvL#`l(;mRrLO7o)g*+rT)jDkYD4<9}hqT@U=b5!NGHE2##muN;_$ZBaSb4*iG zx+0&YDP=yVb6!R{7o>xu=Gw^SZL2Xr}GQzyLKvw!sF~ zawZqFTjaTgT&S2)G&+CZc$!*j$`~eWT@W9GR}&KP{r83-AC!FXZ9?k!ACeVMNZ+^o E1O2O|G5`Po diff --git a/dist/showdown.min.js b/dist/showdown.min.js index d92c2787f12bf26b06bb4073c2d6d159cd22d855..941713fa530af505dcd858e5b13203175e3ccd39 100644 GIT binary patch delta 1848 zcmZuyU2GIp6waYtY`3(u-EC8PPLrle1m)N zS&j*&%*D8nn)sKMBVKZ`a7`cQr2c3?mU%@kUEa|VqN*8;NmYtz@_sR^>O}bpfX+~b zM04b$5b5zP2?7sjiD*)=1XHl9w@TVHuM_gFo=sY+G9zV3h$O|dX`~g0*IBW2t>0fh z9fP{2PA-<^LRQEKad9rBgeWst#!Dk`ec#E}sgEkE)Y++2$nx?n3F z8iy_T!x-#Dz8hLm9)olE$~YXx*ccg>MqwJeHdYOND2>8gMT7wI8(}lvlBrUGry#l( z6Ndp?Lo)Z#`3T1(OLYpC(TCTP5G)6tg(p2Yn<7#!rQqRm`w^J(mM#Yx@MjGcywr*{ z_uF|Y?MV#|)$=O#%vUlMe(@+|u(uPs$}j0eWqfl6KF7Zwr*1ks1DmjW22N1-F7AR2 z<)v9@S~FIKovJEls)+O4gh4sE^;U=mO3YZHfx^P6zWIo-vpBI379G`gcq5@C8MU^% z%e0_B4?^pIv}1YbsdLQ+9el32g0xf}T}C2;U*;iPXUhiO$U`)-Jj7^{rQLB>prw+M zA=+7O+Toe7a{8Y%IgSYC-Xc1dHp^3jT6J2wDbP(~in**Ym!B4^H8NYqHnZyeH5<)A zg{7-uRNi*qy&9%ktcn|c-w7S5wCh9IxVy|zd+61#E#4%JP%*C#v1&djY`)fUITwH_ zD#cVxUn#{DtK1RNC{kjI{s_5hY=>XgPaNuYok(Grrvx0Kw0Qm8u1DO?7g?;6_1^9Xm RF3rKIdMB&ds2qn!{{h1kKmGs! delta 2149 zcmZuyU1%It6y~Jawn>^~lTFgrwl+IWwsX5Tv)L4Dn%zlVqWu9SX^XUFc2_r>+1*Je zGuxTjCM8))q4=PPm8eJYrBcO$AdMm`)Ccv!2bG`*rQ$>16v2m~cP8U_C#)&m@-iaHqsCk)BRYq-Uz^c8omg?Z7AYgS2cq7x`5MaxeG2FGZj;}@?Iep4(rSm?5XNl zC?sZzTQrTVF6%tXVuHEYU_4t7&uW7!@GQR64P(u#+>K-_KXt=5{>?S6@v{(&;oBkD zLn8Yt1ebiBwT;M#tR+vU!bjLh1Z@supyQR(u)T7J!<9xM)6MvK6!tebDrSZtf<+Gf z`1cTfu18@9p|1@=FFuM=`Y)V=ZIyS2U}?*ySVCF6(7FTv9D$RE9V)dG*Vp5A*s2OV zo>47*w)d2te`c;IOX=SEL4L3-$EC2YIe0k+-Ipy@sx4DtDVdzq(xa&ZqY}5t9I3*{ zJ}SiqqCr)aJ@tfA&`r{|;^=vOPH1IrJV!OnFcxF;B5QXYBlz_aRYlDa#$()A-*oh% znaLu55;}aY7EN&+AAwgCZgHDS#*9P)&&dW=OKh@9N6(y(krb&UO4hcr8BaD?c`?x+ zsGN^OV+%O=*l{>o`Q#W3Z>iRWIQ?e=-f8fv<6eAu0&)$R>LQ4*jlEuGYosZ^MyWVZUNmaQM}orEpeH4ZyEEv_@3SMx-Gh+mg8*f{~``n`>IXQRR9 zRQ!Fgt3uAAo11t(tV&qZ0~`cmE~!=DP4}>y*^-_dlhd6qy}7Y z;OFF8AF`-hRVzppp!}-Elcl6Zl@NlmNM}~uUe}q$A}fMQE<_YhcRktGtQ4b`Ax4!x z_^SZ`3WT-Y?r-@eI zB&kytsa;m1v=z5tX}>hRfR1^rS5b|K!`0ds+2y@*8c3sE?MZc*x;eA zm04_l^^#ACm!d$$DbzQw0ux7EHpz!ppr>c5=Gv22EaaWcELN=9r&xI3#-9s7e3; diff --git a/dist/showdown.min.js.map b/dist/showdown.min.js.map index 6e938d8481d204c08603caf313ed3670556414d7..b4e6a8d163a481060c33158f778903b9e25c1e96 100644 GIT binary patch delta 24500 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 delta 24395 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 diff --git a/src/subParsers/lists.js b/src/subParsers/lists.js index 96d08f9..d9556ff 100644 --- a/src/subParsers/lists.js +++ b/src/subParsers/lists.js @@ -154,7 +154,7 @@ showdown.subParser('lists', function (text, options, globals) { style = styleStartNumber(list, listType); if (pos !== -1) { // slice - result += '\n<' + listType + style + '>\n' + processListItems(txt.slice(0, pos), !!trimTrailing) + '\n'; + result += '\n\n<' + listType + style + '>\n' + processListItems(txt.slice(0, pos), !!trimTrailing) + '\n'; // invert counterType and listType listType = (listType === 'ul') ? 'ol' : 'ul'; @@ -163,12 +163,12 @@ showdown.subParser('lists', function (text, options, globals) { //recurse parseCL(txt.slice(pos)); } else { - result += '\n<' + listType + style + '>\n' + processListItems(txt, !!trimTrailing) + '\n'; + result += '\n\n<' + listType + style + '>\n' + processListItems(txt, !!trimTrailing) + '\n'; } })(list); } else { var style = styleStartNumber(list, listType); - result = '\n<' + listType + style + '>\n' + processListItems(list, !!trimTrailing) + '\n'; + result = '\n\n<' + listType + style + '>\n' + processListItems(list, !!trimTrailing) + '\n'; } return result; diff --git a/src/subParsers/tables.js b/src/subParsers/tables.js index 77851f5..ff79830 100644 --- a/src/subParsers/tables.js +++ b/src/subParsers/tables.js @@ -5,9 +5,9 @@ showdown.subParser('tables', function (text, options, globals) { return text; } - var tableRgx = /^ {0,3}\|?.+\|.+\n {0,3}\|?[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:[-=]){2,}[\s\S]+?(?:\n\n| + + + h1 + h2 + + + + + asdf + one two <ol> three + + + \ No newline at end of file diff --git a/test/features/tables/#471.ol-is-not-rendered-correctly-inside-table.md b/test/features/tables/#471.ol-is-not-rendered-correctly-inside-table.md new file mode 100644 index 0000000..23be2f1 --- /dev/null +++ b/test/features/tables/#471.ol-is-not-rendered-correctly-inside-table.md @@ -0,0 +1,3 @@ +| h1 | h2 | +|--------:|:---------------------| +| asdf | one `two
    three` | From 512eab62e83f44902e68c56a67f0c11d7997a409 Mon Sep 17 00:00:00 2001 From: Estevao Soares dos Santos Date: Tue, 5 Dec 2017 01:17:04 +0000 Subject: [PATCH 2/7] release 1.8.4 --- CHANGELOG.md | 10 ++++++++++ dist/showdown.js | Bin 167671 -> 167671 bytes dist/showdown.min.js | Bin 96432 -> 96432 bytes package.json | 2 +- performance.json | 2 +- performance.log.md | 41 +++++++++++++++++++++++++++++++++++++++++ 6 files changed, 53 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f356c61..f12e876 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ + +## [1.8.4](https://github.com/showdownjs/showdown/compare/1.8.3...1.8.4) (2017-12-05) + + +### Bug Fixes + +* **tables:** raw html inside code tags in tables no longer breaks tables ([4ef4c5e](https://github.com/showdownjs/showdown/commit/4ef4c5e)), closes [#471](https://github.com/showdownjs/showdown/issues/471) + + + ## [1.8.3](https://github.com/showdownjs/showdown/compare/1.8.2...1.8.3) (2017-11-28) diff --git a/dist/showdown.js b/dist/showdown.js index d5f0cd1455b2d5c8a12e57b61c3c29ad9f3fb4d6..f2b9ff7af6faa3b68cb28d43df9b0e6414355fea 100644 GIT binary patch delta 20 ccmex9m+Sjnt_dQHCXJ%4qKsQbnI82409J7ag8%>k delta 20 ccmex9m+Sjnt_dQH#*Lz_qKsQbnI82409IxPf&c&j diff --git a/dist/showdown.min.js b/dist/showdown.min.js index 941713fa530af505dcd858e5b13203175e3ccd39..f7e47ff32944415966b1de0de588049cf3762ff3 100644 GIT binary patch delta 34 pcmdn+k#)mIRuO$IMTO#w{PL9i@;rqy1w%axJ(EU}ts;zbDgfKm3zh%? delta 34 pcmdn+k#)mIRuO$IMTO#w{PL9i@;rqy1w%axJ>y1^ts;zbDgfKe3zYx> diff --git a/package.json b/package.json index f712c16..3cc4c04 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "showdown", - "version": "1.8.3", + "version": "1.8.4", "description": "A Markdown to HTML converter written in Javascript", "author": "Estevão Santos", "homepage": "http://showdownjs.github.io/showdown/", diff --git a/performance.json b/performance.json index aff5181..3866620 100644 --- a/performance.json +++ b/performance.json @@ -1 +1 @@ -{"1.8.3":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.9269011799999908,"maxTime":32.65378700000008,"minTime":0.14705900000001293},{"name":"performance.testfile.md","time":32.484542280000035,"maxTime":62.282010000000014,"minTime":28.40262900000016}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":5.454346750000013,"maxTime":18.356191000000308,"minTime":2.3848909999996977},{"name":"anchors","time":0.504325800000015,"maxTime":3.1102430000000822,"minTime":0.2902009999997972},{"name":"autoLinks","time":0.11421199999999772,"maxTime":0.28417399999989357,"minTime":0.06931099999974322},{"name":"blockQuotes","time":2.268720650000046,"maxTime":3.373623999999836,"minTime":1.996752000000015},{"name":"codeBlocks","time":0.2502117500000395,"maxTime":0.8398649999999179,"minTime":0.19196000000010827},{"name":"codeSpans","time":0.3517671000000064,"maxTime":1.230717999999797,"minTime":0.2486149999999725},{"name":"detab","time":0.11473945000000185,"maxTime":0.17900200000030964,"minTime":0.08739199999990888},{"name":"encodeAmpsAndAngles","time":0.10544264999996358,"maxTime":0.16212700000005498,"minTime":0.09462399999983973},{"name":"encodeBackslashEscapes","time":0.10833570000006602,"maxTime":0.2347530000001825,"minTime":0.07503700000006575},{"name":"encodeCode","time":0.9939308499999925,"maxTime":1.9153870000000097,"minTime":0.8467970000001515},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.23689210000002275,"maxTime":0.4746280000003935,"minTime":0.1600180000000364},{"name":"githubCodeBlocks","time":0.2020106000000169,"maxTime":0.7714579999997113,"minTime":0.15127899999970396},{"name":"hashBlock","time":0.07104355000003579,"maxTime":0.4927090000001044,"minTime":0.03917600000022503},{"name":"hashElement","time":0.0024862499999926515,"maxTime":0.036463999999796215,"minTime":0.0006019999996169645},{"name":"hashHTMLSpans","time":4.161957949999987,"maxTime":4.708306999999877,"minTime":3.9594499999998334},{"name":"hashPreCodeTags","time":0.1303646000000299,"maxTime":0.3314860000000408,"minTime":0.11240400000042428},{"name":"headers","time":1.4091020500000013,"maxTime":4.621517999999924,"minTime":1.043880000000172},{"name":"horizontalRule","time":0.3509834499999897,"maxTime":2.6549019999997654,"minTime":0.19617999999991298},{"name":"images","time":0.19913270000001831,"maxTime":0.5445410000002084,"minTime":0.1307859999997163},{"name":"italicsAndBold","time":0.268699450000031,"maxTime":0.35710100000005696,"minTime":0.23475200000029872},{"name":"lists","time":3.0566478999999847,"maxTime":4.403038999999808,"minTime":2.6856400000001486},{"name":"outdent","time":0.15278490000002876,"maxTime":0.3073779999999715,"minTime":0.13621100000000297},{"name":"paragraphs","time":6.455042899999944,"maxTime":7.90051799999992,"minTime":5.708189999999831},{"name":"spanGamut","time":4.255919250000034,"maxTime":5.54154299999982,"minTime":3.929916999999932},{"name":"strikethrough","time":0.005107850000035797,"maxTime":0.08889899999985573,"minTime":0.0003010000000358559},{"name":"stripLinkDefinitions","time":0.24843364999996992,"maxTime":0.3935639999999694,"minTime":0.22480699999960052},{"name":"tables","time":0.0021395500000380707,"maxTime":0.028025000000070577,"minTime":0.0006020000000717118},{"name":"unescapeSpecialChars","time":0.008935100000007879,"maxTime":0.03887399999985064,"minTime":0.006930999999894993}]}],"1.8.2":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.36118707999999744,"maxTime":8.97694100000001,"minTime":0.10366399999998066},{"name":"performance.testfile.md","time":33.109353200000044,"maxTime":56.477973000000134,"minTime":29.178900000000112}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":5.488247100000035,"maxTime":20.713954999999714,"minTime":2.3207030000003215},{"name":"anchors","time":0.5058775499999456,"maxTime":3.1581569999998464,"minTime":0.29200900000023466},{"name":"autoLinks","time":0.14073085000002267,"maxTime":0.36463400000002366,"minTime":0.07232500000009168},{"name":"blockQuotes","time":2.3000001499999825,"maxTime":3.6421259999997346,"minTime":2.046473999999762},{"name":"codeBlocks","time":0.24317504999999073,"maxTime":0.8772320000002765,"minTime":0.18924799999967945},{"name":"codeSpans","time":0.26844330000001265,"maxTime":1.1755699999998797,"minTime":0.1594150000000809},{"name":"detab","time":0.0950761500000226,"maxTime":0.17207199999984368,"minTime":0.0891990000000078},{"name":"encodeAmpsAndAngles","time":0.10803434999995716,"maxTime":0.22993099999985134,"minTime":0.09733700000015233},{"name":"encodeBackslashEscapes","time":0.07844164999999066,"maxTime":0.11903299999994488,"minTime":0.07413300000007439},{"name":"encodeCode","time":1.0021724500000346,"maxTime":1.5441220000002431,"minTime":0.850713999999698},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.25580170000000635,"maxTime":0.5656359999998131,"minTime":0.16363400000000183},{"name":"githubCodeBlocks","time":0.2531047000000399,"maxTime":0.9986770000000433,"minTime":0.15248300000030213},{"name":"hashBlock","time":0.04166155000000345,"maxTime":0.08015899999963949,"minTime":0.037066000000322674},{"name":"hashElement","time":0.002244949999999335,"maxTime":0.0322439999999915,"minTime":0.00030099999958110857},{"name":"hashHTMLSpans","time":4.444473249999987,"maxTime":5.282380000000103,"minTime":3.9871729999999843},{"name":"hashPreCodeTags","time":0.15179035000001023,"maxTime":0.2648869999998169,"minTime":0.11722499999996217},{"name":"headers","time":1.4647912000000134,"maxTime":4.970481000000291,"minTime":1.0589469999999892},{"name":"horizontalRule","time":0.24510365000001003,"maxTime":0.5623199999999997,"minTime":0.20461699999987104},{"name":"images","time":0.31239540000003674,"maxTime":2.6151230000000396,"minTime":0.1310880000000907},{"name":"italicsAndBold","time":0.287217499999997,"maxTime":0.42671299999983603,"minTime":0.24379300000009607},{"name":"lists","time":3.260661600000026,"maxTime":4.098372000000381,"minTime":2.7923170000003665},{"name":"outdent","time":0.17895719999999074,"maxTime":0.37729099999978644,"minTime":0.1410319999999956},{"name":"paragraphs","time":6.661300749999964,"maxTime":9.04655300000013,"minTime":5.883574999999837},{"name":"spanGamut","time":4.560794749999991,"maxTime":6.1731730000001335,"minTime":4.0085690000000795},{"name":"strikethrough","time":0.005469599999855745,"maxTime":0.09703499999977794,"minTime":0.00030099999958110857},{"name":"stripLinkDefinitions","time":0.25079934999998843,"maxTime":0.4017010000002301,"minTime":0.21576699999968696},{"name":"tables","time":0.005861300000015035,"maxTime":0.08618700000033641,"minTime":0.001205000000027212},{"name":"unescapeSpecialChars","time":0.013244550000035816,"maxTime":0.06358499999987544,"minTime":0.007835999999770138}]}],"1.8.0":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.3569385800000009,"maxTime":9.000459999999975,"minTime":0.09070699999995213},{"name":"performance.testfile.md","time":31.433715060000004,"maxTime":57.438766999999984,"minTime":26.734683000000132}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":4.177346950000015,"maxTime":7.660953999999947,"minTime":2.346321999999873},{"name":"anchors","time":0.541678950000005,"maxTime":3.749413000000004,"minTime":0.30014600000004066},{"name":"autoLinks","time":0.08653315000001385,"maxTime":0.18322200000011435,"minTime":0.06931100000019796},{"name":"blockQuotes","time":2.048646549999944,"maxTime":3.5523299999999836,"minTime":1.8153400000001056},{"name":"codeBlocks","time":0.26372769999998125,"maxTime":1.1626129999999648,"minTime":0.18472799999972267},{"name":"codeSpans","time":0.27142715000002227,"maxTime":0.7904450000000907,"minTime":0.16303100000004633},{"name":"detab","time":0.09152044999998452,"maxTime":0.11963699999978417,"minTime":0.08648700000003373},{"name":"encodeAmpsAndAngles","time":0.10590985000001182,"maxTime":0.14615600000024642,"minTime":0.09703500000023269},{"name":"encodeBackslashEscapes","time":0.09130940000002283,"maxTime":0.15218199999981152,"minTime":0.07684500000004846},{"name":"encodeCode","time":0.961777750000033,"maxTime":1.551958999999897,"minTime":0.8615639999998166},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.23877579999996215,"maxTime":0.48698400000012043,"minTime":0.17297599999983504},{"name":"githubCodeBlocks","time":0.22202060000001894,"maxTime":0.9139990000003309,"minTime":0.1404299999999239},{"name":"hashBlock","time":0.0631934499999943,"maxTime":0.402002999999695,"minTime":0.035257999999885214},{"name":"hashElement","time":0.0014766499999950612,"maxTime":0.02531300000009651,"minTime":0},{"name":"hashHTMLSpans","time":4.30338740000002,"maxTime":4.888522000000194,"minTime":4.0212320000000545},{"name":"hashPreCodeTags","time":0.16443229999997583,"maxTime":0.5409259999996721,"minTime":0.11029499999995096},{"name":"headers","time":1.1587860999999975,"maxTime":3.7789459999999053,"minTime":0.9682419999999183},{"name":"horizontalRule","time":0.2442149499999914,"maxTime":0.4185769999999138,"minTime":0.1940709999998944},{"name":"images","time":0.32417875000003277,"maxTime":3.0575109999999768,"minTime":0.13319700000010926},{"name":"italicsAndBold","time":0.28938759999996366,"maxTime":0.41917899999998554,"minTime":0.23656099999971048},{"name":"lists","time":2.6713588999999955,"maxTime":3.1388750000000982,"minTime":2.4942840000003343},{"name":"outdent","time":0.15887245000001257,"maxTime":0.2525319999999738,"minTime":0.13862199999994118},{"name":"paragraphs","time":5.593502349999949,"maxTime":6.832538999999997,"minTime":5.159435999999914},{"name":"spanGamut","time":5.069422249999979,"maxTime":9.599546000000373,"minTime":4.127910000000156},{"name":"strikethrough","time":0.003405200000020159,"maxTime":0.062079000000267115,"minTime":0},{"name":"stripLinkDefinitions","time":0.2712614000000258,"maxTime":0.4004960000002029,"minTime":0.22480799999993906},{"name":"tables","time":0.0018532499999764696,"maxTime":0.03103899999996429,"minTime":0},{"name":"unescapeSpecialChars","time":0.008362499999998363,"maxTime":0.03797099999974307,"minTime":0.006628999999975349}]}],"1.7.6":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.3132123199999978,"maxTime":6.2674990000000435,"minTime":0.09161100000005717},{"name":"performance.testfile.md","time":30.962222960000013,"maxTime":54.58250999999996,"minTime":26.38147600000002}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":4.098720800000001,"maxTime":7.07210699999996,"minTime":2.3604820000000473},{"name":"anchors","time":0.573802499999988,"maxTime":4.501581999999871,"minTime":0.2944200000001729},{"name":"autoLinks","time":0.08704519999992044,"maxTime":0.21034299999973882,"minTime":0.06629800000018804},{"name":"blockQuotes","time":2.176025850000019,"maxTime":4.601932000000033,"minTime":1.8228730000000724},{"name":"codeBlocks","time":0.2823659499999621,"maxTime":0.8853699999999662,"minTime":0.19256300000006377},{"name":"codeSpans","time":0.26464649999998074,"maxTime":0.7636240000001635,"minTime":0.16604400000005626},{"name":"detab","time":0.10188689999999952,"maxTime":0.15459400000008827,"minTime":0.09070699999983844},{"name":"encodeAmpsAndAngles","time":0.1072658999999021,"maxTime":0.17538599999988946,"minTime":0.09823999999980515},{"name":"encodeBackslashEscapes","time":0.1198171499999944,"maxTime":0.8715069999998377,"minTime":0.07292699999970864},{"name":"encodeCode","time":0.982675499999982,"maxTime":1.8424599999998463,"minTime":0.8727119999998649},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.3008235499999728,"maxTime":0.3890440000000126,"minTime":0.2772429999999986},{"name":"githubCodeBlocks","time":0.20439130000002023,"maxTime":0.8889859999999317,"minTime":0.1461549999999079},{"name":"hashBlock","time":0.06328369999998813,"maxTime":0.4149600000000646,"minTime":0.034957000000304106},{"name":"hashElement","time":0.0017929999999978462,"maxTime":0.031942999999955646,"minTime":0},{"name":"hashHTMLSpans","time":4.130528449999997,"maxTime":4.411176999999952,"minTime":3.987779000000046},{"name":"hashPreCodeTags","time":0.26229599999996933,"maxTime":2.428888999999799,"minTime":0.10848600000008446},{"name":"headers","time":1.263836200000037,"maxTime":4.308414999999968,"minTime":0.9534750000002532},{"name":"horizontalRule","time":0.2299157000000605,"maxTime":0.33088400000042384,"minTime":0.19376899999997477},{"name":"images","time":0.18361319999996795,"maxTime":0.5638280000002851,"minTime":0.13379999999961},{"name":"italicsAndBold","time":0.31194355000000085,"maxTime":0.8284139999996114,"minTime":0.25132699999994657},{"name":"lists","time":2.641733750000003,"maxTime":3.2741790000000037,"minTime":2.4511889999998857},{"name":"outdent","time":0.1594599499999731,"maxTime":0.2401769999996759,"minTime":0.14404600000034407},{"name":"paragraphs","time":6.723880100000019,"maxTime":12.671812000000045,"minTime":5.367362999999841},{"name":"spanGamut","time":4.990629550000063,"maxTime":9.206274000000121,"minTime":4.172807000000375},{"name":"strikethrough","time":0.0031943499999670167,"maxTime":0.0581609999999273,"minTime":0},{"name":"stripLinkDefinitions","time":0.245947799999999,"maxTime":0.38994800000000396,"minTime":0.21908299999995506},{"name":"tables","time":0.0024710999999797423,"maxTime":0.043695999999727064,"minTime":0},{"name":"unescapeSpecialChars","time":0.010472100000015416,"maxTime":0.05092800000011266,"minTime":0.006930999999894993}]}],"1.7.5":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.5624536399999989,"maxTime":14.434112000000027,"minTime":0.1175269999999955},{"name":"performance.testfile.md","time":30.396062639999997,"maxTime":57.88561900000002,"minTime":26.627980999999863}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":4.279682000000003,"maxTime":8.3917220000003,"minTime":2.3574690000000373},{"name":"anchors","time":0.6018129999999928,"maxTime":5.340845000000172,"minTime":0.2853789999999208},{"name":"autoLinks","time":0.09221340000001418,"maxTime":0.19316600000001927,"minTime":0.06478999999990265},{"name":"blockQuotes","time":2.0676297999999633,"maxTime":4.429558999999699,"minTime":1.7363850000001548},{"name":"codeBlocks","time":0.2791716500000575,"maxTime":0.9365990000001148,"minTime":0.18141300000024785},{"name":"codeSpans","time":0.22182445000000825,"maxTime":0.5915520000003198,"minTime":0.1576060000002144},{"name":"detab","time":0.12001294999997754,"maxTime":0.14494999999988067,"minTime":0.09130899999991016},{"name":"encodeAmpsAndAngles","time":0.1162462000000005,"maxTime":0.22179400000004534,"minTime":0.09643299999970623},{"name":"encodeBackslashEscapes","time":0.13970635000002857,"maxTime":0.9139979999999923,"minTime":0.07111899999972593},{"name":"encodeCode","time":1.1949925000000348,"maxTime":2.009107000000313,"minTime":0.8612610000000132},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.30746834999999917,"maxTime":0.46829899999966074,"minTime":0.2691060000001926},{"name":"githubCodeBlocks","time":0.19697799999999005,"maxTime":0.8374539999999797,"minTime":0.14404599999988932},{"name":"hashBlock","time":0.059848400000032595,"maxTime":0.4420820000000276,"minTime":0.03616199999987657},{"name":"hashElement","time":0.00222985000002609,"maxTime":0.0406820000002881,"minTime":0},{"name":"hashHTMLSpans","time":4.289491099999987,"maxTime":4.712226999999984,"minTime":4.001941999999872},{"name":"hashPreCodeTags","time":0.28119055000001936,"maxTime":2.4391359999999622,"minTime":0.10758299999997689},{"name":"headers","time":1.2212554000000182,"maxTime":4.602836000000025,"minTime":0.9082720000001245},{"name":"horizontalRule","time":0.20826354999994692,"maxTime":0.3522789999997258,"minTime":0.19316600000001927},{"name":"images","time":0.1816696500000262,"maxTime":0.6337419999999838,"minTime":0.12807400000019697},{"name":"italicsAndBold","time":0.33532845000006545,"maxTime":1.2762219999999616,"minTime":0.23897100000021965},{"name":"lists","time":3.142624149999983,"maxTime":6.410941999999977,"minTime":2.3930279999999584},{"name":"outdent","time":0.3979791999999634,"maxTime":0.5846209999999701,"minTime":0.15851100000008955},{"name":"paragraphs","time":5.925721800000019,"maxTime":11.595988000000034,"minTime":4.961444000000029},{"name":"spanGamut","time":4.442833449999966,"maxTime":6.011651999999685,"minTime":4.023940000000039},{"name":"strikethrough","time":0.00299849999998969,"maxTime":0.054544999999961874,"minTime":0},{"name":"stripLinkDefinitions","time":0.24257244999998875,"maxTime":0.42400099999986196,"minTime":0.21486400000003414},{"name":"tables","time":0.0026519000000007507,"maxTime":0.04851700000017445,"minTime":0},{"name":"unescapeSpecialChars","time":0.00845289999997476,"maxTime":0.04098400000020774,"minTime":0.006327999999939493}]}],"1.7.4":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.9721513400000095,"maxTime":25.185683999999924,"minTime":0.16001700000003893},{"name":"performance.testfile.md","time":30.397026539999985,"maxTime":61.91279899999995,"minTime":26.54959800000006}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":3.9990743000000064,"maxTime":6.602594000000408,"minTime":2.3143739999995887},{"name":"anchors","time":0.5273032499999545,"maxTime":3.822632999999769,"minTime":0.2850779999998849},{"name":"autoLinks","time":0.08963684999998804,"maxTime":0.18834400000014284,"minTime":0.06328400000029433},{"name":"blockQuotes","time":2.05724574999997,"maxTime":4.121875000000273,"minTime":1.7803800000001502},{"name":"codeBlocks","time":0.24737865000001874,"maxTime":1.0845610000001216,"minTime":0.18623500000012427},{"name":"codeSpans","time":0.26315439999996215,"maxTime":1.0170579999999063,"minTime":0.16182500000013533},{"name":"detab","time":0.1229059499999721,"maxTime":0.1579079999996793,"minTime":0.0970340000003489},{"name":"encodeAmpsAndAngles","time":0.11849099999999453,"maxTime":0.17116699999996854,"minTime":0.09613099999978658},{"name":"encodeBackslashEscapes","time":0.07934549999995397,"maxTime":0.14645599999994374,"minTime":0.07111799999984214},{"name":"encodeCode","time":0.9450961000000007,"maxTime":1.4528110000001107,"minTime":0.8663830000000416},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.2850024500000245,"maxTime":0.4384650000001784,"minTime":0.245600000000195},{"name":"githubCodeBlocks","time":0.22539534999998523,"maxTime":0.9688430000001063,"minTime":0.1416349999999511},{"name":"hashBlock","time":0.06790930000001935,"maxTime":0.5767860000000837,"minTime":0.03555899999992107},{"name":"hashElement","time":0.0022601500000064335,"maxTime":0.04068300000017189,"minTime":0},{"name":"hashHTMLSpans","time":4.125777100000005,"maxTime":4.527794000000085,"minTime":3.95040599999993},{"name":"hashPreCodeTags","time":0.14892740000002505,"maxTime":0.5373079999999391,"minTime":0.10969100000011167},{"name":"headers","time":1.1714858000000277,"maxTime":3.876875999999811,"minTime":0.8841630000001715},{"name":"horizontalRule","time":0.3806509500000175,"maxTime":3.456793000000289,"minTime":0.1967819999999847},{"name":"images","time":0.19467249999997877,"maxTime":0.6180699999999888,"minTime":0.132593999999699},{"name":"italicsAndBold","time":0.2980658500000118,"maxTime":0.5623199999999997,"minTime":0.24499800000012328},{"name":"lists","time":3.7902082000000066,"maxTime":6.13881500000025,"minTime":2.612108000000262},{"name":"outdent","time":0.16693305000001146,"maxTime":0.2763379999996687,"minTime":0.13892200000009325},{"name":"paragraphs","time":5.349426699999981,"maxTime":6.076133999999911,"minTime":4.8972499999999854},{"name":"spanGamut","time":4.370021999999949,"maxTime":6.111091000000215,"minTime":3.9455849999999373},{"name":"strikethrough","time":0.002681949999941935,"maxTime":0.048215999999683845,"minTime":0},{"name":"stripLinkDefinitions","time":0.2550632000000178,"maxTime":0.400796000000355,"minTime":0.21817700000019613},{"name":"tables","time":0.001913599999966209,"maxTime":0.03284799999983079,"minTime":0},{"name":"unescapeSpecialChars","time":0.008859800000004725,"maxTime":0.04008000000021639,"minTime":0.006630000000313885}]}],"1.7.3":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.2769780200000014,"maxTime":5.742551000000049,"minTime":0.08799399999998059},{"name":"performance.testfile.md","time":30.73344694000001,"maxTime":54.768493000000035,"minTime":26.97154599999999}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":4.315576899999996,"maxTime":8.270586999999978,"minTime":2.3387870000001385},{"name":"anchors","time":0.5248635000000377,"maxTime":3.812093999999888,"minTime":0.28809199999977864},{"name":"autoLinks","time":0.0845591499999955,"maxTime":0.21998700000040117,"minTime":0.06268099999988408},{"name":"blockQuotes","time":2.032795400000032,"maxTime":3.6222429999997985,"minTime":1.7451259999998001},{"name":"codeBlocks","time":0.25076970000002347,"maxTime":1.059552000000167,"minTime":0.17809899999974732},{"name":"codeSpans","time":0.24638479999996435,"maxTime":0.7494609999998829,"minTime":0.1570040000001427},{"name":"detab","time":0.1421171499999673,"maxTime":0.7524739999998928,"minTime":0.08739100000002509},{"name":"encodeAmpsAndAngles","time":0.10028979999999592,"maxTime":0.12927999999965323,"minTime":0.09492600000021412},{"name":"encodeBackslashEscapes","time":0.07875814999997602,"maxTime":0.1247600000001512,"minTime":0.06991299999981493},{"name":"encodeCode","time":0.9767702500000042,"maxTime":1.773754000000281,"minTime":0.8516189999995731},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.27073390000000475,"maxTime":0.4414790000000721,"minTime":0.24409500000001572},{"name":"githubCodeBlocks","time":0.23499365000002398,"maxTime":0.9848159999996824,"minTime":0.1392240000000129},{"name":"hashBlock","time":0.0681052000000136,"maxTime":0.5496650000000045,"minTime":0.03616199999987657},{"name":"hashElement","time":0.001687549999996918,"maxTime":0.029532000000017433,"minTime":0},{"name":"hashHTMLSpans","time":4.197401899999977,"maxTime":4.563965999999709,"minTime":4.005560999999943},{"name":"hashPreCodeTags","time":0.13869685000001936,"maxTime":0.5433360000001812,"minTime":0.10577400000011039},{"name":"headers","time":1.148419750000039,"maxTime":4.214097000000038,"minTime":0.8796440000000985},{"name":"horizontalRule","time":0.21377854999998364,"maxTime":0.27302400000007765,"minTime":0.1985909999998512},{"name":"images","time":0.3095482500000116,"maxTime":3.095480999999836,"minTime":0.11993800000027477},{"name":"italicsAndBold","time":0.2785843000000341,"maxTime":0.3778940000001967,"minTime":0.23505399999976362},{"name":"lists","time":3.8429223499999354,"maxTime":8.277819999999792,"minTime":2.629892999999811},{"name":"outdent","time":0.19257850000001325,"maxTime":0.3863329999999223,"minTime":0.14404500000000553},{"name":"paragraphs","time":5.540976899999987,"maxTime":8.153060000000096,"minTime":4.83608600000025},{"name":"spanGamut","time":4.637932300000012,"maxTime":5.775095999999849,"minTime":4.142072999999982},{"name":"strikethrough","time":0.0028779499999927794,"maxTime":0.051530999999613414,"minTime":0},{"name":"stripLinkDefinitions","time":0.16675279999994927,"maxTime":0.27483299999994415,"minTime":0.1416349999999511},{"name":"tables","time":0.0021245000000135405,"maxTime":0.03646299999991243,"minTime":0},{"name":"unescapeSpecialChars","time":0.009130949999985205,"maxTime":0.031942999999955646,"minTime":0.00783499999988635}]}],"1.7.2":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.2924792600000001,"maxTime":5.779913000000079,"minTime":0.0870909999999867},{"name":"performance.testfile.md","time":30.395544379999997,"maxTime":53.85987,"minTime":26.054209000000128}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":4.303097000000003,"maxTime":7.7980609999999615,"minTime":2.377357999999731},{"name":"anchors","time":0.3474425999999994,"maxTime":0.6473019999998542,"minTime":0.28688599999986764},{"name":"autoLinks","time":0.08811514999999873,"maxTime":0.16544199999998455,"minTime":0.06328399999983958},{"name":"blockQuotes","time":2.1012153500000297,"maxTime":5.12055700000019,"minTime":1.7381930000001375},{"name":"codeBlocks","time":0.23850445000000492,"maxTime":0.8784390000000712,"minTime":0.18412599999965096},{"name":"codeSpans","time":0.2522458500000312,"maxTime":0.6283170000001519,"minTime":0.16031900000007226},{"name":"detab","time":0.09415714999997818,"maxTime":0.12867700000015247,"minTime":0.08769299999994473},{"name":"encodeAmpsAndAngles","time":0.1305904000000055,"maxTime":0.7331880000001547,"minTime":0.09251499999982116},{"name":"encodeBackslashEscapes","time":0.07973749999998744,"maxTime":0.1157189999998991,"minTime":0.07021500000018932},{"name":"encodeCode","time":0.9388443000000052,"maxTime":1.4799349999998412,"minTime":0.8573440000000119},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.28453565000002073,"maxTime":0.4731209999999919,"minTime":0.24349200000006022},{"name":"githubCodeBlocks","time":0.2144414500000039,"maxTime":1.046893000000182,"minTime":0.13952599999993254},{"name":"hashBlock","time":0.06795475000005809,"maxTime":0.5532809999999699,"minTime":0.03616200000033132},{"name":"hashElement","time":0.0016724999999723877,"maxTime":0.029833999999937078,"minTime":0},{"name":"hashHTMLSpans","time":4.323498449999988,"maxTime":6.161724999999933,"minTime":4.0037499999998545},{"name":"hashPreCodeTags","time":0.1474811499999987,"maxTime":0.5584039999998822,"minTime":0.1087880000000041},{"name":"headers","time":1.1759319999999889,"maxTime":4.491336000000047,"minTime":0.8841640000000552},{"name":"horizontalRule","time":0.21614389999997458,"maxTime":0.2636819999997897,"minTime":0.19316600000001927},{"name":"images","time":0.15570804999995289,"maxTime":0.5587049999999181,"minTime":0.11782799999991767},{"name":"italicsAndBold","time":0.3219485000000077,"maxTime":1.012539999999717,"minTime":0.2365599999998267},{"name":"lists","time":2.753399100000024,"maxTime":5.612964000000375,"minTime":2.3276349999996455},{"name":"outdent","time":0.16286519999998744,"maxTime":0.2323420000002443,"minTime":0.1398269999999684},{"name":"paragraphs","time":5.108954950000021,"maxTime":6.168355000000247,"minTime":4.741155999999592},{"name":"spanGamut","time":4.422869150000042,"maxTime":6.14906800000017,"minTime":4.000737000000299},{"name":"strikethrough","time":0.0028779999999869687,"maxTime":0.051230000000032305,"minTime":0},{"name":"stripLinkDefinitions","time":0.1603637499999877,"maxTime":0.2257119999999304,"minTime":0.14193599999998696},{"name":"tables","time":0.002470999999968626,"maxTime":0.04339399999980742,"minTime":0},{"name":"unescapeSpecialChars","time":0.011074649999977737,"maxTime":0.04640800000015588,"minTime":0.006628999999975349}]}],"1.7.1":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":1.0738219599999979,"maxTime":20.566299000000072,"minTime":0.3242529999999988},{"name":"performance.testfile.md","time":30.4629232,"maxTime":82.115725,"minTime":26.02165500000001}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":4.232850950000011,"maxTime":9.06222600000001,"minTime":2.35927700000002},{"name":"anchors","time":0.35050129999999624,"maxTime":0.7627189999998336,"minTime":0.28568100000029517},{"name":"autoLinks","time":0.08923019999999723,"maxTime":0.19015300000000934,"minTime":0.06509199999982229},{"name":"blockQuotes","time":2.073701349999965,"maxTime":4.988563999999769,"minTime":1.7291510000000017},{"name":"codeBlocks","time":0.2560277500000211,"maxTime":0.9369000000001506,"minTime":0.1790019999998549},{"name":"codeSpans","time":0.24160820000001876,"maxTime":0.8386599999998907,"minTime":0.1576060000002144},{"name":"detab","time":0.09915939999998499,"maxTime":0.16815399999995861,"minTime":0.08618599999999788},{"name":"encodeAmpsAndAngles","time":0.13123839999998382,"maxTime":0.646096999999827,"minTime":0.09311699999989287},{"name":"encodeBackslashEscapes","time":0.07607604999996057,"maxTime":0.1404299999999239,"minTime":0.07021399999985078},{"name":"encodeCode","time":0.9938553500000807,"maxTime":1.7056470000002264,"minTime":0.8648769999999786},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.26711740000000644,"maxTime":0.37518199999976787,"minTime":0.24951800000008006},{"name":"githubCodeBlocks","time":0.19164420000001883,"maxTime":0.9664330000000518,"minTime":0.14012899999988804},{"name":"hashBlock","time":0.05914020000000164,"maxTime":0.39748199999985445,"minTime":0.03646299999991243},{"name":"hashElement","time":0.0017327499999964858,"maxTime":0.030737999999928434,"minTime":0},{"name":"hashHTMLSpans","time":4.116996499999937,"maxTime":5.5849379999999655,"minTime":3.89044100000001},{"name":"hashPreCodeTags","time":0.1423884499999531,"maxTime":0.5294739999999365,"minTime":0.1081850000000486},{"name":"headers","time":1.1452692999999954,"maxTime":4.103494999999839,"minTime":0.8639729999999872},{"name":"horizontalRule","time":0.21682209999996757,"maxTime":0.36583999999993466,"minTime":0.19407000000001062},{"name":"images","time":0.15055509999997413,"maxTime":0.5526780000000144,"minTime":0.11662299999989045},{"name":"italicsAndBold","time":0.3119285999999647,"maxTime":1.2412650000001122,"minTime":0.23625899999979083},{"name":"lists","time":4.022899600000005,"maxTime":7.077227000000221,"minTime":2.4975970000000416},{"name":"outdent","time":0.17451229999999213,"maxTime":0.26066899999977977,"minTime":0.14826499999981024},{"name":"paragraphs","time":6.5566433999999845,"maxTime":8.645457999999962,"minTime":4.997002000000066},{"name":"spanGamut","time":5.072655700000018,"maxTime":6.34705299999996,"minTime":4.136643999999706},{"name":"strikethrough","time":0.006192800000076204,"maxTime":0.11029400000006717,"minTime":0},{"name":"stripLinkDefinitions","time":0.16428144999997585,"maxTime":0.27694100000007893,"minTime":0.1416349999999511},{"name":"tables","time":0.004354600000010578,"maxTime":0.08015999999997803,"minTime":0},{"name":"unescapeSpecialChars","time":0.009130899999991015,"maxTime":0.04580600000008417,"minTime":0.006930999999894993}]}],"1.7.0":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.39255787999999486,"maxTime":9.953321000000074,"minTime":0.09673299999997198},{"name":"performance.testfile.md","time":29.416470079999975,"maxTime":54.25341800000001,"minTime":25.948727999999846}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":4.0619999999999665,"maxTime":7.184810000000198,"minTime":2.325826999999663},{"name":"anchors","time":0.4883242500000051,"maxTime":4.085716999999931,"minTime":0.28085900000041875},{"name":"autoLinks","time":0.08583980000000793,"maxTime":0.19979499999999462,"minTime":0.06298299999980372},{"name":"blockQuotes","time":2.071019450000017,"maxTime":4.554016000000047,"minTime":1.7333710000002611},{"name":"codeBlocks","time":0.2531195000000025,"maxTime":0.8639729999999872,"minTime":0.17809799999986353},{"name":"codeSpans","time":0.2609549000000243,"maxTime":0.5924559999998564,"minTime":0.15971599999966202},{"name":"detab","time":0.09453374999998232,"maxTime":0.1298820000001797,"minTime":0.08859699999993609},{"name":"encodeAmpsAndAngles","time":0.10304694999997537,"maxTime":0.19196099999999205,"minTime":0.09462400000029447},{"name":"encodeBackslashEscapes","time":0.1064521499999728,"maxTime":0.5894419999999627,"minTime":0.07051600000022518},{"name":"encodeCode","time":0.9265486000000009,"maxTime":1.1821999999997388,"minTime":0.8347420000000056},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.2759772000000112,"maxTime":0.6171669999998812,"minTime":0.24530000000004293},{"name":"githubCodeBlocks","time":0.1951549499999828,"maxTime":0.9799929999999222,"minTime":0.1386210000000574},{"name":"hashBlock","time":0.062304449999965074,"maxTime":0.4833670000002712,"minTime":0.03495699999984936},{"name":"hashElement","time":0.0014464500000030966,"maxTime":0.024711000000024796,"minTime":0},{"name":"hashHTMLSpans","time":4.1203715999999755,"maxTime":4.609765000000152,"minTime":3.8587989999996353},{"name":"hashPreCodeTags","time":0.14734550000000582,"maxTime":0.5351989999999205,"minTime":0.10487000000011903},{"name":"headers","time":1.3076671999999916,"maxTime":4.252966000000015,"minTime":0.8564390000001367},{"name":"horizontalRule","time":0.2203779999999597,"maxTime":0.3742779999997765,"minTime":0.19407000000001062},{"name":"images","time":0.15025354999997945,"maxTime":0.506872000000385,"minTime":0.1163219999998546},{"name":"italicsAndBold","time":0.30579589999997553,"maxTime":0.872110000000248,"minTime":0.24138200000015786},{"name":"lists","time":3.447394599999984,"maxTime":4.893336999999974,"minTime":2.407492000000275},{"name":"outdent","time":0.26698190000001887,"maxTime":0.8684939999998278,"minTime":0.1808109999997214},{"name":"paragraphs","time":5.866655149999997,"maxTime":8.331147999999757,"minTime":4.9695779999997285},{"name":"spanGamut","time":5.038527899999986,"maxTime":7.123635999999806,"minTime":4.11615299999994},{"name":"strikethrough","time":0.003992900000002919,"maxTime":0.07322800000019924,"minTime":0},{"name":"stripLinkDefinitions","time":0.15298084999997172,"maxTime":0.24288900000010472,"minTime":0.13952599999993254},{"name":"tables","time":0.0024410000000443686,"maxTime":0.043695999999727064,"minTime":0},{"name":"unescapeSpecialChars","time":0.008663700000033714,"maxTime":0.0406820000002881,"minTime":0.006628999999975349}]}],"1.6.4":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.37575447999999595,"maxTime":6.3811059999999316,"minTime":0.182617999999934},{"name":"performance.testfile.md","time":33.83478732000001,"maxTime":61.04858100000001,"minTime":30.186325000000124}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":2.5643760500000328,"maxTime":8.346818999999869,"minTime":1.8710879999998724},{"name":"anchors","time":0.4985702000000174,"maxTime":4.221624999999676,"minTime":0.27031199999964883},{"name":"autoLinks","time":0.08000864999996793,"maxTime":0.17357799999990675,"minTime":0.06087299999990137},{"name":"blockQuotes","time":3.3429765499999804,"maxTime":7.305651000000125,"minTime":2.8504790000001776},{"name":"codeBlocks","time":0.22134235000003172,"maxTime":0.8220859999996719,"minTime":0.17176999999992404},{"name":"codeSpans","time":0.22901160000001256,"maxTime":0.7443360000002031,"minTime":0.15579799999977695},{"name":"detab","time":0.0973213499999929,"maxTime":0.15429100000028484,"minTime":0.08618699999988166},{"name":"encodeAmpsAndAngles","time":0.11678870000000643,"maxTime":0.19979600000033315,"minTime":0.09432200000037483},{"name":"encodeBackslashEscapes","time":0.08623155000002498,"maxTime":0.2296289999999317,"minTime":0.06810499999983222},{"name":"encodeCode","time":0.8853238499999861,"maxTime":1.1647219999999834,"minTime":0.8163599999998041},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.2983526000000438,"maxTime":0.4954210000000785,"minTime":0.2401769999996759},{"name":"githubCodeBlocks","time":0.18343240000001515,"maxTime":0.7847170000000006,"minTime":0.1331980000004478},{"name":"hashBlock","time":0.0443587499999694,"maxTime":0.09763799999973344,"minTime":0.035257999999885214},{"name":"hashElement","time":0.00200395000001663,"maxTime":0.03345000000035725,"minTime":0},{"name":"hashHTMLSpans","time":4.199521549999963,"maxTime":4.551605000000109,"minTime":3.9874759999997877},{"name":"hashPreCodeTags","time":0.1295205500000293,"maxTime":0.3134050000003299,"minTime":0.10637700000006589},{"name":"headers","time":1.2236204000000044,"maxTime":4.009776000000329,"minTime":0.944735000000037},{"name":"horizontalRule","time":0.41190154999999323,"maxTime":4.175217999999859,"minTime":0.19648000000006505},{"name":"images","time":0.08806979999997111,"maxTime":0.20250800000030722,"minTime":0.0732279999997445},{"name":"italicsAndBold","time":0.2764291999999841,"maxTime":0.4137550000000374,"minTime":0.23324500000035187},{"name":"lists","time":5.0047764500000085,"maxTime":6.109288000000106,"minTime":4.663406000000123},{"name":"outdent","time":0.1521370000000161,"maxTime":0.3366089999999531,"minTime":0.13922500000035143},{"name":"paragraphs","time":5.336081549999994,"maxTime":7.117005000000063,"minTime":4.843312999999853},{"name":"spanGamut","time":4.449883849999901,"maxTime":6.152983999999833,"minTime":3.8569910000001073},{"name":"strikethrough","time":0.002606700000001183,"maxTime":0.04881900000009409,"minTime":0},{"name":"stripLinkDefinitions","time":0.18040370000001077,"maxTime":0.3161169999998492,"minTime":0.14705999999978303},{"name":"tables","time":0.0031190500000320754,"maxTime":0.05544899999995323,"minTime":0},{"name":"unescapeSpecialChars","time":0.009281650000002629,"maxTime":0.047313000000031025,"minTime":0.006628999999975349}]}],"1.6.3":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.3880986600000119,"maxTime":6.064399999999978,"minTime":0.17418099999997594},{"name":"performance.testfile.md","time":26.898552680000012,"maxTime":49.06275100000005,"minTime":24.84523399999989}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":2.6158222500000194,"maxTime":8.18079200000011,"minTime":1.8985149999998612},{"name":"anchors","time":0.5154769000000442,"maxTime":4.690839000000324,"minTime":0.2639840000001641},{"name":"autoLinks","time":0.09307249999999385,"maxTime":0.18834400000014284,"minTime":0.07262600000012753},{"name":"blockQuotes","time":4.5183903999999755,"maxTime":8.952854000000116,"minTime":3.035816000000068},{"name":"codeBlocks","time":0.22262349999998604,"maxTime":0.347758999999769,"minTime":0.18834500000002663},{"name":"codeSpans","time":0.31763950000004115,"maxTime":1.0948100000000522,"minTime":0.1771950000002107},{"name":"detab","time":0.0919273999999632,"maxTime":0.13651200000003882,"minTime":0.08739199999990888},{"name":"encodeAmpsAndAngles","time":0.0438916999999492,"maxTime":0.08919999999989159,"minTime":0.038271000000349886},{"name":"encodeBackslashEscapes","time":0.10785369999998692,"maxTime":0.2651890000001913,"minTime":0.07835100000011153},{"name":"encodeCode","time":1.5346329500000138,"maxTime":9.895783999999821,"minTime":0.8645779999997103},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.2937122499999759,"maxTime":0.5234480000003714,"minTime":0.25343700000030367},{"name":"githubCodeBlocks","time":0.20775164999997742,"maxTime":0.7901440000000548,"minTime":0.1416349999999511},{"name":"hashBlock","time":0.042234400000006646,"maxTime":0.12325299999974959,"minTime":0.035860999999840715},{"name":"hashElement","time":0.0016724999999951252,"maxTime":0.028929000000061933,"minTime":0},{"name":"hashHTMLSpans","time":0.4103353000000197,"maxTime":1.5980680000002394,"minTime":0.2404790000000503},{"name":"hashPreCodeTags","time":0.13196184999997057,"maxTime":0.3950719999998,"minTime":0.11029400000006717},{"name":"headers","time":1.0150126000000683,"maxTime":1.501936999999998,"minTime":0.8055130000002464},{"name":"horizontalRule","time":0.22018260000002102,"maxTime":0.35710100000005696,"minTime":0.1946739999998499},{"name":"images","time":0.1582398000000012,"maxTime":0.978186999999707,"minTime":0.07684500000004846},{"name":"italicsAndBold","time":0.28757974999998626,"maxTime":0.6394679999998516,"minTime":0.24078000000008615},{"name":"lists","time":5.151319100000023,"maxTime":6.331397000000379,"minTime":4.629061999999976},{"name":"outdent","time":0.18019314999994548,"maxTime":0.36342999999988024,"minTime":0.14253999999982625},{"name":"paragraphs","time":4.547636500000022,"maxTime":6.308794999999918,"minTime":4.002250999999887},{"name":"spanGamut","time":1.5190982500000245,"maxTime":1.863557999999557,"minTime":1.3720530000000508},{"name":"strikethrough","time":0.003450399999996989,"maxTime":0.06539299999985815,"minTime":0},{"name":"stripLinkDefinitions","time":0.1786111499999606,"maxTime":0.3128030000002582,"minTime":0.1443480000002637},{"name":"tables","time":0.0035106999999925392,"maxTime":0.06268099999988408,"minTime":0.00030099999958110857},{"name":"unescapeSpecialChars","time":0.01146649999998317,"maxTime":0.04881900000009409,"minTime":0.006628999999975349}]}],"1.6.2":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.6130621400000001,"maxTime":5.893518999999998,"minTime":0.16875699999999938},{"name":"performance.testfile.md","time":25.970254839999992,"maxTime":62.88168,"minTime":23.709682999999927}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":2.6685977000000323,"maxTime":8.478507000000036,"minTime":1.8846490000000813},{"name":"anchors","time":0.5002727000000278,"maxTime":3.841318999999885,"minTime":0.2676000000001295},{"name":"autoLinks","time":0.09846654999997781,"maxTime":0.21064500000011321,"minTime":0.07202299999994466},{"name":"blockQuotes","time":3.221817550000014,"maxTime":5.825714999999946,"minTime":2.791112000000112},{"name":"codeBlocks","time":0.17663659999998343,"maxTime":0.3712639999998828,"minTime":0.1570040000001427},{"name":"codeSpans","time":0.2181328999999778,"maxTime":0.483066000000008,"minTime":0.15097700000001169},{"name":"detab","time":0.13492999999998573,"maxTime":0.6545340000000124,"minTime":0.08498099999997066},{"name":"encodeAmpsAndAngles","time":0.04158639999994875,"maxTime":0.11752699999988181,"minTime":0.03616199999987657},{"name":"encodeBackslashEscapes","time":0.0800689000000034,"maxTime":0.13319799999999304,"minTime":0.06780399999979636},{"name":"encodeCode","time":0.5599700499999927,"maxTime":0.9821019999999407,"minTime":0.48396900000011556},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.35280645000001415,"maxTime":0.5683480000000145,"minTime":0.2914060000000518},{"name":"githubCodeBlocks","time":0.17996669999999995,"maxTime":0.7729650000001129,"minTime":0.1274710000000141},{"name":"hashBlock","time":0.057723849999990764,"maxTime":0.31159699999989243,"minTime":0.037368000000014945},{"name":"hashElement","time":0.0025463500000000748,"maxTime":0.04610600000000886,"minTime":0},{"name":"hashHTMLSpans","time":0.47458235000001425,"maxTime":2.325223000000051,"minTime":0.2344510000000355},{"name":"hashPreCodeTags","time":0.12186629999998785,"maxTime":0.3073779999999715,"minTime":0.10697999999979402},{"name":"headers","time":0.8577350000000024,"maxTime":0.9540770000000975,"minTime":0.7801970000000438},{"name":"horizontalRule","time":0.22663095000001476,"maxTime":0.41797300000007453,"minTime":0.1967819999999847},{"name":"images","time":0.17053435000000264,"maxTime":1.4528119999999944,"minTime":0.07714599999985694},{"name":"italicsAndBold","time":0.10093754999998054,"maxTime":0.20220699999981662,"minTime":0.0882960000001276},{"name":"lists","time":4.9306124000000064,"maxTime":5.460477999999966,"minTime":4.55642499999999},{"name":"outdent","time":0.16260889999998654,"maxTime":0.31461000000012973,"minTime":0.1416349999999511},{"name":"paragraphs","time":3.7896679000000177,"maxTime":5.563840999999911,"minTime":3.278396000000157},{"name":"spanGamut","time":1.4417527499999891,"maxTime":2.0124210000001312,"minTime":1.2032939999999144},{"name":"strikethrough","time":0.004233999999985372,"maxTime":0.08196800000018811,"minTime":0},{"name":"stripBlankLines","time":0.08623144999999113,"maxTime":0.1304850000001352,"minTime":0.0804600000001301},{"name":"stripLinkDefinitions","time":0.15983660000002828,"maxTime":0.21727400000008856,"minTime":0.1446480000001884},{"name":"tables","time":0.004143600000008974,"maxTime":0.07593999999994594,"minTime":0},{"name":"unescapeSpecialChars","time":0.00991439999999102,"maxTime":0.0581609999999273,"minTime":0.006628999999975349}]}],"1.6.1":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.3172682400000001,"maxTime":5.4981469999999995,"minTime":0.16062000000000154},{"name":"readme.md","time":26.0144148,"maxTime":46.79858399999999,"minTime":24.245484999999917}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":2.6414157500000215,"maxTime":7.791727999999921,"minTime":1.9364810000001853},{"name":"anchors","time":0.47462755000000245,"maxTime":4.062812000000122,"minTime":0.25885999999991327},{"name":"autoLinks","time":0.08906409999998459,"maxTime":0.19708299999979317,"minTime":0.06870800000001509},{"name":"blockQuotes","time":3.213485000000014,"maxTime":6.05383699999993,"minTime":2.880010000000084},{"name":"codeBlocks","time":0.16200620000001892,"maxTime":0.2691060000001926,"minTime":0.15308599999980288},{"name":"codeSpans","time":0.169494799999984,"maxTime":0.39868699999988166,"minTime":0.1410319999999956},{"name":"detab","time":0.12471390000000611,"maxTime":0.6647800000000643,"minTime":0.08558400000015354},{"name":"encodeAmpsAndAngles","time":0.04181244999999763,"maxTime":0.08920000000011896,"minTime":0.03796999999985928},{"name":"encodeBackslashEscapes","time":0.07586505000000443,"maxTime":0.13289599999984603,"minTime":0.06810500000005959},{"name":"encodeCode","time":0.5765897500000051,"maxTime":0.970348999999942,"minTime":0.4791480000001229},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.24603789999998754,"maxTime":0.35047099999997045,"minTime":0.22119199999997363},{"name":"githubCodeBlocks","time":0.1767573999999968,"maxTime":0.815454999999929,"minTime":0.1250600000000759},{"name":"hashBlock","time":0.06537804999999253,"maxTime":0.42972599999984595,"minTime":0.0376690000000508},{"name":"hashElement","time":0.0020039500000052614,"maxTime":0.034051999999974214,"minTime":0},{"name":"hashHTMLSpans","time":0.42437735000000887,"maxTime":2.3210050000000138,"minTime":0.24078000000008615},{"name":"hashPreCodeTags","time":0.12225794999998243,"maxTime":0.23836899999992056,"minTime":0.10396600000012768},{"name":"headers","time":0.8037480999999957,"maxTime":0.9462419999999838,"minTime":0.7256529999999657},{"name":"horizontalRule","time":0.2186149999999884,"maxTime":0.27362700000003315,"minTime":0.19437100000004648},{"name":"images","time":0.12388539999997192,"maxTime":0.9019430000000739,"minTime":0.07081799999991745},{"name":"italicsAndBold","time":0.10089220000002115,"maxTime":0.15037400000005618,"minTime":0.08950099999992744},{"name":"lists","time":4.938929699999983,"maxTime":5.421000999999933,"minTime":4.623625999999831},{"name":"outdent","time":0.1648239000000217,"maxTime":0.3372110000000248,"minTime":0.1404290000000401},{"name":"paragraphs","time":3.4947812,"maxTime":4.554917999999816,"minTime":3.1714170000000195},{"name":"spanGamut","time":1.318997649999983,"maxTime":1.9916279999999915,"minTime":1.1469409999999698},{"name":"strikethrough","time":0.007458499999995638,"maxTime":0.14314200000012534,"minTime":0},{"name":"stripBlankLines","time":0.09447364999999763,"maxTime":0.1545929999999771,"minTime":0.0822689999999966},{"name":"stripLinkDefinitions","time":0.1762751000000094,"maxTime":0.3112949999999728,"minTime":0.1464570000000549},{"name":"tables","time":0.0023505499999828317,"maxTime":0.03947699999980614,"minTime":0},{"name":"unescapeSpecialChars","time":0.008332400000006146,"maxTime":0.03375200000004952,"minTime":0.0066299999998591375}]}],"1.6.0":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.3075345600000001,"maxTime":5.369168,"minTime":0.1570040000000006},{"name":"readme.md","time":25.81825956,"maxTime":47.795452,"minTime":23.775378000000046}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":2.652987649999966,"maxTime":8.557761999999911,"minTime":1.8804290000000492},{"name":"anchors","time":0.5166509500000303,"maxTime":4.142066999999997,"minTime":0.27121600000009494},{"name":"autoLinks","time":0.0885518999999931,"maxTime":0.19437100000004648,"minTime":0.0705159999999978},{"name":"blockGamut","time":17.371581599999978,"maxTime":22.94093699999985,"minTime":14.081522999999834},{"name":"blockQuotes","time":3.011308699999995,"maxTime":4.110426000000189,"minTime":2.7742359999999735},{"name":"codeBlocks","time":0.24291900000000624,"maxTime":0.8344409999999698,"minTime":0.19346700000005512},{"name":"codeSpans","time":0.2271433000000002,"maxTime":0.4583549999999832,"minTime":0.19135800000003655},{"name":"detab","time":0.09469964999999547,"maxTime":0.13289599999984603,"minTime":0.08950099999992744},{"name":"encodeAmpsAndAngles","time":0.040486450000014426,"maxTime":0.07262600000012753,"minTime":0.03766799999993964},{"name":"encodeBackslashEscapes","time":0.09959649999997282,"maxTime":0.5095850000000155,"minTime":0.06840699999997923},{"name":"encodeCode","time":0.5320952499999863,"maxTime":0.7057630000001609,"minTime":0.4794489999999314},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.38607564999999794,"maxTime":0.7018459999999322,"minTime":0.326663999999937},{"name":"githubCodeBlocks","time":0.21441115000002356,"maxTime":0.7780880000000252,"minTime":0.15579800000000432},{"name":"hashBlock","time":0.056638900000007195,"maxTime":0.27995499999997264,"minTime":0.035257999999885214},{"name":"hashElement","time":0.001958799999999883,"maxTime":0.033148999999866646,"minTime":0},{"name":"hashHTMLSpans","time":0.38414695000003574,"maxTime":1.9973540000000867,"minTime":0.2356569999999465},{"name":"hashPreCodeTags","time":0.1327451500000393,"maxTime":0.20009700000014163,"minTime":0.1157189999998991},{"name":"headers","time":0.9440720999999825,"maxTime":2.4683650000001762,"minTime":0.7823069999999461},{"name":"images","time":0.12035954999996648,"maxTime":0.4857769999998709,"minTime":0.08588499999996202},{"name":"italicsAndBold","time":0.11076150000000098,"maxTime":0.4447930000001179,"minTime":0.08799499999986438},{"name":"lists","time":5.782546349999995,"maxTime":13.248890999999958,"minTime":4.463608999999906},{"name":"outdent","time":0.3057505000000219,"maxTime":0.9561860000001161,"minTime":0.22541000000001077},{"name":"paragraphs","time":6.582542549999971,"maxTime":8.810596000000032,"minTime":4.498867000000246},{"name":"spanGamut","time":2.43690389999997,"maxTime":3.067450000000008,"minTime":1.6474849999999606},{"name":"strikethrough","time":0.005228549999992537,"maxTime":0.10035000000016225,"minTime":0},{"name":"stripBlankLines","time":0.12142940000005638,"maxTime":0.17508399999996982,"minTime":0.09191199999986566},{"name":"stripLinkDefinitions","time":0.24673084999997172,"maxTime":0.572566000000279,"minTime":0.17146900000034293},{"name":"tables","time":0.005650249999962398,"maxTime":0.0985419999997248,"minTime":0.00030099999958110857},{"name":"unescapeSpecialChars","time":0.016694800000050237,"maxTime":0.06569400000034875,"minTime":0.011450999999851774}]}]} \ No newline at end of file +{"1.8.4":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.7357727200000045,"maxTime":11.075555000000008,"minTime":0.11662300000000414},{"name":"performance.testfile.md","time":32.917593419999996,"maxTime":62.42667800000004,"minTime":27.940666000000192}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":5.259524950000037,"maxTime":17.332808000000114,"minTime":2.340292000000318},{"name":"anchors","time":0.5218948500000351,"maxTime":2.8983949999997094,"minTime":0.306775000000016},{"name":"autoLinks","time":0.12436755000001085,"maxTime":0.30014600000004066,"minTime":0.07142100000010032},{"name":"blockQuotes","time":2.24432690000001,"maxTime":3.3329420000000027,"minTime":2.0148330000001806},{"name":"codeBlocks","time":0.24412445000000388,"maxTime":0.8169630000002144,"minTime":0.19015300000000934},{"name":"codeSpans","time":0.3541780499999959,"maxTime":1.2014869999998155,"minTime":0.24288900000010472},{"name":"detab","time":0.09634199999998146,"maxTime":0.1431420000003527,"minTime":0.08769299999994473},{"name":"encodeAmpsAndAngles","time":0.1376722000000427,"maxTime":0.19768599999997605,"minTime":0.09613100000024133},{"name":"encodeBackslashEscapes","time":0.0932680999999775,"maxTime":0.1841260000001057,"minTime":0.07051599999977043},{"name":"encodeCode","time":0.9610537499999964,"maxTime":1.6110220000000481,"minTime":0.8582480000000032},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.2516583999999966,"maxTime":0.5204329999996844,"minTime":0.1582090000001699},{"name":"githubCodeBlocks","time":0.26234104999991814,"maxTime":0.3896469999999681,"minTime":0.16092100000014398},{"name":"hashBlock","time":0.051877600000034364,"maxTime":0.12867700000015247,"minTime":0.03736699999990378},{"name":"hashElement","time":0.002682149999986905,"maxTime":0.040380999999797496,"minTime":0.0003020000003743917},{"name":"hashHTMLSpans","time":4.239888850000034,"maxTime":4.673051000000214,"minTime":4.043529000000035},{"name":"hashPreCodeTags","time":0.13398059999999531,"maxTime":0.3372110000000248,"minTime":0.11270500000000538},{"name":"headers","time":1.4121460499999785,"maxTime":4.474761999999828,"minTime":1.076727000000119},{"name":"horizontalRule","time":0.3580051499999854,"maxTime":2.6859419999996135,"minTime":0.19648099999994884},{"name":"images","time":0.18359815000001162,"maxTime":0.4803540000002613,"minTime":0.13048499999968044},{"name":"italicsAndBold","time":0.29952790000002094,"maxTime":0.4577519999998003,"minTime":0.23414999999977226},{"name":"lists","time":3.073871250000002,"maxTime":4.651354000000083,"minTime":2.6256719999996676},{"name":"outdent","time":0.20359270000003563,"maxTime":0.9311750000001666,"minTime":0.13681300000007468},{"name":"paragraphs","time":6.405547999999953,"maxTime":8.019855000000007,"minTime":5.821198000000095},{"name":"spanGamut","time":4.135636349999913,"maxTime":6.038471999999729,"minTime":3.839814999999817},{"name":"strikethrough","time":0.007217349999996259,"maxTime":0.1319909999997435,"minTime":0.0003010000000358559},{"name":"stripLinkDefinitions","time":0.24829814999998234,"maxTime":0.40260499999976673,"minTime":0.21667100000013306},{"name":"tables","time":0.0033450000000129878,"maxTime":0.04008000000021639,"minTime":0.0006029999999555002},{"name":"unescapeSpecialChars","time":0.009387199999969198,"maxTime":0.03947699999980614,"minTime":0.006930999999894993}]}],"1.8.3":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.9269011799999908,"maxTime":32.65378700000008,"minTime":0.14705900000001293},{"name":"performance.testfile.md","time":32.484542280000035,"maxTime":62.282010000000014,"minTime":28.40262900000016}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":5.454346750000013,"maxTime":18.356191000000308,"minTime":2.3848909999996977},{"name":"anchors","time":0.504325800000015,"maxTime":3.1102430000000822,"minTime":0.2902009999997972},{"name":"autoLinks","time":0.11421199999999772,"maxTime":0.28417399999989357,"minTime":0.06931099999974322},{"name":"blockQuotes","time":2.268720650000046,"maxTime":3.373623999999836,"minTime":1.996752000000015},{"name":"codeBlocks","time":0.2502117500000395,"maxTime":0.8398649999999179,"minTime":0.19196000000010827},{"name":"codeSpans","time":0.3517671000000064,"maxTime":1.230717999999797,"minTime":0.2486149999999725},{"name":"detab","time":0.11473945000000185,"maxTime":0.17900200000030964,"minTime":0.08739199999990888},{"name":"encodeAmpsAndAngles","time":0.10544264999996358,"maxTime":0.16212700000005498,"minTime":0.09462399999983973},{"name":"encodeBackslashEscapes","time":0.10833570000006602,"maxTime":0.2347530000001825,"minTime":0.07503700000006575},{"name":"encodeCode","time":0.9939308499999925,"maxTime":1.9153870000000097,"minTime":0.8467970000001515},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.23689210000002275,"maxTime":0.4746280000003935,"minTime":0.1600180000000364},{"name":"githubCodeBlocks","time":0.2020106000000169,"maxTime":0.7714579999997113,"minTime":0.15127899999970396},{"name":"hashBlock","time":0.07104355000003579,"maxTime":0.4927090000001044,"minTime":0.03917600000022503},{"name":"hashElement","time":0.0024862499999926515,"maxTime":0.036463999999796215,"minTime":0.0006019999996169645},{"name":"hashHTMLSpans","time":4.161957949999987,"maxTime":4.708306999999877,"minTime":3.9594499999998334},{"name":"hashPreCodeTags","time":0.1303646000000299,"maxTime":0.3314860000000408,"minTime":0.11240400000042428},{"name":"headers","time":1.4091020500000013,"maxTime":4.621517999999924,"minTime":1.043880000000172},{"name":"horizontalRule","time":0.3509834499999897,"maxTime":2.6549019999997654,"minTime":0.19617999999991298},{"name":"images","time":0.19913270000001831,"maxTime":0.5445410000002084,"minTime":0.1307859999997163},{"name":"italicsAndBold","time":0.268699450000031,"maxTime":0.35710100000005696,"minTime":0.23475200000029872},{"name":"lists","time":3.0566478999999847,"maxTime":4.403038999999808,"minTime":2.6856400000001486},{"name":"outdent","time":0.15278490000002876,"maxTime":0.3073779999999715,"minTime":0.13621100000000297},{"name":"paragraphs","time":6.455042899999944,"maxTime":7.90051799999992,"minTime":5.708189999999831},{"name":"spanGamut","time":4.255919250000034,"maxTime":5.54154299999982,"minTime":3.929916999999932},{"name":"strikethrough","time":0.005107850000035797,"maxTime":0.08889899999985573,"minTime":0.0003010000000358559},{"name":"stripLinkDefinitions","time":0.24843364999996992,"maxTime":0.3935639999999694,"minTime":0.22480699999960052},{"name":"tables","time":0.0021395500000380707,"maxTime":0.028025000000070577,"minTime":0.0006020000000717118},{"name":"unescapeSpecialChars","time":0.008935100000007879,"maxTime":0.03887399999985064,"minTime":0.006930999999894993}]}],"1.8.2":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.36118707999999744,"maxTime":8.97694100000001,"minTime":0.10366399999998066},{"name":"performance.testfile.md","time":33.109353200000044,"maxTime":56.477973000000134,"minTime":29.178900000000112}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":5.488247100000035,"maxTime":20.713954999999714,"minTime":2.3207030000003215},{"name":"anchors","time":0.5058775499999456,"maxTime":3.1581569999998464,"minTime":0.29200900000023466},{"name":"autoLinks","time":0.14073085000002267,"maxTime":0.36463400000002366,"minTime":0.07232500000009168},{"name":"blockQuotes","time":2.3000001499999825,"maxTime":3.6421259999997346,"minTime":2.046473999999762},{"name":"codeBlocks","time":0.24317504999999073,"maxTime":0.8772320000002765,"minTime":0.18924799999967945},{"name":"codeSpans","time":0.26844330000001265,"maxTime":1.1755699999998797,"minTime":0.1594150000000809},{"name":"detab","time":0.0950761500000226,"maxTime":0.17207199999984368,"minTime":0.0891990000000078},{"name":"encodeAmpsAndAngles","time":0.10803434999995716,"maxTime":0.22993099999985134,"minTime":0.09733700000015233},{"name":"encodeBackslashEscapes","time":0.07844164999999066,"maxTime":0.11903299999994488,"minTime":0.07413300000007439},{"name":"encodeCode","time":1.0021724500000346,"maxTime":1.5441220000002431,"minTime":0.850713999999698},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.25580170000000635,"maxTime":0.5656359999998131,"minTime":0.16363400000000183},{"name":"githubCodeBlocks","time":0.2531047000000399,"maxTime":0.9986770000000433,"minTime":0.15248300000030213},{"name":"hashBlock","time":0.04166155000000345,"maxTime":0.08015899999963949,"minTime":0.037066000000322674},{"name":"hashElement","time":0.002244949999999335,"maxTime":0.0322439999999915,"minTime":0.00030099999958110857},{"name":"hashHTMLSpans","time":4.444473249999987,"maxTime":5.282380000000103,"minTime":3.9871729999999843},{"name":"hashPreCodeTags","time":0.15179035000001023,"maxTime":0.2648869999998169,"minTime":0.11722499999996217},{"name":"headers","time":1.4647912000000134,"maxTime":4.970481000000291,"minTime":1.0589469999999892},{"name":"horizontalRule","time":0.24510365000001003,"maxTime":0.5623199999999997,"minTime":0.20461699999987104},{"name":"images","time":0.31239540000003674,"maxTime":2.6151230000000396,"minTime":0.1310880000000907},{"name":"italicsAndBold","time":0.287217499999997,"maxTime":0.42671299999983603,"minTime":0.24379300000009607},{"name":"lists","time":3.260661600000026,"maxTime":4.098372000000381,"minTime":2.7923170000003665},{"name":"outdent","time":0.17895719999999074,"maxTime":0.37729099999978644,"minTime":0.1410319999999956},{"name":"paragraphs","time":6.661300749999964,"maxTime":9.04655300000013,"minTime":5.883574999999837},{"name":"spanGamut","time":4.560794749999991,"maxTime":6.1731730000001335,"minTime":4.0085690000000795},{"name":"strikethrough","time":0.005469599999855745,"maxTime":0.09703499999977794,"minTime":0.00030099999958110857},{"name":"stripLinkDefinitions","time":0.25079934999998843,"maxTime":0.4017010000002301,"minTime":0.21576699999968696},{"name":"tables","time":0.005861300000015035,"maxTime":0.08618700000033641,"minTime":0.001205000000027212},{"name":"unescapeSpecialChars","time":0.013244550000035816,"maxTime":0.06358499999987544,"minTime":0.007835999999770138}]}],"1.8.0":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.3569385800000009,"maxTime":9.000459999999975,"minTime":0.09070699999995213},{"name":"performance.testfile.md","time":31.433715060000004,"maxTime":57.438766999999984,"minTime":26.734683000000132}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":4.177346950000015,"maxTime":7.660953999999947,"minTime":2.346321999999873},{"name":"anchors","time":0.541678950000005,"maxTime":3.749413000000004,"minTime":0.30014600000004066},{"name":"autoLinks","time":0.08653315000001385,"maxTime":0.18322200000011435,"minTime":0.06931100000019796},{"name":"blockQuotes","time":2.048646549999944,"maxTime":3.5523299999999836,"minTime":1.8153400000001056},{"name":"codeBlocks","time":0.26372769999998125,"maxTime":1.1626129999999648,"minTime":0.18472799999972267},{"name":"codeSpans","time":0.27142715000002227,"maxTime":0.7904450000000907,"minTime":0.16303100000004633},{"name":"detab","time":0.09152044999998452,"maxTime":0.11963699999978417,"minTime":0.08648700000003373},{"name":"encodeAmpsAndAngles","time":0.10590985000001182,"maxTime":0.14615600000024642,"minTime":0.09703500000023269},{"name":"encodeBackslashEscapes","time":0.09130940000002283,"maxTime":0.15218199999981152,"minTime":0.07684500000004846},{"name":"encodeCode","time":0.961777750000033,"maxTime":1.551958999999897,"minTime":0.8615639999998166},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.23877579999996215,"maxTime":0.48698400000012043,"minTime":0.17297599999983504},{"name":"githubCodeBlocks","time":0.22202060000001894,"maxTime":0.9139990000003309,"minTime":0.1404299999999239},{"name":"hashBlock","time":0.0631934499999943,"maxTime":0.402002999999695,"minTime":0.035257999999885214},{"name":"hashElement","time":0.0014766499999950612,"maxTime":0.02531300000009651,"minTime":0},{"name":"hashHTMLSpans","time":4.30338740000002,"maxTime":4.888522000000194,"minTime":4.0212320000000545},{"name":"hashPreCodeTags","time":0.16443229999997583,"maxTime":0.5409259999996721,"minTime":0.11029499999995096},{"name":"headers","time":1.1587860999999975,"maxTime":3.7789459999999053,"minTime":0.9682419999999183},{"name":"horizontalRule","time":0.2442149499999914,"maxTime":0.4185769999999138,"minTime":0.1940709999998944},{"name":"images","time":0.32417875000003277,"maxTime":3.0575109999999768,"minTime":0.13319700000010926},{"name":"italicsAndBold","time":0.28938759999996366,"maxTime":0.41917899999998554,"minTime":0.23656099999971048},{"name":"lists","time":2.6713588999999955,"maxTime":3.1388750000000982,"minTime":2.4942840000003343},{"name":"outdent","time":0.15887245000001257,"maxTime":0.2525319999999738,"minTime":0.13862199999994118},{"name":"paragraphs","time":5.593502349999949,"maxTime":6.832538999999997,"minTime":5.159435999999914},{"name":"spanGamut","time":5.069422249999979,"maxTime":9.599546000000373,"minTime":4.127910000000156},{"name":"strikethrough","time":0.003405200000020159,"maxTime":0.062079000000267115,"minTime":0},{"name":"stripLinkDefinitions","time":0.2712614000000258,"maxTime":0.4004960000002029,"minTime":0.22480799999993906},{"name":"tables","time":0.0018532499999764696,"maxTime":0.03103899999996429,"minTime":0},{"name":"unescapeSpecialChars","time":0.008362499999998363,"maxTime":0.03797099999974307,"minTime":0.006628999999975349}]}],"1.7.6":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.3132123199999978,"maxTime":6.2674990000000435,"minTime":0.09161100000005717},{"name":"performance.testfile.md","time":30.962222960000013,"maxTime":54.58250999999996,"minTime":26.38147600000002}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":4.098720800000001,"maxTime":7.07210699999996,"minTime":2.3604820000000473},{"name":"anchors","time":0.573802499999988,"maxTime":4.501581999999871,"minTime":0.2944200000001729},{"name":"autoLinks","time":0.08704519999992044,"maxTime":0.21034299999973882,"minTime":0.06629800000018804},{"name":"blockQuotes","time":2.176025850000019,"maxTime":4.601932000000033,"minTime":1.8228730000000724},{"name":"codeBlocks","time":0.2823659499999621,"maxTime":0.8853699999999662,"minTime":0.19256300000006377},{"name":"codeSpans","time":0.26464649999998074,"maxTime":0.7636240000001635,"minTime":0.16604400000005626},{"name":"detab","time":0.10188689999999952,"maxTime":0.15459400000008827,"minTime":0.09070699999983844},{"name":"encodeAmpsAndAngles","time":0.1072658999999021,"maxTime":0.17538599999988946,"minTime":0.09823999999980515},{"name":"encodeBackslashEscapes","time":0.1198171499999944,"maxTime":0.8715069999998377,"minTime":0.07292699999970864},{"name":"encodeCode","time":0.982675499999982,"maxTime":1.8424599999998463,"minTime":0.8727119999998649},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.3008235499999728,"maxTime":0.3890440000000126,"minTime":0.2772429999999986},{"name":"githubCodeBlocks","time":0.20439130000002023,"maxTime":0.8889859999999317,"minTime":0.1461549999999079},{"name":"hashBlock","time":0.06328369999998813,"maxTime":0.4149600000000646,"minTime":0.034957000000304106},{"name":"hashElement","time":0.0017929999999978462,"maxTime":0.031942999999955646,"minTime":0},{"name":"hashHTMLSpans","time":4.130528449999997,"maxTime":4.411176999999952,"minTime":3.987779000000046},{"name":"hashPreCodeTags","time":0.26229599999996933,"maxTime":2.428888999999799,"minTime":0.10848600000008446},{"name":"headers","time":1.263836200000037,"maxTime":4.308414999999968,"minTime":0.9534750000002532},{"name":"horizontalRule","time":0.2299157000000605,"maxTime":0.33088400000042384,"minTime":0.19376899999997477},{"name":"images","time":0.18361319999996795,"maxTime":0.5638280000002851,"minTime":0.13379999999961},{"name":"italicsAndBold","time":0.31194355000000085,"maxTime":0.8284139999996114,"minTime":0.25132699999994657},{"name":"lists","time":2.641733750000003,"maxTime":3.2741790000000037,"minTime":2.4511889999998857},{"name":"outdent","time":0.1594599499999731,"maxTime":0.2401769999996759,"minTime":0.14404600000034407},{"name":"paragraphs","time":6.723880100000019,"maxTime":12.671812000000045,"minTime":5.367362999999841},{"name":"spanGamut","time":4.990629550000063,"maxTime":9.206274000000121,"minTime":4.172807000000375},{"name":"strikethrough","time":0.0031943499999670167,"maxTime":0.0581609999999273,"minTime":0},{"name":"stripLinkDefinitions","time":0.245947799999999,"maxTime":0.38994800000000396,"minTime":0.21908299999995506},{"name":"tables","time":0.0024710999999797423,"maxTime":0.043695999999727064,"minTime":0},{"name":"unescapeSpecialChars","time":0.010472100000015416,"maxTime":0.05092800000011266,"minTime":0.006930999999894993}]}],"1.7.5":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.5624536399999989,"maxTime":14.434112000000027,"minTime":0.1175269999999955},{"name":"performance.testfile.md","time":30.396062639999997,"maxTime":57.88561900000002,"minTime":26.627980999999863}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":4.279682000000003,"maxTime":8.3917220000003,"minTime":2.3574690000000373},{"name":"anchors","time":0.6018129999999928,"maxTime":5.340845000000172,"minTime":0.2853789999999208},{"name":"autoLinks","time":0.09221340000001418,"maxTime":0.19316600000001927,"minTime":0.06478999999990265},{"name":"blockQuotes","time":2.0676297999999633,"maxTime":4.429558999999699,"minTime":1.7363850000001548},{"name":"codeBlocks","time":0.2791716500000575,"maxTime":0.9365990000001148,"minTime":0.18141300000024785},{"name":"codeSpans","time":0.22182445000000825,"maxTime":0.5915520000003198,"minTime":0.1576060000002144},{"name":"detab","time":0.12001294999997754,"maxTime":0.14494999999988067,"minTime":0.09130899999991016},{"name":"encodeAmpsAndAngles","time":0.1162462000000005,"maxTime":0.22179400000004534,"minTime":0.09643299999970623},{"name":"encodeBackslashEscapes","time":0.13970635000002857,"maxTime":0.9139979999999923,"minTime":0.07111899999972593},{"name":"encodeCode","time":1.1949925000000348,"maxTime":2.009107000000313,"minTime":0.8612610000000132},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.30746834999999917,"maxTime":0.46829899999966074,"minTime":0.2691060000001926},{"name":"githubCodeBlocks","time":0.19697799999999005,"maxTime":0.8374539999999797,"minTime":0.14404599999988932},{"name":"hashBlock","time":0.059848400000032595,"maxTime":0.4420820000000276,"minTime":0.03616199999987657},{"name":"hashElement","time":0.00222985000002609,"maxTime":0.0406820000002881,"minTime":0},{"name":"hashHTMLSpans","time":4.289491099999987,"maxTime":4.712226999999984,"minTime":4.001941999999872},{"name":"hashPreCodeTags","time":0.28119055000001936,"maxTime":2.4391359999999622,"minTime":0.10758299999997689},{"name":"headers","time":1.2212554000000182,"maxTime":4.602836000000025,"minTime":0.9082720000001245},{"name":"horizontalRule","time":0.20826354999994692,"maxTime":0.3522789999997258,"minTime":0.19316600000001927},{"name":"images","time":0.1816696500000262,"maxTime":0.6337419999999838,"minTime":0.12807400000019697},{"name":"italicsAndBold","time":0.33532845000006545,"maxTime":1.2762219999999616,"minTime":0.23897100000021965},{"name":"lists","time":3.142624149999983,"maxTime":6.410941999999977,"minTime":2.3930279999999584},{"name":"outdent","time":0.3979791999999634,"maxTime":0.5846209999999701,"minTime":0.15851100000008955},{"name":"paragraphs","time":5.925721800000019,"maxTime":11.595988000000034,"minTime":4.961444000000029},{"name":"spanGamut","time":4.442833449999966,"maxTime":6.011651999999685,"minTime":4.023940000000039},{"name":"strikethrough","time":0.00299849999998969,"maxTime":0.054544999999961874,"minTime":0},{"name":"stripLinkDefinitions","time":0.24257244999998875,"maxTime":0.42400099999986196,"minTime":0.21486400000003414},{"name":"tables","time":0.0026519000000007507,"maxTime":0.04851700000017445,"minTime":0},{"name":"unescapeSpecialChars","time":0.00845289999997476,"maxTime":0.04098400000020774,"minTime":0.006327999999939493}]}],"1.7.4":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.9721513400000095,"maxTime":25.185683999999924,"minTime":0.16001700000003893},{"name":"performance.testfile.md","time":30.397026539999985,"maxTime":61.91279899999995,"minTime":26.54959800000006}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":3.9990743000000064,"maxTime":6.602594000000408,"minTime":2.3143739999995887},{"name":"anchors","time":0.5273032499999545,"maxTime":3.822632999999769,"minTime":0.2850779999998849},{"name":"autoLinks","time":0.08963684999998804,"maxTime":0.18834400000014284,"minTime":0.06328400000029433},{"name":"blockQuotes","time":2.05724574999997,"maxTime":4.121875000000273,"minTime":1.7803800000001502},{"name":"codeBlocks","time":0.24737865000001874,"maxTime":1.0845610000001216,"minTime":0.18623500000012427},{"name":"codeSpans","time":0.26315439999996215,"maxTime":1.0170579999999063,"minTime":0.16182500000013533},{"name":"detab","time":0.1229059499999721,"maxTime":0.1579079999996793,"minTime":0.0970340000003489},{"name":"encodeAmpsAndAngles","time":0.11849099999999453,"maxTime":0.17116699999996854,"minTime":0.09613099999978658},{"name":"encodeBackslashEscapes","time":0.07934549999995397,"maxTime":0.14645599999994374,"minTime":0.07111799999984214},{"name":"encodeCode","time":0.9450961000000007,"maxTime":1.4528110000001107,"minTime":0.8663830000000416},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.2850024500000245,"maxTime":0.4384650000001784,"minTime":0.245600000000195},{"name":"githubCodeBlocks","time":0.22539534999998523,"maxTime":0.9688430000001063,"minTime":0.1416349999999511},{"name":"hashBlock","time":0.06790930000001935,"maxTime":0.5767860000000837,"minTime":0.03555899999992107},{"name":"hashElement","time":0.0022601500000064335,"maxTime":0.04068300000017189,"minTime":0},{"name":"hashHTMLSpans","time":4.125777100000005,"maxTime":4.527794000000085,"minTime":3.95040599999993},{"name":"hashPreCodeTags","time":0.14892740000002505,"maxTime":0.5373079999999391,"minTime":0.10969100000011167},{"name":"headers","time":1.1714858000000277,"maxTime":3.876875999999811,"minTime":0.8841630000001715},{"name":"horizontalRule","time":0.3806509500000175,"maxTime":3.456793000000289,"minTime":0.1967819999999847},{"name":"images","time":0.19467249999997877,"maxTime":0.6180699999999888,"minTime":0.132593999999699},{"name":"italicsAndBold","time":0.2980658500000118,"maxTime":0.5623199999999997,"minTime":0.24499800000012328},{"name":"lists","time":3.7902082000000066,"maxTime":6.13881500000025,"minTime":2.612108000000262},{"name":"outdent","time":0.16693305000001146,"maxTime":0.2763379999996687,"minTime":0.13892200000009325},{"name":"paragraphs","time":5.349426699999981,"maxTime":6.076133999999911,"minTime":4.8972499999999854},{"name":"spanGamut","time":4.370021999999949,"maxTime":6.111091000000215,"minTime":3.9455849999999373},{"name":"strikethrough","time":0.002681949999941935,"maxTime":0.048215999999683845,"minTime":0},{"name":"stripLinkDefinitions","time":0.2550632000000178,"maxTime":0.400796000000355,"minTime":0.21817700000019613},{"name":"tables","time":0.001913599999966209,"maxTime":0.03284799999983079,"minTime":0},{"name":"unescapeSpecialChars","time":0.008859800000004725,"maxTime":0.04008000000021639,"minTime":0.006630000000313885}]}],"1.7.3":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.2769780200000014,"maxTime":5.742551000000049,"minTime":0.08799399999998059},{"name":"performance.testfile.md","time":30.73344694000001,"maxTime":54.768493000000035,"minTime":26.97154599999999}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":4.315576899999996,"maxTime":8.270586999999978,"minTime":2.3387870000001385},{"name":"anchors","time":0.5248635000000377,"maxTime":3.812093999999888,"minTime":0.28809199999977864},{"name":"autoLinks","time":0.0845591499999955,"maxTime":0.21998700000040117,"minTime":0.06268099999988408},{"name":"blockQuotes","time":2.032795400000032,"maxTime":3.6222429999997985,"minTime":1.7451259999998001},{"name":"codeBlocks","time":0.25076970000002347,"maxTime":1.059552000000167,"minTime":0.17809899999974732},{"name":"codeSpans","time":0.24638479999996435,"maxTime":0.7494609999998829,"minTime":0.1570040000001427},{"name":"detab","time":0.1421171499999673,"maxTime":0.7524739999998928,"minTime":0.08739100000002509},{"name":"encodeAmpsAndAngles","time":0.10028979999999592,"maxTime":0.12927999999965323,"minTime":0.09492600000021412},{"name":"encodeBackslashEscapes","time":0.07875814999997602,"maxTime":0.1247600000001512,"minTime":0.06991299999981493},{"name":"encodeCode","time":0.9767702500000042,"maxTime":1.773754000000281,"minTime":0.8516189999995731},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.27073390000000475,"maxTime":0.4414790000000721,"minTime":0.24409500000001572},{"name":"githubCodeBlocks","time":0.23499365000002398,"maxTime":0.9848159999996824,"minTime":0.1392240000000129},{"name":"hashBlock","time":0.0681052000000136,"maxTime":0.5496650000000045,"minTime":0.03616199999987657},{"name":"hashElement","time":0.001687549999996918,"maxTime":0.029532000000017433,"minTime":0},{"name":"hashHTMLSpans","time":4.197401899999977,"maxTime":4.563965999999709,"minTime":4.005560999999943},{"name":"hashPreCodeTags","time":0.13869685000001936,"maxTime":0.5433360000001812,"minTime":0.10577400000011039},{"name":"headers","time":1.148419750000039,"maxTime":4.214097000000038,"minTime":0.8796440000000985},{"name":"horizontalRule","time":0.21377854999998364,"maxTime":0.27302400000007765,"minTime":0.1985909999998512},{"name":"images","time":0.3095482500000116,"maxTime":3.095480999999836,"minTime":0.11993800000027477},{"name":"italicsAndBold","time":0.2785843000000341,"maxTime":0.3778940000001967,"minTime":0.23505399999976362},{"name":"lists","time":3.8429223499999354,"maxTime":8.277819999999792,"minTime":2.629892999999811},{"name":"outdent","time":0.19257850000001325,"maxTime":0.3863329999999223,"minTime":0.14404500000000553},{"name":"paragraphs","time":5.540976899999987,"maxTime":8.153060000000096,"minTime":4.83608600000025},{"name":"spanGamut","time":4.637932300000012,"maxTime":5.775095999999849,"minTime":4.142072999999982},{"name":"strikethrough","time":0.0028779499999927794,"maxTime":0.051530999999613414,"minTime":0},{"name":"stripLinkDefinitions","time":0.16675279999994927,"maxTime":0.27483299999994415,"minTime":0.1416349999999511},{"name":"tables","time":0.0021245000000135405,"maxTime":0.03646299999991243,"minTime":0},{"name":"unescapeSpecialChars","time":0.009130949999985205,"maxTime":0.031942999999955646,"minTime":0.00783499999988635}]}],"1.7.2":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.2924792600000001,"maxTime":5.779913000000079,"minTime":0.0870909999999867},{"name":"performance.testfile.md","time":30.395544379999997,"maxTime":53.85987,"minTime":26.054209000000128}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":4.303097000000003,"maxTime":7.7980609999999615,"minTime":2.377357999999731},{"name":"anchors","time":0.3474425999999994,"maxTime":0.6473019999998542,"minTime":0.28688599999986764},{"name":"autoLinks","time":0.08811514999999873,"maxTime":0.16544199999998455,"minTime":0.06328399999983958},{"name":"blockQuotes","time":2.1012153500000297,"maxTime":5.12055700000019,"minTime":1.7381930000001375},{"name":"codeBlocks","time":0.23850445000000492,"maxTime":0.8784390000000712,"minTime":0.18412599999965096},{"name":"codeSpans","time":0.2522458500000312,"maxTime":0.6283170000001519,"minTime":0.16031900000007226},{"name":"detab","time":0.09415714999997818,"maxTime":0.12867700000015247,"minTime":0.08769299999994473},{"name":"encodeAmpsAndAngles","time":0.1305904000000055,"maxTime":0.7331880000001547,"minTime":0.09251499999982116},{"name":"encodeBackslashEscapes","time":0.07973749999998744,"maxTime":0.1157189999998991,"minTime":0.07021500000018932},{"name":"encodeCode","time":0.9388443000000052,"maxTime":1.4799349999998412,"minTime":0.8573440000000119},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.28453565000002073,"maxTime":0.4731209999999919,"minTime":0.24349200000006022},{"name":"githubCodeBlocks","time":0.2144414500000039,"maxTime":1.046893000000182,"minTime":0.13952599999993254},{"name":"hashBlock","time":0.06795475000005809,"maxTime":0.5532809999999699,"minTime":0.03616200000033132},{"name":"hashElement","time":0.0016724999999723877,"maxTime":0.029833999999937078,"minTime":0},{"name":"hashHTMLSpans","time":4.323498449999988,"maxTime":6.161724999999933,"minTime":4.0037499999998545},{"name":"hashPreCodeTags","time":0.1474811499999987,"maxTime":0.5584039999998822,"minTime":0.1087880000000041},{"name":"headers","time":1.1759319999999889,"maxTime":4.491336000000047,"minTime":0.8841640000000552},{"name":"horizontalRule","time":0.21614389999997458,"maxTime":0.2636819999997897,"minTime":0.19316600000001927},{"name":"images","time":0.15570804999995289,"maxTime":0.5587049999999181,"minTime":0.11782799999991767},{"name":"italicsAndBold","time":0.3219485000000077,"maxTime":1.012539999999717,"minTime":0.2365599999998267},{"name":"lists","time":2.753399100000024,"maxTime":5.612964000000375,"minTime":2.3276349999996455},{"name":"outdent","time":0.16286519999998744,"maxTime":0.2323420000002443,"minTime":0.1398269999999684},{"name":"paragraphs","time":5.108954950000021,"maxTime":6.168355000000247,"minTime":4.741155999999592},{"name":"spanGamut","time":4.422869150000042,"maxTime":6.14906800000017,"minTime":4.000737000000299},{"name":"strikethrough","time":0.0028779999999869687,"maxTime":0.051230000000032305,"minTime":0},{"name":"stripLinkDefinitions","time":0.1603637499999877,"maxTime":0.2257119999999304,"minTime":0.14193599999998696},{"name":"tables","time":0.002470999999968626,"maxTime":0.04339399999980742,"minTime":0},{"name":"unescapeSpecialChars","time":0.011074649999977737,"maxTime":0.04640800000015588,"minTime":0.006628999999975349}]}],"1.7.1":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":1.0738219599999979,"maxTime":20.566299000000072,"minTime":0.3242529999999988},{"name":"performance.testfile.md","time":30.4629232,"maxTime":82.115725,"minTime":26.02165500000001}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":4.232850950000011,"maxTime":9.06222600000001,"minTime":2.35927700000002},{"name":"anchors","time":0.35050129999999624,"maxTime":0.7627189999998336,"minTime":0.28568100000029517},{"name":"autoLinks","time":0.08923019999999723,"maxTime":0.19015300000000934,"minTime":0.06509199999982229},{"name":"blockQuotes","time":2.073701349999965,"maxTime":4.988563999999769,"minTime":1.7291510000000017},{"name":"codeBlocks","time":0.2560277500000211,"maxTime":0.9369000000001506,"minTime":0.1790019999998549},{"name":"codeSpans","time":0.24160820000001876,"maxTime":0.8386599999998907,"minTime":0.1576060000002144},{"name":"detab","time":0.09915939999998499,"maxTime":0.16815399999995861,"minTime":0.08618599999999788},{"name":"encodeAmpsAndAngles","time":0.13123839999998382,"maxTime":0.646096999999827,"minTime":0.09311699999989287},{"name":"encodeBackslashEscapes","time":0.07607604999996057,"maxTime":0.1404299999999239,"minTime":0.07021399999985078},{"name":"encodeCode","time":0.9938553500000807,"maxTime":1.7056470000002264,"minTime":0.8648769999999786},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.26711740000000644,"maxTime":0.37518199999976787,"minTime":0.24951800000008006},{"name":"githubCodeBlocks","time":0.19164420000001883,"maxTime":0.9664330000000518,"minTime":0.14012899999988804},{"name":"hashBlock","time":0.05914020000000164,"maxTime":0.39748199999985445,"minTime":0.03646299999991243},{"name":"hashElement","time":0.0017327499999964858,"maxTime":0.030737999999928434,"minTime":0},{"name":"hashHTMLSpans","time":4.116996499999937,"maxTime":5.5849379999999655,"minTime":3.89044100000001},{"name":"hashPreCodeTags","time":0.1423884499999531,"maxTime":0.5294739999999365,"minTime":0.1081850000000486},{"name":"headers","time":1.1452692999999954,"maxTime":4.103494999999839,"minTime":0.8639729999999872},{"name":"horizontalRule","time":0.21682209999996757,"maxTime":0.36583999999993466,"minTime":0.19407000000001062},{"name":"images","time":0.15055509999997413,"maxTime":0.5526780000000144,"minTime":0.11662299999989045},{"name":"italicsAndBold","time":0.3119285999999647,"maxTime":1.2412650000001122,"minTime":0.23625899999979083},{"name":"lists","time":4.022899600000005,"maxTime":7.077227000000221,"minTime":2.4975970000000416},{"name":"outdent","time":0.17451229999999213,"maxTime":0.26066899999977977,"minTime":0.14826499999981024},{"name":"paragraphs","time":6.5566433999999845,"maxTime":8.645457999999962,"minTime":4.997002000000066},{"name":"spanGamut","time":5.072655700000018,"maxTime":6.34705299999996,"minTime":4.136643999999706},{"name":"strikethrough","time":0.006192800000076204,"maxTime":0.11029400000006717,"minTime":0},{"name":"stripLinkDefinitions","time":0.16428144999997585,"maxTime":0.27694100000007893,"minTime":0.1416349999999511},{"name":"tables","time":0.004354600000010578,"maxTime":0.08015999999997803,"minTime":0},{"name":"unescapeSpecialChars","time":0.009130899999991015,"maxTime":0.04580600000008417,"minTime":0.006930999999894993}]}],"1.7.0":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.39255787999999486,"maxTime":9.953321000000074,"minTime":0.09673299999997198},{"name":"performance.testfile.md","time":29.416470079999975,"maxTime":54.25341800000001,"minTime":25.948727999999846}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":4.0619999999999665,"maxTime":7.184810000000198,"minTime":2.325826999999663},{"name":"anchors","time":0.4883242500000051,"maxTime":4.085716999999931,"minTime":0.28085900000041875},{"name":"autoLinks","time":0.08583980000000793,"maxTime":0.19979499999999462,"minTime":0.06298299999980372},{"name":"blockQuotes","time":2.071019450000017,"maxTime":4.554016000000047,"minTime":1.7333710000002611},{"name":"codeBlocks","time":0.2531195000000025,"maxTime":0.8639729999999872,"minTime":0.17809799999986353},{"name":"codeSpans","time":0.2609549000000243,"maxTime":0.5924559999998564,"minTime":0.15971599999966202},{"name":"detab","time":0.09453374999998232,"maxTime":0.1298820000001797,"minTime":0.08859699999993609},{"name":"encodeAmpsAndAngles","time":0.10304694999997537,"maxTime":0.19196099999999205,"minTime":0.09462400000029447},{"name":"encodeBackslashEscapes","time":0.1064521499999728,"maxTime":0.5894419999999627,"minTime":0.07051600000022518},{"name":"encodeCode","time":0.9265486000000009,"maxTime":1.1821999999997388,"minTime":0.8347420000000056},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.2759772000000112,"maxTime":0.6171669999998812,"minTime":0.24530000000004293},{"name":"githubCodeBlocks","time":0.1951549499999828,"maxTime":0.9799929999999222,"minTime":0.1386210000000574},{"name":"hashBlock","time":0.062304449999965074,"maxTime":0.4833670000002712,"minTime":0.03495699999984936},{"name":"hashElement","time":0.0014464500000030966,"maxTime":0.024711000000024796,"minTime":0},{"name":"hashHTMLSpans","time":4.1203715999999755,"maxTime":4.609765000000152,"minTime":3.8587989999996353},{"name":"hashPreCodeTags","time":0.14734550000000582,"maxTime":0.5351989999999205,"minTime":0.10487000000011903},{"name":"headers","time":1.3076671999999916,"maxTime":4.252966000000015,"minTime":0.8564390000001367},{"name":"horizontalRule","time":0.2203779999999597,"maxTime":0.3742779999997765,"minTime":0.19407000000001062},{"name":"images","time":0.15025354999997945,"maxTime":0.506872000000385,"minTime":0.1163219999998546},{"name":"italicsAndBold","time":0.30579589999997553,"maxTime":0.872110000000248,"minTime":0.24138200000015786},{"name":"lists","time":3.447394599999984,"maxTime":4.893336999999974,"minTime":2.407492000000275},{"name":"outdent","time":0.26698190000001887,"maxTime":0.8684939999998278,"minTime":0.1808109999997214},{"name":"paragraphs","time":5.866655149999997,"maxTime":8.331147999999757,"minTime":4.9695779999997285},{"name":"spanGamut","time":5.038527899999986,"maxTime":7.123635999999806,"minTime":4.11615299999994},{"name":"strikethrough","time":0.003992900000002919,"maxTime":0.07322800000019924,"minTime":0},{"name":"stripLinkDefinitions","time":0.15298084999997172,"maxTime":0.24288900000010472,"minTime":0.13952599999993254},{"name":"tables","time":0.0024410000000443686,"maxTime":0.043695999999727064,"minTime":0},{"name":"unescapeSpecialChars","time":0.008663700000033714,"maxTime":0.0406820000002881,"minTime":0.006628999999975349}]}],"1.6.4":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.37575447999999595,"maxTime":6.3811059999999316,"minTime":0.182617999999934},{"name":"performance.testfile.md","time":33.83478732000001,"maxTime":61.04858100000001,"minTime":30.186325000000124}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":2.5643760500000328,"maxTime":8.346818999999869,"minTime":1.8710879999998724},{"name":"anchors","time":0.4985702000000174,"maxTime":4.221624999999676,"minTime":0.27031199999964883},{"name":"autoLinks","time":0.08000864999996793,"maxTime":0.17357799999990675,"minTime":0.06087299999990137},{"name":"blockQuotes","time":3.3429765499999804,"maxTime":7.305651000000125,"minTime":2.8504790000001776},{"name":"codeBlocks","time":0.22134235000003172,"maxTime":0.8220859999996719,"minTime":0.17176999999992404},{"name":"codeSpans","time":0.22901160000001256,"maxTime":0.7443360000002031,"minTime":0.15579799999977695},{"name":"detab","time":0.0973213499999929,"maxTime":0.15429100000028484,"minTime":0.08618699999988166},{"name":"encodeAmpsAndAngles","time":0.11678870000000643,"maxTime":0.19979600000033315,"minTime":0.09432200000037483},{"name":"encodeBackslashEscapes","time":0.08623155000002498,"maxTime":0.2296289999999317,"minTime":0.06810499999983222},{"name":"encodeCode","time":0.8853238499999861,"maxTime":1.1647219999999834,"minTime":0.8163599999998041},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.2983526000000438,"maxTime":0.4954210000000785,"minTime":0.2401769999996759},{"name":"githubCodeBlocks","time":0.18343240000001515,"maxTime":0.7847170000000006,"minTime":0.1331980000004478},{"name":"hashBlock","time":0.0443587499999694,"maxTime":0.09763799999973344,"minTime":0.035257999999885214},{"name":"hashElement","time":0.00200395000001663,"maxTime":0.03345000000035725,"minTime":0},{"name":"hashHTMLSpans","time":4.199521549999963,"maxTime":4.551605000000109,"minTime":3.9874759999997877},{"name":"hashPreCodeTags","time":0.1295205500000293,"maxTime":0.3134050000003299,"minTime":0.10637700000006589},{"name":"headers","time":1.2236204000000044,"maxTime":4.009776000000329,"minTime":0.944735000000037},{"name":"horizontalRule","time":0.41190154999999323,"maxTime":4.175217999999859,"minTime":0.19648000000006505},{"name":"images","time":0.08806979999997111,"maxTime":0.20250800000030722,"minTime":0.0732279999997445},{"name":"italicsAndBold","time":0.2764291999999841,"maxTime":0.4137550000000374,"minTime":0.23324500000035187},{"name":"lists","time":5.0047764500000085,"maxTime":6.109288000000106,"minTime":4.663406000000123},{"name":"outdent","time":0.1521370000000161,"maxTime":0.3366089999999531,"minTime":0.13922500000035143},{"name":"paragraphs","time":5.336081549999994,"maxTime":7.117005000000063,"minTime":4.843312999999853},{"name":"spanGamut","time":4.449883849999901,"maxTime":6.152983999999833,"minTime":3.8569910000001073},{"name":"strikethrough","time":0.002606700000001183,"maxTime":0.04881900000009409,"minTime":0},{"name":"stripLinkDefinitions","time":0.18040370000001077,"maxTime":0.3161169999998492,"minTime":0.14705999999978303},{"name":"tables","time":0.0031190500000320754,"maxTime":0.05544899999995323,"minTime":0},{"name":"unescapeSpecialChars","time":0.009281650000002629,"maxTime":0.047313000000031025,"minTime":0.006628999999975349}]}],"1.6.3":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.3880986600000119,"maxTime":6.064399999999978,"minTime":0.17418099999997594},{"name":"performance.testfile.md","time":26.898552680000012,"maxTime":49.06275100000005,"minTime":24.84523399999989}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":2.6158222500000194,"maxTime":8.18079200000011,"minTime":1.8985149999998612},{"name":"anchors","time":0.5154769000000442,"maxTime":4.690839000000324,"minTime":0.2639840000001641},{"name":"autoLinks","time":0.09307249999999385,"maxTime":0.18834400000014284,"minTime":0.07262600000012753},{"name":"blockQuotes","time":4.5183903999999755,"maxTime":8.952854000000116,"minTime":3.035816000000068},{"name":"codeBlocks","time":0.22262349999998604,"maxTime":0.347758999999769,"minTime":0.18834500000002663},{"name":"codeSpans","time":0.31763950000004115,"maxTime":1.0948100000000522,"minTime":0.1771950000002107},{"name":"detab","time":0.0919273999999632,"maxTime":0.13651200000003882,"minTime":0.08739199999990888},{"name":"encodeAmpsAndAngles","time":0.0438916999999492,"maxTime":0.08919999999989159,"minTime":0.038271000000349886},{"name":"encodeBackslashEscapes","time":0.10785369999998692,"maxTime":0.2651890000001913,"minTime":0.07835100000011153},{"name":"encodeCode","time":1.5346329500000138,"maxTime":9.895783999999821,"minTime":0.8645779999997103},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.2937122499999759,"maxTime":0.5234480000003714,"minTime":0.25343700000030367},{"name":"githubCodeBlocks","time":0.20775164999997742,"maxTime":0.7901440000000548,"minTime":0.1416349999999511},{"name":"hashBlock","time":0.042234400000006646,"maxTime":0.12325299999974959,"minTime":0.035860999999840715},{"name":"hashElement","time":0.0016724999999951252,"maxTime":0.028929000000061933,"minTime":0},{"name":"hashHTMLSpans","time":0.4103353000000197,"maxTime":1.5980680000002394,"minTime":0.2404790000000503},{"name":"hashPreCodeTags","time":0.13196184999997057,"maxTime":0.3950719999998,"minTime":0.11029400000006717},{"name":"headers","time":1.0150126000000683,"maxTime":1.501936999999998,"minTime":0.8055130000002464},{"name":"horizontalRule","time":0.22018260000002102,"maxTime":0.35710100000005696,"minTime":0.1946739999998499},{"name":"images","time":0.1582398000000012,"maxTime":0.978186999999707,"minTime":0.07684500000004846},{"name":"italicsAndBold","time":0.28757974999998626,"maxTime":0.6394679999998516,"minTime":0.24078000000008615},{"name":"lists","time":5.151319100000023,"maxTime":6.331397000000379,"minTime":4.629061999999976},{"name":"outdent","time":0.18019314999994548,"maxTime":0.36342999999988024,"minTime":0.14253999999982625},{"name":"paragraphs","time":4.547636500000022,"maxTime":6.308794999999918,"minTime":4.002250999999887},{"name":"spanGamut","time":1.5190982500000245,"maxTime":1.863557999999557,"minTime":1.3720530000000508},{"name":"strikethrough","time":0.003450399999996989,"maxTime":0.06539299999985815,"minTime":0},{"name":"stripLinkDefinitions","time":0.1786111499999606,"maxTime":0.3128030000002582,"minTime":0.1443480000002637},{"name":"tables","time":0.0035106999999925392,"maxTime":0.06268099999988408,"minTime":0.00030099999958110857},{"name":"unescapeSpecialChars","time":0.01146649999998317,"maxTime":0.04881900000009409,"minTime":0.006628999999975349}]}],"1.6.2":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.6130621400000001,"maxTime":5.893518999999998,"minTime":0.16875699999999938},{"name":"performance.testfile.md","time":25.970254839999992,"maxTime":62.88168,"minTime":23.709682999999927}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":2.6685977000000323,"maxTime":8.478507000000036,"minTime":1.8846490000000813},{"name":"anchors","time":0.5002727000000278,"maxTime":3.841318999999885,"minTime":0.2676000000001295},{"name":"autoLinks","time":0.09846654999997781,"maxTime":0.21064500000011321,"minTime":0.07202299999994466},{"name":"blockQuotes","time":3.221817550000014,"maxTime":5.825714999999946,"minTime":2.791112000000112},{"name":"codeBlocks","time":0.17663659999998343,"maxTime":0.3712639999998828,"minTime":0.1570040000001427},{"name":"codeSpans","time":0.2181328999999778,"maxTime":0.483066000000008,"minTime":0.15097700000001169},{"name":"detab","time":0.13492999999998573,"maxTime":0.6545340000000124,"minTime":0.08498099999997066},{"name":"encodeAmpsAndAngles","time":0.04158639999994875,"maxTime":0.11752699999988181,"minTime":0.03616199999987657},{"name":"encodeBackslashEscapes","time":0.0800689000000034,"maxTime":0.13319799999999304,"minTime":0.06780399999979636},{"name":"encodeCode","time":0.5599700499999927,"maxTime":0.9821019999999407,"minTime":0.48396900000011556},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.35280645000001415,"maxTime":0.5683480000000145,"minTime":0.2914060000000518},{"name":"githubCodeBlocks","time":0.17996669999999995,"maxTime":0.7729650000001129,"minTime":0.1274710000000141},{"name":"hashBlock","time":0.057723849999990764,"maxTime":0.31159699999989243,"minTime":0.037368000000014945},{"name":"hashElement","time":0.0025463500000000748,"maxTime":0.04610600000000886,"minTime":0},{"name":"hashHTMLSpans","time":0.47458235000001425,"maxTime":2.325223000000051,"minTime":0.2344510000000355},{"name":"hashPreCodeTags","time":0.12186629999998785,"maxTime":0.3073779999999715,"minTime":0.10697999999979402},{"name":"headers","time":0.8577350000000024,"maxTime":0.9540770000000975,"minTime":0.7801970000000438},{"name":"horizontalRule","time":0.22663095000001476,"maxTime":0.41797300000007453,"minTime":0.1967819999999847},{"name":"images","time":0.17053435000000264,"maxTime":1.4528119999999944,"minTime":0.07714599999985694},{"name":"italicsAndBold","time":0.10093754999998054,"maxTime":0.20220699999981662,"minTime":0.0882960000001276},{"name":"lists","time":4.9306124000000064,"maxTime":5.460477999999966,"minTime":4.55642499999999},{"name":"outdent","time":0.16260889999998654,"maxTime":0.31461000000012973,"minTime":0.1416349999999511},{"name":"paragraphs","time":3.7896679000000177,"maxTime":5.563840999999911,"minTime":3.278396000000157},{"name":"spanGamut","time":1.4417527499999891,"maxTime":2.0124210000001312,"minTime":1.2032939999999144},{"name":"strikethrough","time":0.004233999999985372,"maxTime":0.08196800000018811,"minTime":0},{"name":"stripBlankLines","time":0.08623144999999113,"maxTime":0.1304850000001352,"minTime":0.0804600000001301},{"name":"stripLinkDefinitions","time":0.15983660000002828,"maxTime":0.21727400000008856,"minTime":0.1446480000001884},{"name":"tables","time":0.004143600000008974,"maxTime":0.07593999999994594,"minTime":0},{"name":"unescapeSpecialChars","time":0.00991439999999102,"maxTime":0.0581609999999273,"minTime":0.006628999999975349}]}],"1.6.1":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.3172682400000001,"maxTime":5.4981469999999995,"minTime":0.16062000000000154},{"name":"readme.md","time":26.0144148,"maxTime":46.79858399999999,"minTime":24.245484999999917}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":2.6414157500000215,"maxTime":7.791727999999921,"minTime":1.9364810000001853},{"name":"anchors","time":0.47462755000000245,"maxTime":4.062812000000122,"minTime":0.25885999999991327},{"name":"autoLinks","time":0.08906409999998459,"maxTime":0.19708299999979317,"minTime":0.06870800000001509},{"name":"blockQuotes","time":3.213485000000014,"maxTime":6.05383699999993,"minTime":2.880010000000084},{"name":"codeBlocks","time":0.16200620000001892,"maxTime":0.2691060000001926,"minTime":0.15308599999980288},{"name":"codeSpans","time":0.169494799999984,"maxTime":0.39868699999988166,"minTime":0.1410319999999956},{"name":"detab","time":0.12471390000000611,"maxTime":0.6647800000000643,"minTime":0.08558400000015354},{"name":"encodeAmpsAndAngles","time":0.04181244999999763,"maxTime":0.08920000000011896,"minTime":0.03796999999985928},{"name":"encodeBackslashEscapes","time":0.07586505000000443,"maxTime":0.13289599999984603,"minTime":0.06810500000005959},{"name":"encodeCode","time":0.5765897500000051,"maxTime":0.970348999999942,"minTime":0.4791480000001229},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.24603789999998754,"maxTime":0.35047099999997045,"minTime":0.22119199999997363},{"name":"githubCodeBlocks","time":0.1767573999999968,"maxTime":0.815454999999929,"minTime":0.1250600000000759},{"name":"hashBlock","time":0.06537804999999253,"maxTime":0.42972599999984595,"minTime":0.0376690000000508},{"name":"hashElement","time":0.0020039500000052614,"maxTime":0.034051999999974214,"minTime":0},{"name":"hashHTMLSpans","time":0.42437735000000887,"maxTime":2.3210050000000138,"minTime":0.24078000000008615},{"name":"hashPreCodeTags","time":0.12225794999998243,"maxTime":0.23836899999992056,"minTime":0.10396600000012768},{"name":"headers","time":0.8037480999999957,"maxTime":0.9462419999999838,"minTime":0.7256529999999657},{"name":"horizontalRule","time":0.2186149999999884,"maxTime":0.27362700000003315,"minTime":0.19437100000004648},{"name":"images","time":0.12388539999997192,"maxTime":0.9019430000000739,"minTime":0.07081799999991745},{"name":"italicsAndBold","time":0.10089220000002115,"maxTime":0.15037400000005618,"minTime":0.08950099999992744},{"name":"lists","time":4.938929699999983,"maxTime":5.421000999999933,"minTime":4.623625999999831},{"name":"outdent","time":0.1648239000000217,"maxTime":0.3372110000000248,"minTime":0.1404290000000401},{"name":"paragraphs","time":3.4947812,"maxTime":4.554917999999816,"minTime":3.1714170000000195},{"name":"spanGamut","time":1.318997649999983,"maxTime":1.9916279999999915,"minTime":1.1469409999999698},{"name":"strikethrough","time":0.007458499999995638,"maxTime":0.14314200000012534,"minTime":0},{"name":"stripBlankLines","time":0.09447364999999763,"maxTime":0.1545929999999771,"minTime":0.0822689999999966},{"name":"stripLinkDefinitions","time":0.1762751000000094,"maxTime":0.3112949999999728,"minTime":0.1464570000000549},{"name":"tables","time":0.0023505499999828317,"maxTime":0.03947699999980614,"minTime":0},{"name":"unescapeSpecialChars","time":0.008332400000006146,"maxTime":0.03375200000004952,"minTime":0.0066299999998591375}]}],"1.6.0":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.3075345600000001,"maxTime":5.369168,"minTime":0.1570040000000006},{"name":"readme.md","time":25.81825956,"maxTime":47.795452,"minTime":23.775378000000046}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":2.652987649999966,"maxTime":8.557761999999911,"minTime":1.8804290000000492},{"name":"anchors","time":0.5166509500000303,"maxTime":4.142066999999997,"minTime":0.27121600000009494},{"name":"autoLinks","time":0.0885518999999931,"maxTime":0.19437100000004648,"minTime":0.0705159999999978},{"name":"blockGamut","time":17.371581599999978,"maxTime":22.94093699999985,"minTime":14.081522999999834},{"name":"blockQuotes","time":3.011308699999995,"maxTime":4.110426000000189,"minTime":2.7742359999999735},{"name":"codeBlocks","time":0.24291900000000624,"maxTime":0.8344409999999698,"minTime":0.19346700000005512},{"name":"codeSpans","time":0.2271433000000002,"maxTime":0.4583549999999832,"minTime":0.19135800000003655},{"name":"detab","time":0.09469964999999547,"maxTime":0.13289599999984603,"minTime":0.08950099999992744},{"name":"encodeAmpsAndAngles","time":0.040486450000014426,"maxTime":0.07262600000012753,"minTime":0.03766799999993964},{"name":"encodeBackslashEscapes","time":0.09959649999997282,"maxTime":0.5095850000000155,"minTime":0.06840699999997923},{"name":"encodeCode","time":0.5320952499999863,"maxTime":0.7057630000001609,"minTime":0.4794489999999314},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.38607564999999794,"maxTime":0.7018459999999322,"minTime":0.326663999999937},{"name":"githubCodeBlocks","time":0.21441115000002356,"maxTime":0.7780880000000252,"minTime":0.15579800000000432},{"name":"hashBlock","time":0.056638900000007195,"maxTime":0.27995499999997264,"minTime":0.035257999999885214},{"name":"hashElement","time":0.001958799999999883,"maxTime":0.033148999999866646,"minTime":0},{"name":"hashHTMLSpans","time":0.38414695000003574,"maxTime":1.9973540000000867,"minTime":0.2356569999999465},{"name":"hashPreCodeTags","time":0.1327451500000393,"maxTime":0.20009700000014163,"minTime":0.1157189999998991},{"name":"headers","time":0.9440720999999825,"maxTime":2.4683650000001762,"minTime":0.7823069999999461},{"name":"images","time":0.12035954999996648,"maxTime":0.4857769999998709,"minTime":0.08588499999996202},{"name":"italicsAndBold","time":0.11076150000000098,"maxTime":0.4447930000001179,"minTime":0.08799499999986438},{"name":"lists","time":5.782546349999995,"maxTime":13.248890999999958,"minTime":4.463608999999906},{"name":"outdent","time":0.3057505000000219,"maxTime":0.9561860000001161,"minTime":0.22541000000001077},{"name":"paragraphs","time":6.582542549999971,"maxTime":8.810596000000032,"minTime":4.498867000000246},{"name":"spanGamut","time":2.43690389999997,"maxTime":3.067450000000008,"minTime":1.6474849999999606},{"name":"strikethrough","time":0.005228549999992537,"maxTime":0.10035000000016225,"minTime":0},{"name":"stripBlankLines","time":0.12142940000005638,"maxTime":0.17508399999996982,"minTime":0.09191199999986566},{"name":"stripLinkDefinitions","time":0.24673084999997172,"maxTime":0.572566000000279,"minTime":0.17146900000034293},{"name":"tables","time":0.005650249999962398,"maxTime":0.0985419999997248,"minTime":0.00030099999958110857},{"name":"unescapeSpecialChars","time":0.016694800000050237,"maxTime":0.06569400000034875,"minTime":0.011450999999851774}]}]} \ No newline at end of file diff --git a/performance.log.md b/performance.log.md index 7547cfa..a600bf9 100644 --- a/performance.log.md +++ b/performance.log.md @@ -1,6 +1,47 @@ # Performance Tests for showdown +## [version 1.8.4](https://github.com/showdownjs/showdown/tree/1.8.4) + +### Test Suite: Basic (50 cycles) +| test | avgTime | max | min | +|:-----|--------:|----:|----:| +|Simple "Hello World"|0.736|11.076|0.117| +|performance.testfile.md|32.918|62.427|27.941| + +### Test Suite: subParsers (20 cycles) +| test | avgTime | max | min | +|:-----|--------:|----:|----:| +|hashHTMLBlocks|5.260|17.333|2.340| +|anchors|0.522|2.898|0.307| +|autoLinks|0.124|0.300|0.071| +|blockQuotes|2.244|3.333|2.015| +|codeBlocks|0.244|0.817|0.190| +|codeSpans|0.354|1.201|0.243| +|detab|0.096|0.143|0.088| +|encodeAmpsAndAngles|0.138|0.198|0.096| +|encodeBackslashEscapes|0.093|0.184|0.071| +|encodeCode|0.961|1.611|0.858| +|escapeSpecialCharsWithinTagAttributes|0.252|0.520|0.158| +|githubCodeBlocks|0.262|0.390|0.161| +|hashBlock|0.052|0.129|0.037| +|hashElement|0.003|0.040|0.000| +|hashHTMLSpans|4.240|4.673|4.044| +|hashPreCodeTags|0.134|0.337|0.113| +|headers|1.412|4.475|1.077| +|horizontalRule|0.358|2.686|0.196| +|images|0.184|0.480|0.130| +|italicsAndBold|0.300|0.458|0.234| +|lists|3.074|4.651|2.626| +|outdent|0.204|0.931|0.137| +|paragraphs|6.406|8.020|5.821| +|spanGamut|4.136|6.038|3.840| +|strikethrough|0.007|0.132|0.000| +|stripLinkDefinitions|0.248|0.403|0.217| +|tables|0.003|0.040|0.001| +|unescapeSpecialChars|0.009|0.039|0.007| + + ## [version 1.8.3](https://github.com/showdownjs/showdown/tree/1.8.3) ### Test Suite: Basic (50 cycles) From 27f4d604b464b7a1f4d16adfadddfbe72acd4b49 Mon Sep 17 00:00:00 2001 From: Estevao Soares dos Santos Date: Sat, 9 Dec 2017 18:54:58 +0000 Subject: [PATCH 3/7] update donors --- DONATIONS.md | 2 ++ dist/showdown.js | Bin 167671 -> 167671 bytes dist/showdown.min.js | Bin 96432 -> 96432 bytes 3 files changed, 2 insertions(+) diff --git a/DONATIONS.md b/DONATIONS.md index 60506b0..71094fb 100644 --- a/DONATIONS.md +++ b/DONATIONS.md @@ -17,3 +17,5 @@ We would like to thank everyone that contributed to this library. If you find ou - **Walter Schnell** (10$) - [**Learn on demand Systems**](http://www.learnondemandsystems.com/) (1000$) + +- **ivanhjc** (5$) diff --git a/dist/showdown.js b/dist/showdown.js index f2b9ff7af6faa3b68cb28d43df9b0e6414355fea..1e9fb75201100c39f860e19385c4d01bd2a30ac9 100644 GIT binary patch delta 20 ccmex9m+Sjnt_hNimW@)aQjA-rnC|ug09Qi?mjD0& delta 20 ccmex9m+Sjnt_hNirj1gqQjA-rnC|ug09O|WlK=n! diff --git a/dist/showdown.min.js b/dist/showdown.min.js index f7e47ff32944415966b1de0de588049cf3762ff3..8b0db7268f1798acd65151e61a5b419b57ce0b5a 100644 GIT binary patch delta 17 Zcmdn+k#)mI)(H}fmW`5IB^jqz002YT2B!c3 delta 17 Zcmdn+k#)mI)(H}frj3$YB^jqz002X|2BQD~ From cc19d9b3e062caffb6da17f8da0856eec73d0475 Mon Sep 17 00:00:00 2001 From: Estevao Soares dos Santos Date: Sat, 9 Dec 2017 19:13:05 +0000 Subject: [PATCH 4/7] update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3cc4c04..5240049 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "1.8.4", "description": "A Markdown to HTML converter written in Javascript", "author": "Estevão Santos", - "homepage": "http://showdownjs.github.io/showdown/", + "homepage": "http://showdownjs.com/", "keywords": [ "markdown", "converter" From a8427c9423dd93ca7ce10161ff67d3b191389f5e Mon Sep 17 00:00:00 2001 From: Estevao Soares dos Santos Date: Sun, 10 Dec 2017 04:49:24 +0000 Subject: [PATCH 5/7] feat(completeHTMLOutput): add option to output a complete HTML document --- dist/showdown.js | Bin 167671 -> 168544 bytes dist/showdown.js.map | Bin 416270 -> 418747 bytes dist/showdown.min.js | Bin 96432 -> 96927 bytes dist/showdown.min.js.map | Bin 73664 -> 74030 bytes src/converter.js | 3 +++ src/options.js | 5 +++++ src/subParsers/completeHTMLOutput.js | 17 +++++++++++++++++ test/features/completeHTMLOutput/simple.html | 14 ++++++++++++++ test/features/completeHTMLOutput/simple.md | 7 +++++++ test/node/testsuite.features.js | 13 ++++++++++++- 10 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 src/subParsers/completeHTMLOutput.js create mode 100644 test/features/completeHTMLOutput/simple.html create mode 100644 test/features/completeHTMLOutput/simple.md diff --git a/dist/showdown.js b/dist/showdown.js index 1e9fb75201100c39f860e19385c4d01bd2a30ac9..bb806080153459d83ff3bc0234deefcd226ccb3a 100644 GIT binary patch delta 458 zcmex9m+Qe2t_c!Mh6Wp@jtftg=VB8~&d)8#Ni9kB2=VptFD)r3ogBbt5&&kE6e}bu zz~mJ&N^)})Qu32ab5rw5bQCi4l5&^~8A#`*mHhPn*%=E-4CcEty Jt}v?a0ssOfq>%ss delta 36 ucmV+<0NelIqzd<)3Xm8AFgdXr#}k8^6t|ib0W*iUaGU|XIk!640VcW;CJvea diff --git a/dist/showdown.js.map b/dist/showdown.js.map index 2697701878525e1757d1f3ab785b225f97cf5e54..52d42695ad773777dcdd3d8a67e75b06e874d604 100644 GIT binary patch delta 969 zcmZ`%T}V@580LJR-&)7)sEy@>?DHq*@@Mm+=tphSnh}aK%@8K+=#Dzw&enEDKZ1!u z2AN7<_(l*ILeP!O43=2n=pyOL>Y|%26e6L5^xmX%HbxM3_dMVGzR&x<&-+cjG%dd~ z#hhGjPcRVjONw-{y}79+s)V8n+u-sRo!pmV<}wOwIQs%~PbRycG*<>NO9;%WAIOg2-aa zu?dXBP3PGMTRw!IBLiET=b8OFKSnKaYT=gN!pbA9+fn{+>srRMwTC>L?dDT8w*3V& z3n)W(*5POfIl=LRtI`eDI~;@c@U#k5!>$GEVfD1yv}yqJGoy%yl}4Nq-~P$v8n9J# zLe6LOBtFNX+pR!3G?uQuHi25W6OfodRuD$83A)PAopf;9gY94|M_KTDNF8z3sj9AX zgtg2O2;Ng)Vpn;fo7^GrNGKERF+^Z9p$;)JshXoXl+F-fb_xlMJ`>=6E;@7v?ju=NU8g760GU8&PYs7TWvg7zx`KlKKCq5(-(DyUEH@khNrxsQ5k zv{0R=LPL`1t@BV(_Nt^i=)I{DMeK`!xP<9=M*_z?5*e$Ho5PaqmBRm(SJfkmDn*06 zYEDQDD?ZUreZ5ramuN7g_<}O^MW`f;-G0dnJDsF(uYEQ;$q}&KB^hy(o0QamwU0Dq zrx!~9a9AHD=U~1~m$jF~u0uy*C`wB9sI%%yHTBGXbIJj?TTU6Efq|agD^IzL>a>tG>5_($4ynLQ%c&yWP^y%$FHmMtnK_x5j;ke_#W3=TROI}-KorDc MT|>O)5&4+-1DS_XA^-pY delta 172 zcmV;d08{_F#~F^a8L&nHvv2|2BeQuXxdQ`eOhlKVKmsI_z!(abkb(mgmyo{!3YTCs z0uz(K76g;+1s8*_Dz~pH0fEDpPjCYYli*|ulkiCdw@~i^5)=b9VMdqntOF#M@T&q8 zmmvEA1ebvO0S1>Z6axyE5Rn28x4;7e!BLZ-S_+fE848o&w+ffQ<^c|eZ&?DjZ&?Ef aZih9<1GhEE1jw4VqhkdhJh$qh1<}DF4nqb2 diff --git a/dist/showdown.min.js b/dist/showdown.min.js index 8b0db7268f1798acd65151e61a5b419b57ce0b5a..bf11a0d8cb326051813b571fabff34030b70533f 100644 GIT binary patch delta 388 zcmdn+k#+u8)(PTFh6WoY75RmAlJj#5a#BlDJwkka{7Xv;N=qhx;FS-6FpCuu6<`V! zGD>oD6jJh&OLJ56N^}%5^OAE)Q!?|?6%uSfQg#VCAXaK(id}+2VqOZ6la!xQ3FMR{ zrWZGB@^9DVXS~6znQrT;S6rGDkXTflTBM-_Gag~TlBPzwPQH%g_WweRlHx*`3Z@&D zGHPHGmsezzuE$ibmz0{8UzDn(ldj{ay+ArQwFKzZ43MKrY?VSo z+;lCJ?119>U=INqV86uVscWa}l@w*>YG`UJfuy0rKy{!X09rA9vI3(7Hpi_kV^rKO Jp~X1E4*+g;h1>uD delta 36 scmbRLm36~M)(PTF29_Ho75SUb@^3%O&v=}9`+i|Yaq;c!I*c>?004Xpk^lez diff --git a/dist/showdown.min.js.map b/dist/showdown.min.js.map index b4e6a8d163a481060c33158f778903b9e25c1e96..2cf99027dd446d00586ec5aefcac1850dba9231a 100644 GIT binary patch delta 5210 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 delta 5033 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 YWF5)P9&91ElbRV-IJ~6WH;^y?4Rgl&?EnA( diff --git a/src/converter.js b/src/converter.js index eacf003..8325fda 100644 --- a/src/converter.js +++ b/src/converter.js @@ -314,6 +314,9 @@ showdown.Converter = function (converterOptions) { // attacklab: Restore tremas text = text.replace(/¨T/g, '¨'); + // render a complete html document instead of a partial if the option is enabled + text = showdown.subParser('completeHTMLOutput')(text, options, globals); + // Run output modifiers showdown.helper.forEach(outputModifiers, function (ext) { text = showdown.subParser('runExtension')(ext, text, options, globals); diff --git a/src/options.js b/src/options.js index fc4df19..c743c45 100644 --- a/src/options.js +++ b/src/options.js @@ -150,6 +150,11 @@ function getDefaultOpts (simple) { defaultValue: false, description: 'Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `` and ``', type: 'boolean' + }, + completeHTMLOutput: { + defaultValue: false, + description: 'Outputs a complete html document, including ``, `` and `` tags', + type: 'boolean' } }; if (simple === false) { diff --git a/src/subParsers/completeHTMLOutput.js b/src/subParsers/completeHTMLOutput.js new file mode 100644 index 0000000..7b8c722 --- /dev/null +++ b/src/subParsers/completeHTMLOutput.js @@ -0,0 +1,17 @@ +/** + * Turn Markdown link shortcuts into XHTML tags. + */ +showdown.subParser('completeHTMLOutput', function (text, options, globals) { + 'use strict'; + + if (!options.completeHTMLOutput) { + return text; + } + + text = globals.converter._dispatch('completeHTMLOutput.before', text, options, globals); + + text = '\n\n\n\n\n' + text.trim() + '\n\n'; + + text = globals.converter._dispatch('completeHTMLOutput.after', text, options, globals); + return text; +}); diff --git a/test/features/completeHTMLOutput/simple.html b/test/features/completeHTMLOutput/simple.html new file mode 100644 index 0000000..62aa62a --- /dev/null +++ b/test/features/completeHTMLOutput/simple.html @@ -0,0 +1,14 @@ + + + + + +

    This is a markdown file

    +

    Converted into a full HTML document

    +
      +
    • this
    • +
    • is
    • +
    • awesome
    • +
    + + diff --git a/test/features/completeHTMLOutput/simple.md b/test/features/completeHTMLOutput/simple.md new file mode 100644 index 0000000..e35ed26 --- /dev/null +++ b/test/features/completeHTMLOutput/simple.md @@ -0,0 +1,7 @@ +This is a **markdown** file + +Converted into a full HTML document + + - this + - is + - awesome diff --git a/test/node/testsuite.features.js b/test/node/testsuite.features.js index a0d0194..a7ee7e8 100644 --- a/test/node/testsuite.features.js +++ b/test/node/testsuite.features.js @@ -14,7 +14,8 @@ var bootstrap = require('../bootstrap.js'), emojisSuite = bootstrap.getTestSuite('test/features/emojis/'), underlineSuite = bootstrap.getTestSuite('test/features/underline/'), literalMidWordUnderscoresSuite = bootstrap.getTestSuite('test/features/literalMidWordUnderscores/'), - literalMidWordAsterisksSuite = bootstrap.getTestSuite('test/features/literalMidWordAsterisks/'); + literalMidWordAsterisksSuite = bootstrap.getTestSuite('test/features/literalMidWordAsterisks/'), + completeHTMLOutputSuite = bootstrap.getTestSuite('test/features/completeHTMLOutput/'); describe('makeHtml() features testsuite', function () { 'use strict'; @@ -231,4 +232,14 @@ describe('makeHtml() features testsuite', function () { it(suite[i].name.replace(/-/g, ' '), assertion(suite[i], converter)); } }); + + /** test completeHTMLOutput option **/ + describe('completeHTMLOutput option', function () { + var converter, + suite = completeHTMLOutputSuite; + for (var i = 0; i < suite.length; ++i) { + converter = new showdown.Converter({completeHTMLOutput: true}); + it(suite[i].name.replace(/-/g, ' '), assertion(suite[i], converter)); + } + }); }); From 63d949f7312b4cd74bbf21a2d31e5c59d94bddd2 Mon Sep 17 00:00:00 2001 From: Estevao Soares dos Santos Date: Sun, 10 Dec 2017 07:15:09 +0000 Subject: [PATCH 6/7] feat(metadata): add support for embedded metadata MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A simple metadata parser can be useful in markdown documents. This commit introduces the feature, with the following syntax: --- or ««« at tstart of the document, (optionally) followed by a alphanumeric format identifier followed by key value pairs separated by a colon and a space followed by --- or  Also, adds methods for retrieving the parsed metadata, namely: getMetadata() and getMetadataFormat Closes #260 --- dist/showdown.js | Bin 168544 -> 172943 bytes dist/showdown.js.map | Bin 418747 -> 431406 bytes dist/showdown.min.js | Bin 96927 -> 98898 bytes dist/showdown.min.js.map | Bin 74030 -> 76214 bytes src/converter.js | 70 +++++++++++++++++- src/options.js | 7 +- src/subParsers/completeHTMLDocument.js | 62 ++++++++++++++++ src/subParsers/completeHTMLOutput.js | 17 ----- src/subParsers/metadata.js | 49 ++++++++++++ test/features/completeHTMLOutput/simple.html | 9 ++- test/features/metadata/dashes-conflict.html | 8 ++ test/features/metadata/dashes-conflict.md | 16 ++++ test/features/metadata/embeded-in-output.html | 16 ++++ test/features/metadata/embeded-in-output.md | 16 ++++ ...ive-metadata-blocks-different-symbols.html | 22 ++++++ ...utive-metadata-blocks-different-symbols.md | 18 +++++ ...beded-two-consecutive-metadata-blocks.html | 22 ++++++ ...embeded-two-consecutive-metadata-blocks.md | 18 +++++ test/features/metadata/ignore-metadata.html | 15 ++++ test/features/metadata/ignore-metadata.md | 18 +++++ .../metadata/simple-angled-for-method.html | 1 + .../metadata/simple-angled-for-method.md | 6 ++ .../metadata/simple-angled-quotes.html | 1 + .../features/metadata/simple-angled-quotes.md | 16 ++++ .../metadata/simple-three-dashes.html | 1 + test/features/metadata/simple-three-dashes.md | 16 ++++ .../features/metadata/simple-with-format.html | 1 + test/features/metadata/simple-with-format.md | 9 +++ test/node/showdown.Converter.js | 14 ++++ test/node/showdown.Converter.makeHtml.js | 37 +++++++++ test/node/testsuite.features.js | 30 +++++++- 31 files changed, 486 insertions(+), 29 deletions(-) create mode 100644 src/subParsers/completeHTMLDocument.js delete mode 100644 src/subParsers/completeHTMLOutput.js create mode 100644 src/subParsers/metadata.js create mode 100644 test/features/metadata/dashes-conflict.html create mode 100644 test/features/metadata/dashes-conflict.md create mode 100644 test/features/metadata/embeded-in-output.html create mode 100644 test/features/metadata/embeded-in-output.md create mode 100644 test/features/metadata/embeded-two-consecutive-metadata-blocks-different-symbols.html create mode 100644 test/features/metadata/embeded-two-consecutive-metadata-blocks-different-symbols.md create mode 100644 test/features/metadata/embeded-two-consecutive-metadata-blocks.html create mode 100644 test/features/metadata/embeded-two-consecutive-metadata-blocks.md create mode 100644 test/features/metadata/ignore-metadata.html create mode 100644 test/features/metadata/ignore-metadata.md create mode 100644 test/features/metadata/simple-angled-for-method.html create mode 100644 test/features/metadata/simple-angled-for-method.md create mode 100644 test/features/metadata/simple-angled-quotes.html create mode 100644 test/features/metadata/simple-angled-quotes.md create mode 100644 test/features/metadata/simple-three-dashes.html create mode 100644 test/features/metadata/simple-three-dashes.md create mode 100644 test/features/metadata/simple-with-format.html create mode 100644 test/features/metadata/simple-with-format.md diff --git a/dist/showdown.js b/dist/showdown.js index bb806080153459d83ff3bc0234deefcd226ccb3a..33fa5a8408ecc7321e65167ea1a4f3a875f26174 100644 GIT binary patch delta 3750 zcmbtX-ES0C6wh5L;09<31*}$jD1_PVw!0*Nnr*k#fCdQ-t;NLJtuo!6?M~R8+0M+i z*0QXIM9~*b_Teg6J`zKWCW=q{Kw^{!eK8SZQZ>Gae}I8#jEM>H+^^Yg+bxRShtAx4 z?m55nJ0JJVFCPTo{yKQ=_buxV+o@vSuqs2F_E)-Ftx895?fSgo>1o~5E5n=iRbtI+ zEA3l0meWGe1GNjGw2?6_BMrI-Ue*B5E`XikkG}AP;msI^1t)KO%zh_9x6=4>o&8RN z?SL=P)6*k&*;6>Gbq9g}d9wv04waT*^V##Q)$^_7x>@cH^37ORmk{cLL5X=O0<}ND z)WFE;Whofh6ByQ+8JB}X1u!@^BJ zZ3^t5L;C_vbngYyL<{eePxi%PP%L234c}7^ML~lEOy=wfJ?BQ%QZI#fP;cKn`RYOX z&?T~g-kvAx<7!(4qTm?Qrd@P%vyv@P$-xYC!2o)y=NW7C&TwGc=;=AZeHUZi%bIR< z((ndVbQ6#%S}D)8EePR}uw=~4)V*R546o=|zAsUxeySs|l@6Q0HDbHznK3cBggYsd_ZT_izT9S$__;v$?rpQM*ikz#2Gk5sO7Jh~Ztf261M<~)H% z>WnLR!ehGg9N9i9kTy0T+{2ux1w$NB@lZ;o&rDJav{-K^fEn9bk@}(p~Swsv_56Xqsot+^w#%en{sO< z_!>muo@yeXF_671K&+G{NB6KE_3RPeXv?86J|DAZ4Cj#U8lkXI#QgA;B^2dw`gF~N zT0NktaD!s6F`W`8>*giKSEh`2PH0+pcx8ZTHS$;4V89yrmet+kGuDt}7YxUn4YBBi z)j0rn#`IEI;LA0a%gpDR5W0XYfF^y{;+$4-y-YZUeu_s~ybDR5Q+0BFmi6(c{#C=+ zDx@)reK8@9!K7DSC!J-Pigmj0GcFQv!(?X=m$JG;C9J9u#K`MGWC;ECBeMN@rdaK> z(&IH`>3Jj3DVIATWm_JWa-wr3D-Dd$?~Vl8U}eTx85Z?PLyObun`C#HWgD-}RV|D$ zXyfRo)+v)vkmA>HWC?zTmb=4_tl~r)PG-`JMK)MXvM{#iaVpb`Id5?${coEMO;$dO zw~k`YddADFsmU~!&4ncyZ=L8F?`61vIQz1Oo@RJ)S!JV&si1%jpNu*B)(<3C>&;WY zlKyJ^M>2ml%q{r0+bR<%o%)ir)#jlm{~(XkFBVA4qNTY&JH5L=cGs5JB~bS7wgPL} zgK`2nB$CU8kW4dG%Q!%>TgP8qqWA}2|Se`K**OMDjr^hJd^pp{b?TO)ZtnER$UM*ZZS8s&g=?Uy8%VxFATGUa> zk`~PEFL8~a$=)x;YeFxE#*!m29tp=Gf{$);WIS>(ygN3T$1&X>|7P&5HZZX;JR>S> z8L>Qo=`j=@M+W%tBzlTJCu-`R;E+l|I@K9yD<|D9@!1jyB}cjrhLcteP0|t{F_EMd zt3#Ewa|V7$q_XOhqFaSjWy*^AF>ae)lEEafeZhRjE1cVf*D^NhL(H4rz`|rb{liN} zUZLdt+=86cl2nfnUmvJ$g`N}(Zcx)w@6@#!s(8FOF`V*JEtx83XsQ*HnN diff --git a/dist/showdown.js.map b/dist/showdown.js.map index 52d42695ad773777dcdd3d8a67e75b06e874d604..f237e5694d778693b6f91c1083f67fdd0e509191 100644 GIT binary patch delta 6890 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 Se+SXh<|?EQNu4%f&iEH#AryK5 diff --git a/dist/showdown.min.js b/dist/showdown.min.js index bf11a0d8cb326051813b571fabff34030b70533f..bb8b8a1a8a10ebdc7ca7540c6bb1271d35e3e94b 100644 GIT binary patch delta 2157 zcmbtV&u<$=6xLMDFOf7Q3A7b$GoD8FPIt1dP>W#gsj(brEj4OHB2i?!&BQxiTiCnH zdbV!l2Is&PB*2lD)R)IJPTb&32&?LE#Vq z6@%9r7B?UhP}DgTwgc^2XvW|zE;^iBaP#^1!EX~X%aAWW2ER=x!^VK+<>lyWU||gr z@x!y(7k@7jk9HmAwz;8qcZkb6IzmJ;YB3?Lo&M7q@Y9K8Ok95{_|wzi378y8@PC^F z=ltC{aMEuUz;r)12OKaF6~%u#57wtWn%9Q#{`dm;{KOm)^+sDWxmb;AMg85YV4;`u zw1Azb4cP7+!Mz`nrZvy1iiT||xa)G^xfb-afu6|aUV9XKjWyhnhe`6dJ4{eAD>OfH zS&R7`&SM5XgACLhImGx6SZ7~~04#M-v;WoW;K>9q_7W)Jt2&tKTNl9^08aneBJjXD zL&;-IOloQ_cbcrq6^}Sdo)r9h=fMU4R02%--ytyL?wM5G7{5SDyo?%NFmUP(||h{q%BdygBMVOPbr!;?wnKpvzX!j7P75FU{MI~i0d z9*#T0YQkO@Zo@JaEX`YXhr0#V<_gBiB&zqMzH3N^C_a3s{HvA}#u-^1B`Asw8x}mm z49l_~In?T`eY<0=xwgYyv8~t`w>u3{tt8FdIP&B)dz36!(B`rQ~fB8nhLwCM=lm? z$-WJ9z^ZKtxgsh0?+B7(FV@*)mgzB5N)2TPuSjP!1q18YXeGNMsicUd4rg#cC8gT( z{G~(&u5yTasi;tLIWw;*^#2nqwKM#OQ7)SimRe=uux9I=8Ntx1t}0Y3XjORfO4-V8 z*~WJ8$$zARmH3YFPhSHU`x6BG{?=##|MCDV`imQ2`V8*w8@F)(5XGd5Pu~QW{BO>J zGre@#g59e-X_Fv`FpjrQ`mRzcufvLpb*M_SU0$!KIlPoMTO{7K!4@dS3wK|t!Llyp zE3`=Db%KYIM{7SPc@(s&f2RW$M$A8X7hJ%1%k9g9n@v^9>z8x5Y>fz%t-(E~maVk^ z<%i&n9wzAdx2rPAfvuSiqR30{*bu?F^gk$s$3pUQ$?OvoE%`hqMTH;9HWe=Ew4~to zssN6(JbC~U{ud=M+5dA3oO<=FK}!|l&?^}y+tixeGDSV3st(?JJpY=X7GP}2sbFGg fj@Pa$LTQv(rQ}pdRX*fmk@r(@ZuIX6aAW)*RFl;F delta 420 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 delta 17080 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 Sl^$>KlyTVT@fJ=QcmEG>Y}>d1 diff --git a/src/converter.js b/src/converter.js index 8325fda..a1a2904 100644 --- a/src/converter.js +++ b/src/converter.js @@ -43,7 +43,17 @@ showdown.Converter = function (converterOptions) { /** * The flavor set in this converter */ - setConvFlavor = setFlavor; + setConvFlavor = setFlavor, + + /** + * Metadata of the document + * @type {{parsed: {}, raw: string, format: string}} + */ + metadata = { + parsed: {}, + raw: '', + format: '' + }; _constructor(); @@ -255,7 +265,12 @@ showdown.Converter = function (converterOptions) { langExtensions: langExtensions, outputModifiers: outputModifiers, converter: this, - ghCodeBlocks: [] + ghCodeBlocks: [], + metadata: { + parsed: {}, + raw: '', + format: '' + } }; // This lets us use ¨ trema as an escape char to avoid md5 hashes @@ -299,6 +314,7 @@ showdown.Converter = function (converterOptions) { }); // run the sub parsers + text = showdown.subParser('metadata')(text, options, globals); text = showdown.subParser('hashPreCodeTags')(text, options, globals); text = showdown.subParser('githubCodeBlocks')(text, options, globals); text = showdown.subParser('hashHTMLBlocks')(text, options, globals); @@ -315,13 +331,15 @@ showdown.Converter = function (converterOptions) { text = text.replace(/¨T/g, '¨'); // render a complete html document instead of a partial if the option is enabled - text = showdown.subParser('completeHTMLOutput')(text, options, globals); + text = showdown.subParser('completeHTMLDocument')(text, options, globals); // Run output modifiers showdown.helper.forEach(outputModifiers, function (ext) { text = showdown.subParser('runExtension')(ext, text, options, globals); }); + // update metadata + metadata = globals.metadata; return text; }; @@ -429,4 +447,50 @@ showdown.Converter = function (converterOptions) { output: outputModifiers }; }; + + /** + * Get the metadata of the previously parsed document + * @param raw + * @returns {string|{}} + */ + this.getMetadata = function (raw) { + if (raw) { + return metadata.raw; + } else { + return metadata.parsed; + } + }; + + /** + * Get the metadata format of the previously parsed document + * @returns {string} + */ + this.getMetadataFormat = function () { + return metadata.format; + }; + + /** + * Private: set a single key, value metadata pair + * @param {string} key + * @param {string} value + */ + this._setMetadataPair = function (key, value) { + metadata.parsed[key] = value; + }; + + /** + * Private: set metadata format + * @param {string} format + */ + this._setMetadataFormat = function (format) { + metadata.format = format; + }; + + /** + * Private: set metadata raw text + * @param {string} raw + */ + this._setMetadataRaw = function (raw) { + metadata.raw = raw; + }; }; diff --git a/src/options.js b/src/options.js index c743c45..5542553 100644 --- a/src/options.js +++ b/src/options.js @@ -151,10 +151,15 @@ function getDefaultOpts (simple) { description: 'Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `` and ``', type: 'boolean' }, - completeHTMLOutput: { + completeHTMLDocument: { defaultValue: false, description: 'Outputs a complete html document, including ``, `` and `` tags', type: 'boolean' + }, + metadata: { + defaultValue: false, + description: 'Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).', + type: 'boolean' } }; if (simple === false) { diff --git a/src/subParsers/completeHTMLDocument.js b/src/subParsers/completeHTMLDocument.js new file mode 100644 index 0000000..40b9a32 --- /dev/null +++ b/src/subParsers/completeHTMLDocument.js @@ -0,0 +1,62 @@ +/** + * Turn Markdown link shortcuts into XHTML
    tags. + */ +showdown.subParser('completeHTMLDocument', function (text, options, globals) { + 'use strict'; + + if (!options.completeHTMLDocument) { + return text; + } + + text = globals.converter._dispatch('completeHTMLDocument.before', text, options, globals); + + var doctype = 'html', + doctypeParsed = '\n', + title = '', + charset = '\n', + lang = '', + metadata = ''; + + if (typeof globals.metadata.parsed.doctype !== 'undefined') { + doctypeParsed = '\n'; + doctype = globals.metadata.parsed.doctype.toString().toLowerCase(); + if (doctype === 'html' || doctype === 'html5') { + charset = ''; + } + } + + for (var meta in globals.metadata.parsed) { + if (globals.metadata.parsed.hasOwnProperty(meta)) { + switch (meta.toLowerCase()) { + case 'doctype': + break; + + case 'title': + title = '' + globals.metadata.parsed.title + '\n'; + break; + + case 'charset': + if (doctype === 'html' || doctype === 'html5') { + charset = '\n'; + } else { + charset = '\n'; + } + break; + + case 'language': + case 'lang': + lang = ' lang="' + globals.metadata.parsed[meta] + '"'; + metadata += '\n'; + break; + + default: + metadata += '\n'; + } + } + } + + text = doctypeParsed + '\n\n' + title + charset + metadata + '\n\n' + text.trim() + '\n\n'; + + text = globals.converter._dispatch('completeHTMLDocument.after', text, options, globals); + return text; +}); diff --git a/src/subParsers/completeHTMLOutput.js b/src/subParsers/completeHTMLOutput.js deleted file mode 100644 index 7b8c722..0000000 --- a/src/subParsers/completeHTMLOutput.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Turn Markdown link shortcuts into XHTML tags. - */ -showdown.subParser('completeHTMLOutput', function (text, options, globals) { - 'use strict'; - - if (!options.completeHTMLOutput) { - return text; - } - - text = globals.converter._dispatch('completeHTMLOutput.before', text, options, globals); - - text = '\n\n\n\n\n' + text.trim() + '\n\n'; - - text = globals.converter._dispatch('completeHTMLOutput.after', text, options, globals); - return text; -}); diff --git a/src/subParsers/metadata.js b/src/subParsers/metadata.js new file mode 100644 index 0000000..d601723 --- /dev/null +++ b/src/subParsers/metadata.js @@ -0,0 +1,49 @@ +/** + * Parse metadata at the top of the document + */ +showdown.subParser('metadata', function (text, options, globals) { + 'use strict'; + + if (!options.metadata) { + return text; + } + + text = globals.converter._dispatch('metadata.before', text, options, globals); + + function parseMetadataContents (content) { + // raw is raw so it's not changed in any way + globals.metadata.raw = content; + + // escape chars forbidden in html attributes + // double quotes + content = content + // ampersand first + .replace(/&/g, '&') + // double quotes + .replace(/"/g, '"'); + + content = content.replace(/\n {4}/g, ' '); + content.replace(/^([\S ]+): +([\s\S]+?)$/gm, function (wm, key, value) { + globals.metadata.parsed[key] = value; + return ''; + }); + } + + text = text.replace(/^\s*«««+(\S*?)\n([\s\S]+?)\n»»»+\n/, function (wholematch, format, content) { + parseMetadataContents(content); + return '¨M'; + }); + + text = text.replace(/^\s*---+(\S*?)\n([\s\S]+?)\n---+\n/, function (wholematch, format, content) { + if (format) { + globals.metadata.format = format; + } + parseMetadataContents(content); + return '¨M'; + }); + + text = text.replace(/¨M/g, ''); + + text = globals.converter._dispatch('metadata.after', text, options, globals); + return text; +}); diff --git a/test/features/completeHTMLOutput/simple.html b/test/features/completeHTMLOutput/simple.html index 62aa62a..a3661c8 100644 --- a/test/features/completeHTMLOutput/simple.html +++ b/test/features/completeHTMLOutput/simple.html @@ -1,14 +1,15 @@ + - +

    This is a markdown file

    Converted into a full HTML document

      -
    • this
    • -
    • is
    • -
    • awesome
    • +
    • this
    • +
    • is
    • +
    • awesome
    diff --git a/test/features/metadata/dashes-conflict.html b/test/features/metadata/dashes-conflict.html new file mode 100644 index 0000000..4475fc7 --- /dev/null +++ b/test/features/metadata/dashes-conflict.html @@ -0,0 +1,8 @@ +

    some markdown text

    +
      +
    • a list
    • +
    • another list ---
    • +
    • and stuff
    • +
    +

    a paragraph --- with dashes

    +
    diff --git a/test/features/metadata/dashes-conflict.md b/test/features/metadata/dashes-conflict.md new file mode 100644 index 0000000..41acf00 --- /dev/null +++ b/test/features/metadata/dashes-conflict.md @@ -0,0 +1,16 @@ +--- + +title: This is the document title +language: en +author: Tivie + +--- +**some** markdown text + + - a list + - another list --- + - and stuff + +a paragraph --- with dashes + +--- diff --git a/test/features/metadata/embeded-in-output.html b/test/features/metadata/embeded-in-output.html new file mode 100644 index 0000000..eaa55fc --- /dev/null +++ b/test/features/metadata/embeded-in-output.html @@ -0,0 +1,16 @@ + + + + This is the document title + + + + + + + + + +

    some markdown text

    + + diff --git a/test/features/metadata/embeded-in-output.md b/test/features/metadata/embeded-in-output.md new file mode 100644 index 0000000..c1749be --- /dev/null +++ b/test/features/metadata/embeded-in-output.md @@ -0,0 +1,16 @@ +««« +title: This is the document title +language: en +author: Tivie +contributors: John, Mary, Steve +description: This is a long text and so it + spans on multiple lines. + It must be indented, + for showdown to parse it correctly. + Markdown **such as bold** is not parsed + and it will be rendered as plain text. +date: 01-01-2010 +keywords: foo, bar, baz +»»» + +**some** markdown text diff --git a/test/features/metadata/embeded-two-consecutive-metadata-blocks-different-symbols.html b/test/features/metadata/embeded-two-consecutive-metadata-blocks-different-symbols.html new file mode 100644 index 0000000..98d85ee --- /dev/null +++ b/test/features/metadata/embeded-two-consecutive-metadata-blocks-different-symbols.html @@ -0,0 +1,22 @@ + + + + This is the document title + + + + + + + +
    +

    description: This is a long text and so it + spans on multiple lines. + It must be indented, + for showdown to parse it correctly. + Markdown such as bold is not parsed + and it will be rendered as plain text.

    +

    date: 01-01-2010

    +

    some markdown text

    + + diff --git a/test/features/metadata/embeded-two-consecutive-metadata-blocks-different-symbols.md b/test/features/metadata/embeded-two-consecutive-metadata-blocks-different-symbols.md new file mode 100644 index 0000000..9fbe808 --- /dev/null +++ b/test/features/metadata/embeded-two-consecutive-metadata-blocks-different-symbols.md @@ -0,0 +1,18 @@ +««« +title: This is the document title +language: en +author: Tivie +contributors: John, Mary, Steve +keywords: foo, bar, baz +»»» +--- +description: This is a long text and so it + spans on multiple lines. + It must be indented, + for showdown to parse it correctly. + Markdown **such as bold** is not parsed + and it will be rendered as plain text. +date: 01-01-2010 +--- + +**some** markdown text diff --git a/test/features/metadata/embeded-two-consecutive-metadata-blocks.html b/test/features/metadata/embeded-two-consecutive-metadata-blocks.html new file mode 100644 index 0000000..98d85ee --- /dev/null +++ b/test/features/metadata/embeded-two-consecutive-metadata-blocks.html @@ -0,0 +1,22 @@ + + + + This is the document title + + + + + + + +
    +

    description: This is a long text and so it + spans on multiple lines. + It must be indented, + for showdown to parse it correctly. + Markdown such as bold is not parsed + and it will be rendered as plain text.

    +

    date: 01-01-2010

    +

    some markdown text

    + + diff --git a/test/features/metadata/embeded-two-consecutive-metadata-blocks.md b/test/features/metadata/embeded-two-consecutive-metadata-blocks.md new file mode 100644 index 0000000..da970ca --- /dev/null +++ b/test/features/metadata/embeded-two-consecutive-metadata-blocks.md @@ -0,0 +1,18 @@ +--- +title: This is the document title +language: en +author: Tivie +contributors: John, Mary, Steve +keywords: foo, bar, baz +--- +--- +description: This is a long text and so it + spans on multiple lines. + It must be indented, + for showdown to parse it correctly. + Markdown **such as bold** is not parsed + and it will be rendered as plain text. +date: 01-01-2010 +--- + +**some** markdown text diff --git a/test/features/metadata/ignore-metadata.html b/test/features/metadata/ignore-metadata.html new file mode 100644 index 0000000..934e94f --- /dev/null +++ b/test/features/metadata/ignore-metadata.html @@ -0,0 +1,15 @@ +
    +

    title: This is the document title +language: en +author: Tivie +contributors: John, Mary, Steve +description: This is a long text and so it +spans on multiple lines. +It must be indented, +for showdown to parse it correctly. +Markdown such as bold is not parsed +and it will be rendered as plain text. +date: 01-01-2010 +keywords: foo, bar, baz

    +
    +

    some markdown text

    diff --git a/test/features/metadata/ignore-metadata.md b/test/features/metadata/ignore-metadata.md new file mode 100644 index 0000000..d7aae89 --- /dev/null +++ b/test/features/metadata/ignore-metadata.md @@ -0,0 +1,18 @@ +--- + +title: This is the document title +language: en +author: Tivie +contributors: John, Mary, Steve +description: This is a long text and so it + spans on multiple lines. + It must be indented, + for showdown to parse it correctly. + Markdown **such as bold** is not parsed + and it will be rendered as plain text. +date: 01-01-2010 +keywords: foo, bar, baz + +--- + +**some** markdown text diff --git a/test/features/metadata/simple-angled-for-method.html b/test/features/metadata/simple-angled-for-method.html new file mode 100644 index 0000000..e0ded5f --- /dev/null +++ b/test/features/metadata/simple-angled-for-method.html @@ -0,0 +1 @@ +

    some text

    diff --git a/test/features/metadata/simple-angled-for-method.md b/test/features/metadata/simple-angled-for-method.md new file mode 100644 index 0000000..57e9d79 --- /dev/null +++ b/test/features/metadata/simple-angled-for-method.md @@ -0,0 +1,6 @@ +««« +foo: bar +baz: bazinga +»»» + +some **text** diff --git a/test/features/metadata/simple-angled-quotes.html b/test/features/metadata/simple-angled-quotes.html new file mode 100644 index 0000000..435b817 --- /dev/null +++ b/test/features/metadata/simple-angled-quotes.html @@ -0,0 +1 @@ +

    some markdown text

    diff --git a/test/features/metadata/simple-angled-quotes.md b/test/features/metadata/simple-angled-quotes.md new file mode 100644 index 0000000..c1749be --- /dev/null +++ b/test/features/metadata/simple-angled-quotes.md @@ -0,0 +1,16 @@ +««« +title: This is the document title +language: en +author: Tivie +contributors: John, Mary, Steve +description: This is a long text and so it + spans on multiple lines. + It must be indented, + for showdown to parse it correctly. + Markdown **such as bold** is not parsed + and it will be rendered as plain text. +date: 01-01-2010 +keywords: foo, bar, baz +»»» + +**some** markdown text diff --git a/test/features/metadata/simple-three-dashes.html b/test/features/metadata/simple-three-dashes.html new file mode 100644 index 0000000..435b817 --- /dev/null +++ b/test/features/metadata/simple-three-dashes.html @@ -0,0 +1 @@ +

    some markdown text

    diff --git a/test/features/metadata/simple-three-dashes.md b/test/features/metadata/simple-three-dashes.md new file mode 100644 index 0000000..d7790fa --- /dev/null +++ b/test/features/metadata/simple-three-dashes.md @@ -0,0 +1,16 @@ +--- +title: This is the document title +language: en +author: Tivie +contributors: John, Mary, Steve +description: This is a long text and so it + spans on multiple lines. + It must be indented, + for showdown to parse it correctly. + Markdown **such as bold** is not parsed + and it will be rendered as plain text. +date: 01-01-2010 +keywords: foo, bar, baz +--- + +**some** markdown text diff --git a/test/features/metadata/simple-with-format.html b/test/features/metadata/simple-with-format.html new file mode 100644 index 0000000..435b817 --- /dev/null +++ b/test/features/metadata/simple-with-format.html @@ -0,0 +1 @@ +

    some markdown text

    diff --git a/test/features/metadata/simple-with-format.md b/test/features/metadata/simple-with-format.md new file mode 100644 index 0000000..15d59bb --- /dev/null +++ b/test/features/metadata/simple-with-format.md @@ -0,0 +1,9 @@ +---YAML +foo: bar +baz: + - bazinga + - bling + - blang +--- + +**some** markdown text diff --git a/test/node/showdown.Converter.js b/test/node/showdown.Converter.js index f6c2d87..379671a 100644 --- a/test/node/showdown.Converter.js +++ b/test/node/showdown.Converter.js @@ -27,6 +27,20 @@ describe('showdown.Converter', function () { }); }); + describe('metadata methods', function () { + var converter = new showdown.Converter(); + + it('_setMetadataPair() should set foo to bar', function () { + converter._setMetadataPair('foo', 'bar'); + converter.getMetadata().should.eql({foo: 'bar'}); + }); + + it('_setMetadata should set metadata to {baz: bazinga}', function () { + converter._setMetadataRaw('{baz: bazinga}'); + converter.getMetadata(true).should.eql('{baz: bazinga}'); + }); + }); + describe('converter.setFlavor()', function () { /** diff --git a/test/node/showdown.Converter.makeHtml.js b/test/node/showdown.Converter.makeHtml.js index ab6de17..d0efd07 100644 --- a/test/node/showdown.Converter.makeHtml.js +++ b/test/node/showdown.Converter.makeHtml.js @@ -59,4 +59,41 @@ describe('showdown.Converter', function () { html.should.equal(expectedHtml); }); }); + + describe('makeHtml() with option metadata', function () { + var converter = new showdown.Converter(), + text1 = + '---SIMPLE\n' + + 'foo: bar\n' + + 'baz: bazinga\n' + + '---\n', + text2 = + '---TIVIE\n' + + 'a: b\n' + + 'c: 123\n' + + '---\n'; + + it('should correctly set metadata', function () { + converter.setOption('metadata', true); + + var expectedHtml = '', + expectedObj = {foo: 'bar', baz: 'bazinga'}, + expectedRaw = 'foo: bar\nbaz: bazinga', + expectedFormat = 'SIMPLE'; + converter.makeHtml(text1).should.equal(expectedHtml); + converter.getMetadata().should.eql(expectedObj); + converter.getMetadata(true).should.equal(expectedRaw); + converter.getMetadataFormat().should.equal(expectedFormat); + }); + + it('consecutive calls should reset metadata', function () { + converter.makeHtml(text2); + var expectedObj = {a: 'b', c: '123'}, + expectedRaw = 'a: b\nc: 123', + expectedFormat = 'TIVIE'; + converter.getMetadata().should.eql(expectedObj); + converter.getMetadata(true).should.equal(expectedRaw); + converter.getMetadataFormat().should.equal(expectedFormat); + }); + }); }); diff --git a/test/node/testsuite.features.js b/test/node/testsuite.features.js index a7ee7e8..bb5d612 100644 --- a/test/node/testsuite.features.js +++ b/test/node/testsuite.features.js @@ -15,7 +15,8 @@ var bootstrap = require('../bootstrap.js'), underlineSuite = bootstrap.getTestSuite('test/features/underline/'), literalMidWordUnderscoresSuite = bootstrap.getTestSuite('test/features/literalMidWordUnderscores/'), literalMidWordAsterisksSuite = bootstrap.getTestSuite('test/features/literalMidWordAsterisks/'), - completeHTMLOutputSuite = bootstrap.getTestSuite('test/features/completeHTMLOutput/'); + completeHTMLOutputSuite = bootstrap.getTestSuite('test/features/completeHTMLOutput/'), + metadataSuite = bootstrap.getTestSuite('test/features/metadata/'); describe('makeHtml() features testsuite', function () { 'use strict'; @@ -233,12 +234,33 @@ describe('makeHtml() features testsuite', function () { } }); - /** test completeHTMLOutput option **/ - describe('completeHTMLOutput option', function () { + + /** test completeHTMLDocument option **/ + describe('completeHTMLDocument option', function () { var converter, suite = completeHTMLOutputSuite; for (var i = 0; i < suite.length; ++i) { - converter = new showdown.Converter({completeHTMLOutput: true}); + converter = new showdown.Converter({completeHTMLDocument: true}); + + it(suite[i].name.replace(/-/g, ' '), assertion(suite[i], converter)); + } + }); + + /** test metadata option **/ + describe('metadata option', function () { + var converter, + suite = metadataSuite; + + for (var i = 0; i < suite.length; ++i) { + if (suite[i].name === 'embeded-in-output' || + suite[i].name === 'embeded-two-consecutive-metadata-blocks' || + suite[i].name === 'embeded-two-consecutive-metadata-blocks-different-symbols') { + converter = new showdown.Converter({metadata: true, completeHTMLDocument: true}); + } else if (suite[i].name === 'ignore-metadata') { + converter = new showdown.Converter({metadata: false}); + } else { + converter = new showdown.Converter({metadata: true}); + } it(suite[i].name.replace(/-/g, ' '), assertion(suite[i], converter)); } }); From 187123fed5e3b2ca3350087b22e8066439c82ca3 Mon Sep 17 00:00:00 2001 From: Estevao Soares dos Santos Date: Sun, 10 Dec 2017 19:13:26 +0000 Subject: [PATCH 7/7] release 1.8.5 --- CHANGELOG.md | 11 ++++++ README.md | 9 ++++- dist/showdown.js | Bin 172943 -> 172943 bytes dist/showdown.min.js | Bin 98898 -> 98898 bytes package.json | 2 +- performance.json | 2 +- performance.log.md | 41 +++++++++++++++++++++++ test/node/showdown.Converter.makeHtml.js | 10 +++--- 8 files changed, 67 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f12e876..7629381 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +
    +# [1.8.5](https://github.com/showdownjs/showdown/compare/1.8.4...1.8.5) (2017-12-10) + + +### Features + +* **completeHTMLDocument:** add option to output a complete HTML document ([a8427c9](https://github.com/showdownjs/showdown/commit/a8427c9)) +* **metadata:** add support for embedded metadata ([63d949f](https://github.com/showdownjs/showdown/commit/63d949f)), closes [#260](https://github.com/showdownjs/showdown/issues/260) + + + ## [1.8.4](https://github.com/showdownjs/showdown/compare/1.8.3...1.8.4) (2017-12-05) diff --git a/README.md b/README.md index a22fccd..4a3c2ca 100644 --- a/README.md +++ b/README.md @@ -360,8 +360,15 @@ var defaultOptions = showdown.getDefaultOptions(); * **underline**: (boolean) [default false] ***EXPERIMENTAL FEATURE*** Enable support for underline. Syntax is **double** or **triple** **underscores** ex: `__underlined word__`. With this option enabled, underscores are no longer parses into `` and ``. + * **completeHTMLDocument**: (boolean) [default false] Outputs a complete html document, + including ``, `` and `` tags' instead of an HTML fragment. (since v.1.8.5) + + * **metadata**: (boolean) [default false] Enable support for document metadata (defined at the top of the document + between `«««` and `»»»` or between `---` and `---`). (since v.1.8.5) + **NOTE**: Please note that until **version 1.6.0**, all of these options are ***DISABLED*** by default in the cli tool. - + + ## Flavors You can also use flavors or presets to set the correct options automatically, so that showdown behaves like popular markdown flavors. diff --git a/dist/showdown.js b/dist/showdown.js index 33fa5a8408ecc7321e65167ea1a4f3a875f26174..73ded2e02483338c2e32ffc2a746d66b118f04a1 100644 GIT binary patch delta 20 bcmeA_&eeaMYk~-)X`^VXDC1U9rmDpNOm_yg delta 20 bcmeA_&eeaMYk~-)Nuy}1DC1U9rmDpNOl$_U diff --git a/dist/showdown.min.js b/dist/showdown.min.js index bb8b8a1a8a10ebdc7ca7540c6bb1271d35e3e94b..e8374d7694a23b57a9fd3da46ac4d9e04a65a2fb 100644 GIT binary patch delta 34 pcmccA!gi^JO+;TyQK2{^zdR+sJWrua!BEda&$Llws|cfA69CCJ3a