Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict';
- var gulp = require('gulp');
- var ftp = require('vinyl-ftp');
- var sass = require('gulp-sass');
- var browserSync = require('browser-sync').create();
- var insertLines = require('gulp-insert-lines');
- var baseDir = './src/';
- var rmteDir = '/public_html';
- gulp.task('html', function() {
- return gulp.src(baseDir + 'index.html')
- .pipe(insertLines({
- 'before': /<\/head>$/,
- 'lineBefore': '\t<script type="text/javascript" src="js/script.js"></script>'
- }))
- .pipe(gulp.dest('dist'))
- .pipe(browserSync.stream());
- });
- // create a task that ensures the `html` task is complete before
- // reloading browsers
- gulp.task('html-watch', ['html'], function (done) {
- browserSync.reload();
- done();
- });
- // Compile sass into CSS & auto-inject into browsers
- gulp.task('sass', function() {
- return gulp.src(baseDir + 'scss/*.scss')
- .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
- .pipe(gulp.dest('dist/css'))
- .pipe(browserSync.stream());
- });
- // create a task that ensures the `sass` task is complete before
- // reloading browsers
- gulp.task('sass-watch', ['sass'], function (done) {
- browserSync.reload();
- done();
- });
- // process JS files and return the stream.
- gulp.task('js', function () {
- return gulp.src(baseDir + 'js/*js')
- .pipe(gulp.dest('dist/js'));
- });
- // create a task that ensures the `js` task is complete before
- // reloading browsers
- gulp.task('js-watch', ['js'], function (done) {
- browserSync.reload();
- done();
- });
- // use default task to launch Browsersync and watch JS files
- gulp.task('default', ['js', 'html', 'sass'], function () {
- // Serve files from the root of this project
- browserSync.init({
- server: {
- baseDir: './dist'
- }
- });
- // add browserSync.reload to the tasks array to make
- // all browsers reload after tasks are complete.
- gulp.watch(baseDir + 'index.html', ['html-watch']);
- gulp.watch(baseDir + 'js/*.js', ['js-watch']);
- gulp.watch(baseDir + 'scss/*.scss', ['sass-watch']);
- });
- gulp.task('deploy', function(){
- console.log('\n\tStart deploying.....\n');
- var conn = ftp.create({
- host: '',
- user: '',
- password: '',
- parallel: 10
- });
- console.log('\tConnected.\n');
- var globs = ['./dist/**'];
- // using base = '.' will transfer everything to /public_html correctly
- // turn off buffering in gulp.src for best performance
- return gulp.src(globs, { base: './dist/', buffer: false })
- .pipe(conn.newer(rmteDir))
- .pipe(conn.dest(rmteDir))
- .pipe(conn.clean(rmteDir + '/**', './dist', rmteDir));
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement