@@ -19,17 +19,20 @@ module.exports = function (grunt) {
19
19
return string . replace ( / [ - \\ ^ $ * + ? . ( ) | [ \] { } ] / g, '\\$&' )
20
20
}
21
21
22
- var path = require ( 'path' )
22
+ const path = require ( 'path' )
23
+ const inliner = require ( 'sass-inline-svg' ) ;
24
+ const sass = require ( 'node-sass' ) ;
25
+ const Fiber = require ( 'fibers' ) ;
23
26
24
27
// Project configuration.
25
- grunt . initConfig ( {
28
+ var config = {
26
29
// Metadata.
27
30
pkg : grunt . file . readJSON ( 'package.json' ) ,
28
31
banner : '/*!\n' +
29
- ' * Bootstrap v<%= pkg.version %> (<%= pkg.homepage %>)\n' +
30
- ' * Copyright 2011-<%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
31
- ' * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n' +
32
- ' */\n' ,
32
+ ' * Bootstrap v<%= pkg.version %> (<%= pkg.homepage %>)\n' +
33
+ ' * Copyright 2011-<%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
34
+ ' * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n' +
35
+ ' */\n' ,
33
36
34
37
// Task configuration.
35
38
clean : {
@@ -50,7 +53,7 @@ module.exports = function (grunt) {
50
53
51
54
watch : {
52
55
sass : {
53
- files : 'scss/**/*.scss' ,
56
+ files : [ 'scss/**/*.scss' , 'scss/**/*.svg' ] ,
54
57
tasks : [ 'sass-compile' , 'copy:css' ]
55
58
} ,
56
59
} ,
@@ -62,13 +65,9 @@ module.exports = function (grunt) {
62
65
postcss : {
63
66
command : 'npm run postcss'
64
67
} ,
65
- "sass" : {
66
- command : "node-sass --sass-output-style expanded --source-map true --precision 6 scss/themes/" + THEME + ".scss " +
67
- "dist/css/" + THEME + ".css"
68
- } ,
69
- 'scss-clean' : {
68
+ 'scss-clean' : {
70
69
command : "cleancss --skip-advanced --source-map --output dist/css/" + THEME + ".min.css dist/css/" + THEME + ".css"
71
- } ,
70
+ } ,
72
71
'scss-lint' : {
73
72
command : 'npm run scss-lint'
74
73
} ,
@@ -94,15 +93,32 @@ module.exports = function (grunt) {
94
93
}
95
94
]
96
95
}
97
- }
96
+ } ,
98
97
99
- } )
98
+ sass : {
99
+ dist : {
100
+ options : {
101
+ functions : {
102
+ "svg" : inliner ( 'scss/apnscp/media' , { optimize : true , encodingFormat : "uri" } )
103
+ } ,
104
+ implementation : sass ,
105
+ sourceMap : true ,
106
+ fiber : Fiber ,
107
+ precision : 6 ,
108
+ outputStyle : "expanded"
109
+ } ,
110
+ files : { }
111
+ } ,
112
+ }
113
+ } ;
114
+ config . sass . dist . files [ "dist/css/" + THEME + ".css" ] = "scss/themes/" + THEME + ".scss" ;
115
+ grunt . initConfig ( config )
100
116
101
117
require ( 'jit-grunt' ) ( grunt )
102
118
require ( 'time-grunt' ) ( grunt )
103
119
104
120
grunt . registerTask ( 'test-scss' , [ 'exec:scss-lint' ] )
105
- grunt . registerTask ( 'sass-compile' , [ 'exec: sass' , 'copy:css' ] )
121
+ grunt . registerTask ( 'sass-compile' , [ 'sass' , 'copy:css' ] )
106
122
grunt . registerTask ( 'dist-css' , [ 'sass-compile' , 'exec:postcss' , 'exec:clean-css' , 'copy:css' ] )
107
123
108
124
// Full distribution task.
0 commit comments