var gulp = require('gulp'),
sass = require('gulp-ruby-sass'),
notify = require("gulp-notify"),
bower = require('gulp-bower');
var config = {
sassPath: './resources/sass',
bowerDir: './bower_components'
};
gulp.task('bower', function() {
return bower()
.pipe(gulp.dest(config.bowerDir))
});
gulp.task('icons', function() {
return gulp.src(config.bowerDir + '/font-awesome/fonts/**.*')
.pipe(gulp.dest('./public/fonts'));
});
gulp.task('css', function() {
return gulp.src(config.sassPath + '/style.scss')
.pipe(sass({
style: 'compressed',
loadPath: [
'./resources/sass',
config.bowerDir + '/bootstrap-sass-official/assets/stylesheets',
config.bowerDir + '/font-awesome/scss',
]
})
.on("error", notify.onError(function (error) {
return "Error: " + error.message;
})))
.pipe(gulp.dest('./public/css'));
});
gulp.task('watch', function() {
gulp.watch(config.sassPath + '/**/*.scss', ['css']);
});
gulp.task('default', ['bower', 'icons', 'css']);
'use strict';
/*
npm install --save-dev \
gulp \
node-sass \
gulp-sass \
compass-mixins \
bootstrap-sass \
gulp-autoprefixer \
gulp-minify-css \
gulp-sourcemaps
*/
// load plugins
var gulp = require('gulp'),
sass = require('gulp-sass'),
autoprefixer = require('gulp-autoprefixer'),
minify_css = require('gulp-minify-css'),
sourcemaps = require('gulp-sourcemaps'),
path = require('path');
gulp.task('sass', function () {
gulp.src("paths/to/sass/files/**/*.sass")
.pipe(sourcemaps.init())
.pipe(
sass({
includePaths: [],
imagePath: "path/to/images"
})
.on('error', sass.logError))
// https://github.com/ai/browserslist
.pipe(autoprefixer("last 2 version", "> 1%", "Explorer >= 8", {
cascade: true
}))
.pipe(minify_css({compatibility: 'ie8'}))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest("paths/to/css_dir"));
});
//watch
gulp.task('live', function () {
//watch .sass files
gulp.watch("paths/to/sass/files/**/*.sass", ['sass']);
});
gulp.task('default', ['live']); gulp.task('css', function() {
return sass(config.sassPath + '/style.scss', {
style: 'compressed',
loadPath: [
'./resources/sass',
config.bowerDir + '/bootstrap-sass/assets/stylesheets',
config.bowerDir + '/font-awesome/scss',
]
})
.on("error", notify.onError(function (error) {
return "Error: " + error.message;
}))
.pipe(gulp.dest('./public/css'));
});
/*
Error: File to import not found or unreadable: bootstrap.
Load paths:
/home/martynuk/PhpstormProjects/gulp_bootstrap_sass/resources/sass
/home/martynuk/PhpstormProjects/gulp_bootstrap_sass/bower_components/bootstrap-sass/assets/stylesheets
/home/martynuk/PhpstormProjects/gulp_bootstrap_sass/bower_components/font-awesome/scss
on line 6 of ./resources/sass/style.scss
1:// Add custom font
2: @import url(http://fonts.googleapis.com/css?family=Raleway:400,700,300);
3: $font-family-base: 'Raleway', sans-serif;
4:
5: // Import bootstrap and fontawesome
6: @import "bootstrap";
7: @import "font-awesome";
8:
gulp.task('js', function() {
return gulp.src(config.bowerDir + '/main.js', {
style: 'nested',
loadPath: [
'./resources/js',
config.bowerDir + '/bootstrap-sass-official/assets/javascript'
]
})
.on("error", notify.onError(function (error) {
return "Error: " + error.message;
}))
.pipe(gulp.dest('./public/js'));
});
martynuk@asus-K52F:~/PhpstormProjects/frontend_devil$ gulp html:build
/home/martynuk/PhpstormProjects/frontend_devil/node_modules/gulp-sass/node_modules/node-sass/lib/extensions.js:150
throw new Error([
^
Error: The `libsass` binding was not found in /home/martynuk/PhpstormProjects/frontend_devil/node_modules/gulp-sass/node_modules/node-sass/vendor/linux-ia32-14/binding.node
This usually happens because your node version has changed.
Run `npm rebuild node-sass` to build the binding for your current node version.
at Object.sass.getBinaryPath (/home/martynuk/PhpstormProjects/frontend_devil/node_modules/gulp-sass/node_modules/node-sass/lib/extensions.js:150:11)
at Object.<anonymous> (/home/martynuk/PhpstormProjects/frontend_devil/node_modules/gulp-sass/node_modules/node-sass/lib/index.js:16:36)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/home/martynuk/PhpstormProjects/frontend_devil/node_modules/gulp-sass/index.js:163:21)
at Module._compile (module.js:460:26)
martynuk@asus-K52F:~/PhpstormProjects/frontend_devil$ npm rebuild node-sass
> node-sass@3.3.3 install /home/martynuk/PhpstormProjects/frontend_devil/node_modules/gulp-sass/node_modules/node-sass
> node scripts/install.js
> node-sass@3.3.3 postinstall /home/martynuk/PhpstormProjects/frontend_devil/node_modules/gulp-sass/node_modules/node-sass
> node scripts/build.js
` /home/martynuk/PhpstormProjects/frontend_devil/node_modules/gulp-sass/node_modules/node-sass/vendor/linux-ia32-46/binding.node ` exists.
testing binary.
Binary is fine; exiting.
node-sass@3.3.3 /home/martynuk/PhpstormProjects/frontend_devil/node_modules/gulp-sass/node_modules/node-sass
var gulp = require('gulp'),
sass = require('gulp-ruby-sass'),
notify = require("gulp-notify"),
bower = require('gulp-bower');
rigger = require('gulp-rigger');
sourcemaps = require('gulp-sourcemaps');
uglify = require('gulp-uglify');
clean = require('gulp-clean');
var config = {
sassPath: './resources/sass',
bowerDir: './bower_components'
};
gulp.task('bower', function() {
return bower()
.pipe(gulp.dest(config.bowerDir))
});
gulp.task('icons', function() {
return gulp.src(config.bowerDir + '/font-awesome/fonts/**.*')
.pipe(gulp.dest('./public/fonts'));
});
gulp.task('css', function() {
return sass(config.sassPath + '/style.scss', {
style: 'nested',
loadPath: [
'./resources/sass',
config.bowerDir + '/bootstrap-sass-official/assets/stylesheets',
config.bowerDir + '/font-awesome/scss'
]
})
.on("error", notify.onError(function (error) {
return "Error: " + error.message;
}))
.pipe(gulp.dest('./public/css'));
});
gulp.task('js', function() {
return gulp.src(config.jsDir + '/main.js', {
loadPath: [
'./resources/js',
config.bowerDir + '/bootstrap-sass-official/assets/javascript']
})
.pipe(rigger())
.pipe(sourcemaps.init())
.pipe(uglify())
.pipe(sourcemaps.write())
.pipe(gulp.dest('./public/js'));
});
gulp.task('watch', function() {
gulp.watch(config.sassPath + '/**/*.scss', ['css']);
});
gulp.task('clean', function () {
return gulp.src('public', {read: false})
.pipe(clean());
});
gulp.task('default', ['bower', 'icons', 'css', 'js']);