1
- var loaderUtils = require ( ' loader-utils' ) ;
2
- var hljs = require ( ' highlight.js' ) ;
3
- var cheerio = require ( ' cheerio' ) ;
4
- var markdown = require ( ' markdown-it' ) ;
5
- var Token = require ( ' markdown-it/lib/token' ) ;
1
+ var loaderUtils = require ( " loader-utils" ) ;
2
+ var hljs = require ( " highlight.js" ) ;
3
+ var cheerio = require ( " cheerio" ) ;
4
+ var markdown = require ( " markdown-it" ) ;
5
+ var Token = require ( " markdown-it/lib/token" ) ;
6
6
7
7
/**
8
8
* `<pre></pre>` => `<pre v-pre></pre>`
@@ -11,7 +11,7 @@ var Token = require('markdown-it/lib/token');
11
11
* @return {string }
12
12
*/
13
13
var addVuePreviewAttr = function ( str ) {
14
- return str . replace ( / ( < p r e | < c o d e ) / g, ' $1 v-pre' ) ;
14
+ return str . replace ( / ( < p r e | < c o d e ) / g, " $1 v-pre" ) ;
15
15
} ;
16
16
17
17
/**
@@ -21,7 +21,7 @@ var addVuePreviewAttr = function(str) {
21
21
*/
22
22
var renderHighlight = function ( str , lang ) {
23
23
if ( ! ( lang && hljs . getLanguage ( lang ) ) ) {
24
- return '' ;
24
+ return "" ;
25
25
}
26
26
27
27
return hljs . highlight ( lang , str , true ) . value ;
@@ -37,30 +37,24 @@ var renderVueTemplate = function(html, wrapper) {
37
37
decodeEntities : false ,
38
38
lowerCaseAttributeNames : false ,
39
39
lowerCaseTags : false ,
40
- xmlMode : true ,
40
+ xmlMode : true
41
41
} ) ;
42
42
43
43
var output = {
44
- style : $ . html ( ' style' ) ,
44
+ style : $ . html ( " style" ) ,
45
45
// get only the first script child. Causes issues if multiple script files in page.
46
- script : $ . html ( $ ( ' script' ) . first ( ) )
46
+ script : $ . html ( $ ( " script" ) . first ( ) )
47
47
} ;
48
48
var result ;
49
49
50
- $ ( 'style' ) . remove ( ) ;
51
- $ ( 'script' ) . remove ( ) ;
52
- if ( wrapper ) {
53
- result =
54
- `<template><${ wrapper } >` +
55
- $ . html ( ) +
56
- `</${ wrapper } ></template>\n`
50
+ $ ( "style" ) . remove ( ) ;
51
+ $ ( "script" ) . remove ( ) ;
52
+ if ( wrapper ) {
53
+ result = `<template><${ wrapper } >` + $ . html ( ) + `</${ wrapper } ></template>\n` ;
57
54
} else {
58
- result =
59
- `<template>` +
60
- $ . html ( ) +
61
- `</template>\n`
55
+ result = `<template>` + $ . html ( ) + `</template>\n` ;
62
56
}
63
- result += output . style + '\n' + output . script ;
57
+ result += output . style + "\n" + output . script ;
64
58
65
59
return result ;
66
60
} ;
@@ -75,15 +69,15 @@ module.exports = function(source) {
75
69
preventExtract = true ;
76
70
}
77
71
78
- if ( typeof opts . render === ' function' ) {
72
+ if ( typeof opts . render === " function" ) {
79
73
parser = opts ;
80
74
} else {
81
75
opts = Object . assign (
82
76
{
83
- preset : ' default' ,
77
+ preset : " default" ,
84
78
html : true ,
85
79
highlight : renderHighlight ,
86
- wrapper : ' section'
80
+ wrapper : " section"
87
81
} ,
88
82
opts
89
83
) ;
@@ -98,16 +92,16 @@ module.exports = function(source) {
98
92
99
93
//add ruler:extract script and style tags from html token content
100
94
! preventExtract &&
101
- parser . core . ruler . push ( ' extract_script_or_style' , function replace (
95
+ parser . core . ruler . push ( " extract_script_or_style" , function replace (
102
96
state
103
97
) {
104
- let tag_reg = new RegExp ( ' <(script|style)(?:[^<]|<)+</\\1>' , 'g' ) ;
98
+ let tag_reg = new RegExp ( " <(script|style)(?:[^<]|<)+</\\1>" , "g" ) ;
105
99
let newTokens = [ ] ;
106
100
state . tokens
107
- . filter ( token => token . type == ' fence' && token . info == ' html' )
101
+ . filter ( token => token . type == " fence" && token . info == " html" )
108
102
. forEach ( token => {
109
103
let tokens = ( token . content . match ( tag_reg ) || [ ] ) . map ( content => {
110
- let t = new Token ( ' html_block' , '' , 0 ) ;
104
+ let t = new Token ( " html_block" , "" , 0 ) ;
111
105
t . content = content ;
112
106
return t ;
113
107
} ) ;
@@ -147,20 +141,18 @@ module.exports = function(source) {
147
141
}
148
142
}
149
143
150
- overrideParserRules ( [ ' code_inline' , ' code_block' , ' fence' ] ) ;
144
+ overrideParserRules ( [ " code_inline" , " code_block" , " fence" ] ) ;
151
145
152
146
if ( preprocess ) {
153
147
source = preprocess . call ( this , parser , source ) ;
154
148
}
155
149
156
- source = source . replace ( / @ / g, '__at__' ) ;
157
-
158
- var content = parser . render ( source ) . replace ( / _ _ a t _ _ / g, '@' ) ;
150
+ var content = parser . render ( source ) ;
159
151
var result = renderVueTemplate ( content , opts . wrapper ) ;
160
152
161
153
if ( opts . raw ) {
162
154
return result ;
163
155
} else {
164
- return ' module.exports = ' + JSON . stringify ( result ) ;
156
+ return " module.exports = " + JSON . stringify ( result ) ;
165
157
}
166
158
} ;
0 commit comments