Skip to content

Commit efd96bf

Browse files
authored
Merge pull request markedjs#1181 from UziTech/em-less-than-2-chars
Em less than 3 chars
2 parents d533040 + 0b991ae commit efd96bf

File tree

3 files changed

+54
-4
lines changed

3 files changed

+54
-4
lines changed

lib/marked.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -468,8 +468,8 @@ var inline = {
468468
link: /^!?\[(inside)\]\(href\)/,
469469
reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/,
470470
nolink: /^!?\[((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\]/,
471-
strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,
472-
em: /^_([^\s_](?:[^_]|__)+?[^\s_])_\b|^\*((?:\*\*|[^*])+?)\*(?!\*)/,
471+
strong: /^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)|^__([^\s])__(?!_)|^\*\*([^\s])\*\*(?!\*)/,
472+
em: /^_([^\s][\s\S]*?[^\s_])_(?!_)|^_([^\s_][\s\S]*?[^\s])_(?!_)|^\*([^\s][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*][\s\S]*?[^\s])\*(?!\*)|^_([^\s_])_(?!_)|^\*([^\s*])\*(?!\*)/,
473473
code: /^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/,
474474
br: /^ {2,}\n(?!\s*$)/,
475475
del: noop,
@@ -678,14 +678,14 @@ InlineLexer.prototype.output = function(src) {
678678
// strong
679679
if (cap = this.rules.strong.exec(src)) {
680680
src = src.substring(cap[0].length);
681-
out += this.renderer.strong(this.output(cap[2] || cap[1]));
681+
out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));
682682
continue;
683683
}
684684

685685
// em
686686
if (cap = this.rules.em.exec(src)) {
687687
src = src.substring(cap[0].length);
688-
out += this.renderer.em(this.output(cap[2] || cap[1]));
688+
out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));
689689
continue;
690690
}
691691

test/new/em_2char.html

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<p><em>123</em></p>
2+
3+
<p><em>123</em></p>
4+
5+
<p><em>12</em></p>
6+
7+
<p><em>12</em></p>
8+
9+
<p><em>1</em></p>
10+
11+
<p><em>1</em></p>
12+
13+
<p>__</p>
14+
15+
<p>**</p>
16+
17+
<p>_123 _</p>
18+
19+
<p>*123 *</p>
20+
21+
<p>_ 123_</p>
22+
23+
<p><em>1_</em></p>
24+
25+
<p><em>1*</em></p>

test/new/em_2char.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
_123_
2+
3+
*123*
4+
5+
_12_
6+
7+
*12*
8+
9+
_1_
10+
11+
*1*
12+
13+
__
14+
15+
**
16+
17+
_123 _
18+
19+
*123 *
20+
21+
_ 123_
22+
23+
_1__
24+
25+
*1**

0 commit comments

Comments
 (0)