nl_tokens: Code block tag
pl_tokens: function getHighlightOptions ( config , arg ) { let lang = '' ; if ( rLang . test ( arg ) ) { arg = arg . replace ( rLang , ( match , _lang ) => { lang = _lang ; return '' ; } ) ; } let line_number = config . line_number ; if ( rLineNumber . test ( arg ) ) { arg = arg . replace ( rLineNumber , ( match , _line_number ) => { line_number = _line_number === 'true' ; return '' ; } ) ; } let first_line = 1 ; if ( rFirstLine . test ( arg ) ) { arg = arg . replace ( rFirstLine , ( match , _first_line ) => { first_line = _first_line ; return '' ; } ) ; } let mark = [ ] ; if ( rMark . test ( arg ) ) { arg = arg . replace ( rMark , ( match , _mark ) => { mark = _mark . split ( ',' ) . reduce ( function getMarkedLines ( prev , cur ) { if ( / - / . test ( cur ) ) { let a = Number ( cur . substr ( 0 , cur . indexOf ( '-' ) ) ) ; let b = Number ( cur . substr ( cur . indexOf ( '-' ) + 1 ) ) ; if ( b < a ) { // switch a & b const temp = a ; a = b ; b = temp ; } for ( ; a <= b ; a ++ ) { prev . push ( a ) ; } return prev ; } prev . push ( Number ( cur ) ) ; return prev ; } , [ ] ) ; return '' ; } ) ; } let caption = '' ; if ( rCaptionUrlTitle . test ( arg ) ) { const match = arg . match ( rCaptionUrlTitle ) ; caption = ` ${ match [ 1 ] } ${ match [ 2 ] } ${ match [ 3 ] } ${ match [ 4 ] } ` ; } else if ( rCaptionUrl . <mask> ( arg ) ) { const match = arg . match ( rCaptionUrl ) ; caption = ` ${ match [ 1 ] } ${ match [ 2 ] } ${ match [ 3 ] } ` ; } else if ( rCaption . test ( arg ) ) { const match = arg . match ( rCaption ) ; caption = ` ${ match [ 1 ] } ` ; } return { lang , firstLine : first_line , caption , gutter : line_number , hljs : config . hljs , mark , tab : config . tab_replace , autoDetect : config . auto_detect } ; }