'use strict';

var gulp = require('gulp'),
    jade = require('gulp-jade'),
    less = require('gulp-less'),
    coffee = require('gulp-coffee'),
    gzip = require('gulp-gzip'),
    plumber = require('gulp-plumber'),
    ftp = require('vinyl-ftp'),
    rimraf = require('rimraf');

var DIST_DIR = "./dist/";


// Jade コンパイル
gulp.task('jade', function(){
    gulp.src(['src/jade/*.jade'])
        .pipe(plumber())
        .pipe(jade())
        .pipe(gulp.dest(DIST_DIR));
});


// Less コンパイル
gulp.task('less', function(){
    gulp.src(['src/less/*.less'])
        .pipe(plumber())
        .pipe(less())
        .pipe(gulp.dest(DIST_DIR));
});


// Coffee コンパイル
gulp.task('coffee', function(){
    gulp.src(['src/coffee/*.coffee'])
        .pipe(plumber())
        .pipe(coffee())
        .pipe(gulp.dest(DIST_DIR));
});


// ファイル圧縮
// 依存: jade, less, coffe
gulp.task('build', ['jade', 'less', 'coffee'], function(){
    gulp.src(['./dist/*.html', './dist/*.css', './dist/*.js'])
        .pipe(gzip())
        .pipe(gulp.dest(DIST_DIR));
});


// 生成されるファイルを削除
gulp.task('clean', function(callback){
   rimraf('./dist/*', callback);
});


// ファイルを公開
// 依存: build
gulp.task('deploy', ['build'], function(){
  var pit = require('pit-ro');
  
  // 設定ファイルを記述する(Pitで管理)
  // @see https://www.npmjs.com/package/pit-ro
  pit.pitDir = '.';
  var config = pit.get('ftp.example.jp', 'config');

  // 以下のコードは未テスト

  var conn = ftp.create({
    host: config.host,
    user: config.user,
    password: config.password,
  });

  return gulp.src(['./dist/**'], {buffer: false})
    .pipe(conn.dest(config.upload_path));
});

// ファイル監視
gulp.task('watch', function(){
    gulp.watch('src/jade/*.jade', ['jade']);
    gulp.watch('src/less/*.less', ['less']);
    gulp.watch('src/coffee/*.coffee', ['coffee']);
});


// デフォルトで実行されるタスク
gulp.task('default', ['jade', 'less', 'coffee', 'watch']);

@@ -1197,16 +1197,18 @@
 tion()%7B%0A
+  
   var pi
@@ -1233,16 +1233,18 @@
 o');%0A  %0A
+  
   // %E8%A8%AD%E5%AE%9A%E3%83%95
@@ -1262,16 +1262,18 @@
 t%E3%81%A7%E7%AE%A1%E7%90%86)%0A  
+ 
+ 
 // @see 
@@ -1309,16 +1309,18 @@
 /pit-ro%0A
+  
   pit.pi
@@ -1333,16 +1333,18 @@
  '.';%0A  
+ 
+ 
 var conf
@@ -1386,16 +1386,18 @@
 fig');%0A%0A
+  
   // %E4%BB%A5%E4%B8%8B%E3%81%AE
@@ -1406,16 +1406,18 @@
 %E3%83%89%E3%81%AF%E6%9C%AA%E3%83%86%E3%82%B9%E3%83%88%0A%0A
+  
   var co
@@ -1438,16 +1438,20 @@
 e(%7B%0A    
+   
+ 
 host: co
@@ -1461,16 +1461,20 @@
 g.host,%0A
+    
     user
@@ -1488,16 +1488,20 @@
 g.user,%0A
+    
     pass
@@ -1527,15 +1527,19 @@
 rd,%0A
+  
   %7D);%0A%0A
+  
   re
@@ -1584,16 +1584,20 @@
 false%7D)%0A
+    
     .pip

fix indent