14
14
var block = {
15
15
newline : / ^ \n + / ,
16
16
code : / ^ ( { 4 } [ ^ \n ] + \n * ) + / ,
17
- fences : noop ,
17
+ fences : / ^ { 0 , 3 } ( ` { 3 , } | ~ { 3 , } ) ( [ ^ ` \n ] * ) \n (?: | ( [ \s \S ] * ? ) \n ) (?: { 0 , 3 } \1 [ ~ ` ] * * (?: \n + | $ ) | $ ) / ,
18
18
hr : / ^ { 0 , 3 } ( (?: - * ) { 3 , } | (?: _ * ) { 3 , } | (?: \* * ) { 3 , } ) (?: \n + | $ ) / ,
19
19
heading : / ^ * ( # { 1 , 6 } ) * ( [ ^ \n ] + ?) * (?: # + * ) ? (?: \n + | $ ) / ,
20
- nptable : noop ,
21
20
blockquote : / ^ ( { 0 , 3 } > ? ( p a r a g r a p h | [ ^ \n ] * ) (?: \n | $ ) ) + / ,
22
21
list : / ^ ( { 0 , 3 } ) ( b u l l ) [ \s \S ] + ?(?: h r | d e f | \n { 2 , } (? ! ) (? ! \1b u l l ) \n * | \s * $ ) / ,
23
22
html : '^ {0,3}(?:' // optional indentation
@@ -31,6 +30,7 @@ var block = {
31
30
+ '|</(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)' // (7) closing tag
32
31
+ ')' ,
33
32
def : / ^ { 0 , 3 } \[ ( l a b e l ) \] : * \n ? * < ? ( [ ^ \s > ] + ) > ? (?: (?: + \n ? * | * \n * ) ( t i t l e ) ) ? * (?: \n + | $ ) / ,
33
+ nptable : noop ,
34
34
table : noop ,
35
35
lheading : / ^ ( [ ^ \n ] + ) \n { 0 , 3 } ( = | - ) { 2 , } * (?: \n + | $ ) / ,
36
36
paragraph : / ^ ( [ ^ \n ] + (?: \n (? ! h r | h e a d i n g | l h e a d i n g | { 0 , 3 } > | < \/ ? (?: t a g ) (?: + | \n | \/ ? > ) | < (?: s c r i p t | p r e | s t y l e | ! - - ) ) [ ^ \n ] + ) * ) / ,
@@ -91,14 +91,13 @@ block.normal = merge({}, block);
91
91
*/
92
92
93
93
block . gfm = merge ( { } , block . normal , {
94
- fences : / ^ { 0 , 3 } ( ` { 3 , } | ~ { 3 , } ) ( [ ^ ` \n ] * ) \n (?: | ( [ \s \S ] * ?) \n ) (?: { 0 , 3 } \1[ ~ ` ] * * (?: \n + | $ ) | $ ) / ,
95
94
paragraph : / ^ / ,
96
95
heading : / ^ * ( # { 1 , 6 } ) + ( [ ^ \n ] + ?) * # * * (?: \n + | $ ) /
97
96
} ) ;
98
97
99
98
block . gfm . paragraph = edit ( block . paragraph )
100
99
. replace ( '(?!' , '(?!'
101
- + block . gfm . fences . source . replace ( '\\1' , '\\2' ) + '|'
100
+ + block . fences . source . replace ( '\\1' , '\\2' ) + '|'
102
101
+ block . list . source . replace ( '\\1' , '\\3' ) + '|' )
103
102
. getRegex ( ) ;
104
103
@@ -233,7 +232,7 @@ Lexer.prototype.token = function(src, top) {
233
232
continue ;
234
233
}
235
234
236
- // fences (gfm)
235
+ // fences
237
236
if ( cap = this . rules . fences . exec ( src ) ) {
238
237
src = src . substring ( cap [ 0 ] . length ) ;
239
238
this . tokens . push ( {
0 commit comments