Skip to content

Commit 9bdcd73

Browse files
committed
Finally got gulp system working the way I wanted it to
- Updated paths - Updated gulpfile with lots of changes - Minor UI fixes as well
1 parent 3486df7 commit 9bdcd73

File tree

11 files changed

+92
-47
lines changed

11 files changed

+92
-47
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,6 @@ assets/prod/*
2727
*.phpproj*
2828
*.sln
2929
*.suo
30+
web.config
31+
vwd.webinfo
3032
WebEssentials-Settings.json
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
angular.module('sm').directive("courseCart", function() {
22
return {
33
restrict: 'A',
4-
templateUrl: '/assets/prod/templates/cart.html'
4+
templateUrl: '/assets/prod/modules/sm/App/templates/cart.min.html'
55
};
66
});

assets/src/modules/sm/Generate/controllers/GenerateController.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,5 +224,8 @@ angular.module('sm').controller("GenerateController", function($scope, globalKbd
224224
$scope.state.ui.action_generateSchedules = false;
225225
$scope.generateSchedules();
226226
}
227-
227+
228+
$scope.resetGenerate = function() {
229+
230+
};
228231
});
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
angular.module('sm').directive("scheduleCourse", function(){
22
return {
33
restrict: "C",
4-
templateUrl: '/assets/prod/templates/courseselect.html',
4+
templateUrl: '/assets/prod/modules/sm/Generate/templates/courseselect.min.html',
55
};
66
});

assets/src/modules/sm/Generate/templates/generate.html

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -151,17 +151,19 @@ <h2 class="panel-title">Times You Don't Want Classes</h2>
151151
</div>
152152
</div>
153153
</div>
154-
<div class="btn-group hidden-xs hidden-sm">
155-
<button type="button" class="btn btn-lg btn-danger pull-left-md block-sm dropdown-toggle" data-toggle="dropdown">
156-
<i class="fa fa-times"></i> Reset... <span class="caret"></span>
157-
</button>
158-
<ul class="dropdown-menu" role="menu">
159-
<!-- <li><a ng-click="resetGenerate()" href="#">Current Form Fields</a></li> -->
160-
<li><a ng-click="resetState()" href="#">Saved Session</a></li>
161-
</ul>
162-
</div>
163154
<button type="button" class="pull-right-md btn-lg btn btn-primary block-sm" loading-button="generationStatus" loading-text="Generating..." ng-click="generateSchedules()" title="Shortcut: Ctrl + Enter"> Show Matching Schedules <i class="fa fa-chevron-right"></i></button>
164155
<div class="vert-spacer-static-md visible-xs visible-sm"></div>
156+
<div class="visible-md visible-lg">
157+
<div class="btn-group">
158+
<button type="button" class="btn btn-lg btn-danger pull-left btn-xs-block dropdown-toggle" data-toggle="dropdown">
159+
<i class="fa fa-times"></i> Reset... <span class="caret"></span>
160+
</button>
161+
<ul class="dropdown-menu" role="menu">
162+
<!-- <li><a ng-click="resetGenerate()" href="#">Current Form Fields</a></li> -->
163+
<li><a ng-click="resetState()" href="#">Saved Session</a></li>
164+
</ul>
165+
</div>
166+
</div>
165167
<div class="visible-xs visible-sm">
166168
<div class="btn-group">
167169
<button type="button" class="btn btn-lg btn-danger pull-left-md dropdown-toggle" data-toggle="dropdown">

assets/src/modules/sm/Schedule/directives/scheduleDirective.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ angular.module('sm').directive('schedule', function($timeout, $filter) {
182182

183183
return {
184184
restrict: 'A',
185-
templateUrl: '/assets/prod/templates/scheduleitem.html',
185+
templateUrl: '/assets/prod/modules/sm/Schedule/templates/scheduleitem.min.html',
186186
link: {
187187
pre: function(scope, elm, attrs) {
188188
scope.scheduleController = new Schedule(scope);
File renamed without changes.

assets/src/modules/sm/app.js

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,41 +12,47 @@ angular.module('sm', ['ngAnimate', 'ngSanitize', 'ui.router'])
1212

1313
$urlRouterProvider.otherwise("/404");
1414

15+
var tplBase = '/assets/prod/modules/sm/';
16+
17+
var tplPath = function(submodule, name) {
18+
return tplBase + submodule + '/templates/' + name + '.min.html';
19+
};
20+
1521
$stateProvider
1622
.state('index', {
1723
url: '/',
18-
templateUrl: '/assets/prod/templates/index.html'
24+
templateUrl: tplPath('Index', 'index')
1925
})
2026
.state('404', {
2127
url: '/404',
22-
templateUrl: '/assets/prod/templates/404.html'
28+
templateUrl: tplPath('App', '404')
2329
})
2430
.state('generate', {
2531
url: '/generate',
26-
templateUrl: '/assets/prod/templates/generate.html',
32+
templateUrl: tplPath('Generate', 'generate'),
2733
controller: 'GenerateController'
2834
})
2935
.state('browse', {
3036
url: '/browse',
31-
templateUrl: '/assets/prod/templates/browse.html',
37+
templateUrl: tplPath('Browse', 'browse'),
3238
controller: 'BrowseController',
3339
})
3440
.state('search', {
3541
url: '/search',
36-
templateUrl: '/assets/prod/templates/search.html',
42+
templateUrl: tplPath('Search', 'search'),
3743
controller: 'SearchController'
3844
})
3945
.state('help', {
4046
url: '/help',
41-
templateUrl: '/assets/prod/templates/help.html'
47+
templateUrl: tplPath('App', 'help')
4248
})
4349
.state('status', {
4450
url: '/status',
45-
templateUrl: '/assets/prod/templates/status.html',
51+
templateUrl: tplPath('Status', 'status'),
4652
controller: 'StatusController'
4753
}).state('schedule', {
4854
url: '/schedule/:id',
49-
templateUrl: '/assets/prod/templates/schedule.html',
55+
templateUrl: tplPath('Schedule', 'schedule'),
5056
resolve: {
5157
parsedSchedule: function($stateParams, reloadSchedule) {
5258
return reloadSchedule($stateParams);
@@ -56,11 +62,11 @@ angular.module('sm', ['ngAnimate', 'ngSanitize', 'ui.router'])
5662
controller: 'ScheduleController'
5763
}).state('schedule.view', {
5864
url: '',
59-
templateUrl: '/assets/prod/templates/schedule.view.html',
65+
templateUrl: tplPath('Schedule', 'schedule.view'),
6066
controller: 'ScheduleViewController',
6167
}).state('schedule.print', {
6268
url: '/print',
63-
templateUrl: '/assets/prod/templates/schedule.print.html',
69+
templateUrl: tplPath('Schedule', 'schedule.print'),
6470
controller: 'SchedulePrintController'
6571
});
6672
})

gulpfile.js

Lines changed: 50 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ var assetModuleList = {
99
};
1010

1111
var assetTypes = {
12-
js: {
12+
scripts: {
1313
paths: [
1414
'',
1515
'providers/',
@@ -54,12 +54,14 @@ for(var moduleName in assetModuleList) {
5454
}
5555

5656
var doFor = function(assetType, cb) {
57+
var streamResults = [];
5758
for(var moduleName in assetModuleList) {
58-
cb({
59+
streamResults.push(cb({
5960
src: paths[moduleName][assetType],
6061
dest: modulesRoot.dest + moduleName + '/'
61-
});
62+
}));
6263
}
64+
return streamResults;
6365
};
6466

6567
var fs = require('fs');
@@ -77,12 +79,16 @@ var uglify = require('gulp-uglify');
7779
var clean = require('gulp-clean');
7880
var concat = require('gulp-concat');
7981
var rename = require('gulp-rename');
82+
var sourcemaps = require('gulp-sourcemaps');
83+
var replace = require('gulp-replace');
84+
var es = require('event-stream');
85+
var minifyCSS = require('gulp-minify-css');
8086

8187
// Define Tasks
8288
gulp.task('templates', function() {
8389

84-
doFor('templates', function(templatePaths) {
85-
gulp.src(templatePaths.src)
90+
var mapped = doFor('templates', function(templatePaths) {
91+
return gulp.src(templatePaths.src)
8692
.pipe(htmlmin({
8793
collapseWhitespace: true,
8894
caseSensitive: true,
@@ -91,40 +97,63 @@ gulp.task('templates', function() {
9197
.pipe(rename({suffix: '.min'}))
9298
.pipe(gulp.dest(templatePaths.dest));
9399
});
100+
101+
return es.concat.apply(null, mapped);
94102
});
95103

96-
// Define Tasks
97-
gulp.task('js', function() {
98-
doFor('js', function(jsPaths) {
99-
gulp.src(jsPaths.src)
104+
105+
gulp.task('scripts', function() {
106+
var mapped = doFor('scripts', function(scriptPaths) {
107+
return gulp.src(scriptPaths.src)
100108
.pipe(ngmin())
101-
.pipe(uglify({outSourceMap: true}))
102-
//.pipe(rename({suffix: '.min'}))
103-
//.pipe(gulp.dest(jsPaths.dest))
104-
//.pipe(concat('dist.min.js'))
105-
.pipe(gulp.dest(jsPaths.dest));
109+
.pipe(concat('dist.js'))
110+
.pipe(gulp.dest(scriptPaths.dest))
111+
.pipe(sourcemaps.init())
112+
.pipe(rename({suffix: '.min'}))
113+
.pipe(uglify({outSourceMap: "dist.min.js"}))
114+
.pipe(sourcemaps.write({inline: false, includeContent: false}))
115+
// HACK UNTIL GRUNT-UGLIFY HANDLES SOURCEMAPS CORRECTLY
116+
.pipe(replace('"sources":["dist.min.js"]', '"sources":["dist.js"]'))
117+
.pipe(gulp.dest(scriptPaths.dest));
118+
});
119+
120+
return es.concat.apply(null, mapped);
121+
});
122+
123+
124+
gulp.task('styles', function() {
125+
var mapped = doFor('styles', function(stylePaths) {
126+
return gulp.src(stylePaths.src)
127+
.pipe(concat('dist.css'))
128+
.pipe(gulp.dest(stylePaths.dest))
129+
.pipe(minifyCSS())
130+
.pipe(rename({suffix: '.min'}))
131+
.pipe(gulp.dest(stylePaths.dest));
106132
});
133+
134+
return es.concat.apply(null, mapped);
107135
});
108136

109137
gulp.task('watch', function() {
110138

111139
doFor('templates', function(templatePaths) {
112-
gulp.watch(templatePaths, ['templates']);
140+
gulp.watch(templatePaths.src, ['templates']).on('error', function() {});
113141
});
114-
115-
doFor('js', function(jsPaths) {
116-
gulp.watch(jsPaths, ['js']);
142+
doFor('scripts', function(scriptPaths) {
143+
gulp.watch(scriptPaths.src, ['scripts']).on('error', function() {});
144+
});
145+
doFor('styles', function(stylesPaths) {
146+
gulp.watch(stylesPaths.src, ['styles']).on('error', function() {});
117147
});
118-
119148
});
120149

121150
gulp.task('clean', function() {
122151
return gulp.src(modulesRoot.dest, {read: false})
123152
.pipe(clean());
124153
});
125154

126-
gulp.task('build', /*['clean'],*/ function() {
127-
gulp.start('templates', 'js');
155+
gulp.task('build', ['clean'], function() {
156+
return gulp.start('scripts', 'templates', 'styles');
128157
});
129158

130159
gulp.task('default', ['build']);

index.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,8 @@
4848

4949
<!-- STYLE SHEETS -->
5050
<link rel="stylesheet" href="//brick.a.ssl.fastly.net/Roboto:300,700">
51-
<link rel="stylesheet" href="<?=$HTTPROOTADDRESS?>assets/prod/modules/sm/App/styles/bootstrap.css?v=<?=$APP_VERSION?>">
5251
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/font-awesome/4.0.1/css/font-awesome.css">
53-
<link rel="stylesheet" href="<?=$HTTPROOTADDRESS?>assets/prod/modules/sm/App/styles/global.css?v=<?=$APP_VERSION?>">
52+
<link rel="stylesheet" href="<?=$HTTPROOTADDRESS?>assets/prod/modules/sm/dist.min.css?v=<?=$APP_VERSION?>">
5453

5554
<!-- OPEN GRAPH TAGS -->
5655
<meta name="twitter:card" content="photo">

0 commit comments

Comments
 (0)