X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/35397f26dccf6d41880126884817cfa8a1a871d3..refs/pull/139/head:/gulpfile.js diff --git a/gulpfile.js b/gulpfile.js index 621e665be..7deefc71a 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,8 +1,27 @@ var elixir = require('laravel-elixir'); +// Custom extensions +var gulp = require('gulp'); +var Task = elixir.Task; +var fs = require('fs'); + +elixir.extend('queryVersion', function(inputFiles) { + new Task('queryVersion', function() { + var manifestObject = {}; + var uidString = Date.now().toString(16).slice(4); + for (var i = 0; i < inputFiles.length; i++) { + var file = inputFiles[i]; + manifestObject[file] = file + '?version=' + uidString; + } + var fileContents = JSON.stringify(manifestObject, null, 1); + fs.writeFileSync('public/build/manifest.json', fileContents); + }).watch(['./public/css/*.css', './public/js/*.js']); +}); + elixir(function(mix) { mix.sass('styles.scss') .sass('print-styles.scss') - .browserify(['jquery-extensions.js', 'global.js'], 'public/js/common.js') - .version(['css/styles.css', 'css/print-styles.css', 'js/common.js']); + .sass('export-styles.scss') + .browserify('global.js', 'public/js/common.js') + .queryVersion(['css/styles.css', 'css/print-styles.css', 'js/common.js']); });