|
|
|
@ -2,10 +2,13 @@ var _ = require('lodash');
|
|
|
|
|
var fs = require('fs-extra');
|
|
|
|
|
var os = require('os');
|
|
|
|
|
var path = require('path');
|
|
|
|
|
var wrench = require('wrench');
|
|
|
|
|
var gulp = require('gulp');
|
|
|
|
|
var newer = require('gulp-newer');
|
|
|
|
|
var rename = require("gulp-rename");
|
|
|
|
|
var imageResize = require('gulp-image-resize');
|
|
|
|
|
var parallel = require('concurrent-transform');
|
|
|
|
|
var thumbler = require('video-thumb');
|
|
|
|
|
|
|
|
|
|
var galleries = require('./galleries');
|
|
|
|
|
var render = require('./render');
|
|
|
|
@ -17,7 +20,7 @@ exports.build = function(opts) {
|
|
|
|
|
fs.mkdirp(opts.output);
|
|
|
|
|
var list = galleries.fromDisk(opts.input, opts.mediaPrefix);
|
|
|
|
|
|
|
|
|
|
gulp.task('thumbs', function () {
|
|
|
|
|
gulp.task('thumbs-photos', function() {
|
|
|
|
|
var dest = opts.output + '/thumbs';
|
|
|
|
|
gulp
|
|
|
|
|
.src(opts.input + '/**/*.{jpg,png}')
|
|
|
|
@ -26,6 +29,17 @@ exports.build = function(opts) {
|
|
|
|
|
.pipe(gulp.dest(dest));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
gulp.task('thumbs-videos', function() {
|
|
|
|
|
var files = wrench.readdirSyncRecursive(opts.input);
|
|
|
|
|
var videos = files.filter(function(f) { return f.match(/\.mp4$/); });
|
|
|
|
|
|
|
|
|
|
videos.forEach(function(videoPath) {
|
|
|
|
|
var input = path.join(opts.input, videoPath);
|
|
|
|
|
var output = path.join(opts.output, 'thumbs', videoPath.replace('.mp4', '.jpg'));
|
|
|
|
|
thumbler.extract(input, output, '00:00:00', '100x100', function() {});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
gulp.task('index', function() {
|
|
|
|
|
var rendered = render.gallery(list, list[0]);
|
|
|
|
|
var outputPath = path.join(opts.output, 'index.html');
|
|
|
|
@ -48,6 +62,6 @@ exports.build = function(opts) {
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
gulp.run('thumbs', 'public', 'index', 'galleries');
|
|
|
|
|
gulp.run('thumbs-photos', 'thumbs-videos', 'public', 'index', 'galleries');
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|