/* ESP8266 file system builder Copyright (C) 2016 by Xose PĂ©rez This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ // ----------------------------------------------------------------------------- // File system builder // ----------------------------------------------------------------------------- const fs = require('fs'); const gulp = require('gulp'); const plumber = require('gulp-plumber'); const htmlmin = require('gulp-htmlmin'); const cleancss = require('gulp-clean-css'); const uglify = require('gulp-uglify'); const gzip = require('gulp-gzip'); const del = require('del'); const useref = require('gulp-useref'); const gulpif = require('gulp-if'); const inline = require('gulp-inline'); const inlineImages = require('gulp-css-base64'); const favicon = require('gulp-base64-favicon'); const dataFolder = 'espurna/data/'; gulp.task('clean', function() { del([ dataFolder + '*']); return true; }); gulp.task('files', ['clean'], function() { return gulp.src([ 'html/**/*.{jpg,jpeg,png,ico,gif}', 'html/fsversion' ]) .pipe(gulp.dest(dataFolder)); }); gulp.task('buildfs_embeded', ['buildfs_inline'], function() { var source = dataFolder + 'index.html.gz'; var destination = dataFolder + '../static/index.html.gz.h'; var wstream = fs.createWriteStream(destination); wstream.on('error', function (err) { console.log(err); }); var data = fs.readFileSync(source); wstream.write('#define index_html_gz_len ' + data.length + '\n'); wstream.write('const uint8_t index_html_gz[] PROGMEM = {') for (i=0; i