@@ -8,6 +8,8 @@ var concat = require('gulp-concat');
8
8
var rename = require ( 'gulp-rename' ) ;
9
9
var uglify = require ( 'gulp-uglify' ) ;
10
10
var jshint = require ( 'gulp-jshint' ) ;
11
+ var source = require ( 'vinyl-source-stream' ) ;
12
+ var browserify = require ( 'browserify' ) ;
11
13
12
14
var stylish = require ( 'jshint-stylish' ) ;
13
15
@@ -29,27 +31,30 @@ var css = {
29
31
src : dirs . cssSrc + '/' + pkg . name + '.scss' ,
30
32
main : dirs . cssDist + '/crowi-main.css' ,
31
33
dist : dirs . cssDist + '/crowi.css' ,
34
+ revealSrc : dirs . cssSrc + '/' + pkg . name + '-reveal.scss' ,
35
+ revealDist : dirs . cssDist + '/crowi-reveal.css' ,
32
36
watch : [ 'resource/css/*.scss' ] ,
33
37
} ;
34
38
35
39
var js = {
40
+ browserify : {
41
+ crowi : 'resource/js/crowi.js' , // => crowi-bundled.js
42
+ crowiPresentation : 'resource/js/crowi-presentation.js' , // => crowi-presentation.js
43
+ } ,
36
44
src : [
37
- 'bower_components/jquery/dist/jquery.js' ,
38
- 'bower_components/bootstrap-sass-official/assets/javascripts/bootstrap.js' ,
39
- 'bower_components/inline-attachment/src/inline-attachment.js' ,
40
- 'bower_components/inline-attachment/src/jquery.inline-attachment.js' ,
45
+ 'node_modules/jquery/dist/jquery.js' ,
46
+ 'node_modules/bootstrap-sass/assets/javascripts/bootstrap.js' ,
47
+ 'node_modules/inline-attachment/src/inline-attachment.js' ,
41
48
'node_modules/socket.io-client/socket.io.js' ,
42
- 'bower_components/marked/lib/marked.js' ,
43
- 'bower_components/jquery.cookie/jquery.cookie.js' ,
44
- 'bower_components/jquery-selection/src/jquery.selection.js' ,
45
- 'bower_components/highlightjs/highlight.pack.js' ,
46
- 'resource/js/crowi.js'
49
+ 'node_modules/jquery.cookie/jquery.cookie.js' ,
50
+ 'resource/thirdparty-js/jquery.selection.js' ,
51
+ dirs . jsDist + '/crowi-bundled.js' ,
47
52
] ,
48
53
dist : dirs . jsDist + '/crowi.js' ,
49
54
revealSrc : [
50
- 'bower_components /reveal.js/lib/js/head.min.js' ,
51
- 'bower_components /reveal.js/lib/js/html5shiv.js' ,
52
- 'bower_components/reveal .js/js/reveal.js'
55
+ 'node_modules /reveal.js/lib/js/head.min.js' ,
56
+ 'node_modules /reveal.js/lib/js/html5shiv.js' ,
57
+ dirs . jsDist + '/crowi-presentation .js' ,
53
58
] ,
54
59
revealDist : dirs . jsDist + '/crowi-reveal.js' ,
55
60
formSrc : [
@@ -63,12 +68,24 @@ var js = {
63
68
} ;
64
69
65
70
var cssIncludePaths = [
66
- 'bower_components /bootstrap-sass-official /assets/stylesheets' ,
67
- 'bower_components/fontawesome /scss' ,
68
- 'bower_components /reveal.js/css'
71
+ 'node_modules /bootstrap-sass/assets/stylesheets' ,
72
+ 'node_modules/font-awesome /scss' ,
73
+ 'node_modules /reveal.js/css'
69
74
] ;
70
75
71
- gulp . task ( 'js:concat' , function ( ) {
76
+ gulp . task ( 'js:browserify' , function ( ) {
77
+ browserify ( { entries : js . browserify . crowiPresentation } )
78
+ . bundle ( )
79
+ . pipe ( source ( 'crowi-presentation.js' ) )
80
+ . pipe ( gulp . dest ( dirs . jsDist ) ) ;
81
+
82
+ return browserify ( { entries : js . browserify . crowi } )
83
+ . bundle ( )
84
+ . pipe ( source ( 'crowi-bundled.js' ) )
85
+ . pipe ( gulp . dest ( dirs . jsDist ) ) ;
86
+ } ) ;
87
+
88
+ gulp . task ( 'js:concat' , [ 'js:browserify' ] , function ( ) {
72
89
gulp . src ( js . revealSrc )
73
90
. pipe ( concat ( 'crowi-reveal.js' ) )
74
91
. pipe ( gulp . dest ( dirs . jsDist ) ) ;
@@ -115,23 +132,36 @@ gulp.task('test', function() {
115
132
} ) ;
116
133
117
134
gulp . task ( 'css:sass' , function ( ) {
135
+ gulp . src ( css . revealSrc ) // reveal
136
+ . pipe ( sass ( {
137
+ outputStyle : 'nesed' ,
138
+ sourceComments : 'map' ,
139
+ includePaths : cssIncludePaths
140
+ } ) . on ( 'error' , sass . logError ) )
141
+ . pipe ( gulp . dest ( dirs . cssDist ) ) ;
142
+
118
143
return gulp . src ( css . src )
119
144
. pipe ( sass ( {
120
145
outputStyle : 'nesed' ,
121
146
sourceComments : 'map' ,
122
147
includePaths : cssIncludePaths
123
148
} ) . on ( 'error' , sass . logError ) )
124
- . pipe ( rename ( { suffix : '-main' } ) )
149
+ . pipe ( rename ( { suffix : '-main' } ) ) // create -main.css to prepare concating with highlight.js's css
125
150
. pipe ( gulp . dest ( dirs . cssDist ) ) ;
126
151
} ) ;
127
152
128
153
gulp . task ( 'css:concat' , [ 'css:sass' ] , function ( ) {
129
- return gulp . src ( [ css . main , 'bower_components/highlightjs /styles/tomorrow-night.css' ] )
154
+ return gulp . src ( [ css . main , 'node_modules/highlight.js /styles/tomorrow-night.css' ] )
130
155
. pipe ( concat ( 'crowi.css' ) )
131
156
. pipe ( gulp . dest ( dirs . cssDist ) )
132
157
} ) ;
133
158
134
159
gulp . task ( 'css:min' , [ 'css:concat' ] , function ( ) {
160
+ gulp . src ( css . revealDist )
161
+ . pipe ( cssmin ( ) )
162
+ . pipe ( rename ( { suffix : '.min' } ) )
163
+ . pipe ( gulp . dest ( dirs . cssDist ) ) ;
164
+
135
165
return gulp . src ( css . dist )
136
166
. pipe ( cssmin ( ) )
137
167
. pipe ( rename ( { suffix : '.min' } ) )
0 commit comments