X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/eaa1765c7a68cd671bcb37a666203210bf05d217..refs/pull/139/head:/gulpfile.js diff --git a/gulpfile.js b/gulpfile.js index 728827654..7deefc71a 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,16 +1,27 @@ var elixir = require('laravel-elixir'); -/* - |-------------------------------------------------------------------------- - | Elixir Asset Management - |-------------------------------------------------------------------------- - | - | Elixir provides a clean, fluent API for defining some basic Gulp tasks - | for your Laravel application. By default, we are compiling the Sass - | file for our application, as well as publishing vendor resources. - | - */ +// 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'); + mix.sass('styles.scss') + .sass('print-styles.scss') + .sass('export-styles.scss') + .browserify('global.js', 'public/js/common.js') + .queryVersion(['css/styles.css', 'css/print-styles.css', 'js/common.js']); });