Guest User

Untitled

a guest
Aug 30th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.99 KB | None | 0 0
  1. var gulp = require('gulp'),
  2. gutil = require('gulp-util'),
  3. sass = require('gulp-sass'),
  4. rubysass = require('gulp-ruby-sass'),
  5. fileinclude = require('gulp-file-include'),
  6. rename = require('gulp-rename'),
  7. notify = require('gulp-notify'),
  8. livereload = require('gulp-livereload'),
  9. lr = require('tiny-lr'),
  10. connect = require('gulp-connect'),
  11. plumber = require('gulp-plumber'),
  12. autoprefixer = require('gulp-autoprefixer'),
  13. server = lr(),
  14. path = require("path");
  15.  
  16. var paths = {
  17. templates: './templates/',
  18. sass: 'css/source/'
  19. };
  20.  
  21. // fileinclude: grab partials from templates and render out html files
  22. // ==========================================
  23. gulp.task('fileinclude', function() {
  24. return gulp.src(path.join(paths.templates, '*.tpl.html'))
  25. .pipe(fileinclude())
  26. .pipe(rename({
  27. extname: ""
  28. }))
  29. .pipe(rename({
  30. extname: ".html"
  31. }))
  32. .pipe(gulp.dest('./'))
  33. .pipe(livereload(server))
  34. .pipe(notify({ message: 'Includes: included' }));
  35. });
  36.  
  37. // Sass: compile sass to css task - uses Libsass
  38. //===========================================
  39. gulp.task('sass', function() {
  40. return gulp.src(path.join(paths.sass, '*.scss'))
  41. .pipe(sass({ style: 'expanded', sourceComments: 'map', errLogToConsole: true}))
  42. .pipe(autoprefixer('last 2 version', "> 1%", 'ie 8', 'ie 9'))
  43. .pipe(gulp.dest('css'))
  44. .pipe(livereload(server))
  45. .pipe(notify({ message: 'LibSass files dropped!' }));
  46. });
  47.  
  48. // Sass: compile sass to css task
  49. //===========================================
  50. gulp.task('rubysass', function() {
  51. return gulp.src(path.join(paths.sass, '*.scss'))
  52. .pipe(plumber())
  53. .pipe(rubysass({ sourcemap: true, style: 'expanded'}))
  54. .pipe(autoprefixer('last 2 version', "> 1%", 'ie 8', 'ie 9'))
  55. .pipe(gulp.dest('css'))
  56. .pipe(livereload(server))
  57. .pipe(notify({ message: 'Ruby Sass files dropped!' }));
  58. });
  59.  
  60.  
  61. // Connect: sever task
  62. //===========================================
  63. gulp.task('connect', connect.server({
  64. port: 1337,
  65. root: [__dirname],
  66. livereload: false
  67. }));
  68.  
  69. function watchStuff(task) {
  70. // Listen on port 35729
  71. server.listen(35729, function (err) {
  72. if (err) {
  73. return console.error(err)
  74. //TODO use notify to log a message on Sass compile fail and Beep
  75. };
  76.  
  77. //Watch task for sass
  78. gulp.watch(path.join(paths.sass, '**/*.scss'), [task]);
  79.  
  80. // watch task for gulp-includes
  81. gulp.watch(path.join(paths.templates, '**/*.html'), ['fileinclude']);
  82.  
  83. });
  84. }
  85.  
  86. // Watch and Livereload using Libsass
  87. //===========================================
  88. gulp.task('watch', function() {
  89.  
  90. watchStuff('sass');
  91.  
  92. });
  93.  
  94. // Watch and Livereload using RUBY Sass
  95. //===========================================
  96. gulp.task('rubywatch', function() {
  97.  
  98. watchStuff('rubysass');
  99.  
  100. });
  101.  
  102.  
  103. // Default Gulp Task
  104. //===========================================
  105. gulp.task('default', ['fileinclude', 'sass', 'connect', 'watch'], function() {
  106.  
  107. });
  108.  
  109. gulp.task('useruby', ['fileinclude', 'rubysass', 'connect', 'rubywatch'], function() {
  110.  
  111. });
Add Comment
Please, Sign In to add comment