diff --git a/gulp/images.js b/gulp/images.js new file mode 100644 index 0000000..50287f8 --- /dev/null +++ b/gulp/images.js @@ -0,0 +1,21 @@ +'use strict'; + +var path = require('path'); +var gulp = require('gulp'); +var conf = require('./conf'); + +var gulpif = require('gulp-if'); +var sprity = require('sprity'); + +gulp.task('sprites', function () { + var src = path.join(conf.paths.src, '/assets/images/icons/*.png'); + var destCss = path.join(conf.paths.tmp, '/serve/app/'); + var destImg = path.join(conf.paths.tmp, '/serve/assets/images/icons'); + + return sprity.src({ + src: src, + style: 'sprite.css', + cssPath: '../assets/images/icons/' + }) + .pipe(gulpif('*.png', gulp.dest(destImg), gulp.dest(destCss))); +}); diff --git a/gulp/inject.js b/gulp/inject.js index f1189f9..b81d399 100644 --- a/gulp/inject.js +++ b/gulp/inject.js @@ -9,7 +9,7 @@ var $ = require('gulp-load-plugins')(); var wiredep = require('wiredep').stream; var _ = require('lodash'); -gulp.task('inject', ['scripts', 'styles'], function () { +gulp.task('inject', ['scripts', 'styles', 'sprites'], function () { var injectStyles = gulp.src([ path.join(conf.paths.tmp, '/serve/app/**/*.css'), path.join('!' + conf.paths.tmp, '/serve/app/vendor.css') diff --git a/gulp/watch.js b/gulp/watch.js index 16eb324..dde50e6 100644 --- a/gulp/watch.js +++ b/gulp/watch.js @@ -25,6 +25,16 @@ gulp.task('watch', ['inject'], function () { } }); + gulp.watch([ + path.join(conf.paths.src, '/assets/images/icons/*.png') + ], function(event) { + if(isOnlyChange(event)) { + gulp.start('sprites'); + } else { + gulp.start('inject'); + } + }); + gulp.watch(path.join(conf.paths.src, '/app/**/*.js'), function(event) { if(isOnlyChange(event)) { gulp.start('scripts'); diff --git a/package.json b/package.json index 795d11b..432f086 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "gulp-sass": "~2.0.1", "gulp-angular-filesort": "~1.1.1", "main-bower-files": "~2.8.0", - "merge-stream": "~0.1.7", + "merge-stream": "^1.0.0", "jshint-stylish": "~2.0.0", "wiredep": "~2.2.2", "karma": "~0.12.36", @@ -47,7 +47,9 @@ "http-proxy-middleware": "~0.0.5", "chalk": "~1.0.0", "uglify-save-license": "~0.4.1", - "wrench": "~1.5.8" + "wrench": "~1.5.8", + "gulp-if": "^1.2.5", + "sprity": "^1.0.7" }, "engines": { "node": ">=0.10.0" diff --git a/src/app/components/navbar/navbar.directive.js b/src/app/components/navbar/navbar.directive.js index f3f330c..3d5f375 100644 --- a/src/app/components/navbar/navbar.directive.js +++ b/src/app/components/navbar/navbar.directive.js @@ -11,7 +11,7 @@ restrict: 'E', templateUrl: 'app/components/navbar/navbar.html', scope: { - creationDate: '=' + creationDate: '=' }, controller: NavbarController, controllerAs: 'vm', @@ -23,11 +23,15 @@ /** @ngInject */ function NavbarController($log) { $log.debug('NavbarController'); - // var vm = this; - // "vm.creation" is avaible by directive option "bindToController: true" - // vm.relativeDate = moment(vm.creationDate).fromNow(); + var vm = this; + + vm.scrollTo = function(hash) { + var $el = angular.element('#' + hash); + angular.element('body').animate({scrollTop: $el.offset().top}, 'slow'); + }; } + } })(); diff --git a/src/app/components/navbar/navbar.html b/src/app/components/navbar/navbar.html index 73ba1b4..97dea1d 100644 --- a/src/app/components/navbar/navbar.html +++ b/src/app/components/navbar/navbar.html @@ -1,4 +1,4 @@ -