mirror of
https://github.com/showdownjs/showdown.git
synced 2024-03-22 13:30:55 +08:00
chore: improve ghMentions
This commit is contained in:
parent
f2671c0cc7
commit
a58674e597
BIN
dist/showdown.js
vendored
BIN
dist/showdown.js
vendored
Binary file not shown.
BIN
dist/showdown.js.map
vendored
BIN
dist/showdown.js.map
vendored
Binary file not shown.
BIN
dist/showdown.min.js
vendored
BIN
dist/showdown.min.js
vendored
Binary file not shown.
BIN
dist/showdown.min.js.map
vendored
BIN
dist/showdown.min.js.map
vendored
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -1,6 +1,49 @@
|
|||
# Performance Tests for showdown
|
||||
|
||||
|
||||
## [version 1.5.6](https://github.com/showdownjs/showdown/tree/)
|
||||
|
||||
### Test Suite: Basic (100 cycles)
|
||||
| test | avgTime | max | min |
|
||||
|:-----|--------:|----:|----:|
|
||||
|Simple "Hello World"|0.484|5.497|0.159|
|
||||
|readme.md|8.624|20.725|7.639|
|
||||
|
||||
### Test Suite: subParsers (1000 cycles)
|
||||
| test | avgTime | max | min |
|
||||
|:-----|--------:|----:|----:|
|
||||
|hashHTMLBlocks|0.697|1.193|0.637|
|
||||
|anchors|0.191|0.628|0.159|
|
||||
|autoLinks|0.017|0.318|0.014|
|
||||
|blockGamut|7.720|14.917|6.949|
|
||||
|blockQuotes|0.065|0.236|0.060|
|
||||
|codeBlocks|0.082|1.078|0.063|
|
||||
|codeSpans|0.185|0.915|0.168|
|
||||
|detab|0.025|0.195|0.023|
|
||||
|encodeAmpsAndAngles|0.016|0.319|0.014|
|
||||
|encodeBackslashEscapes|0.014|0.264|0.013|
|
||||
|encodeCode|0.177|0.489|0.155|
|
||||
|encodeEmailAddress|2.849|482.687|2.103|
|
||||
|escapeSpecialCharsWithinTagAttributes|0.061|0.428|0.055|
|
||||
|githubCodeBlocks|0.084|5.149|0.056|
|
||||
|hashBlock|0.035|6.322|0.011|
|
||||
|hashElement|0.001|0.228|0.000|
|
||||
|hashHTMLSpans|0.024|4.870|0.011|
|
||||
|hashPreCodeTags|0.018|0.295|0.015|
|
||||
|headers|0.472|4.046|0.405|
|
||||
|images|0.040|0.835|0.033|
|
||||
|italicsAndBold|0.041|0.422|0.036|
|
||||
|lists|5.606|8.275|5.112|
|
||||
|outdent|0.051|0.852|0.045|
|
||||
|paragraphs|1.368|2.683|1.221|
|
||||
|spanGamut|0.638|1.433|0.569|
|
||||
|strikethrough|0.000|0.229|0.000|
|
||||
|stripBlankLines|0.032|0.298|0.027|
|
||||
|stripLinkDefinitions|0.072|0.354|0.062|
|
||||
|tables|0.001|0.199|0.000|
|
||||
|unescapeSpecialChars|0.003|0.152|0.003|
|
||||
|
||||
|
||||
## [version 1.5.5](https://github.com/showdownjs/showdown/tree/)
|
||||
|
||||
### Test Suite: Basic (100 cycles)
|
||||
|
|
|
@ -66,7 +66,12 @@ showdown.subParser('anchors', function (text, options, globals) {
|
|||
|
||||
// Lastly handle GithubMentions if option is enabled
|
||||
if (options.ghMentions) {
|
||||
text = text.replace(/(^|\s)(@([a-z\d\-]+))(?=[.!?;,[\]()]|\s|$)/gmi, '$1<a href="https://www.github.com/$3">$2</a>');
|
||||
text = text.replace(/(^|\s)(\\)?(@([a-z\d\-]+))(?=[.!?;,[\]()]|\s|$)/gmi, function (wm, st, escape, mentions, username) {
|
||||
if (escape === '\\') {
|
||||
return st + mentions;
|
||||
}
|
||||
return st + '<a href="https://www.github.com/' + username + '">' + mentions + '</a>';
|
||||
});
|
||||
}
|
||||
|
||||
text = globals.converter._dispatch('anchors.after', text, options, globals);
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
<p>hello <a href="https://www.github.com/tivie">@tivie</a> how are you?</p>
|
||||
<p>this email foo@gmail.com is not parsed</p>
|
||||
<p>this @mentions is not parsed also</p>
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
hello @tivie how are you?
|
||||
|
||||
this email foo@gmail.com is not parsed
|
||||
|
||||
this \@mentions is not parsed also
|
||||
|
|
Loading…
Reference in New Issue
Block a user