var paths = {
"js": {
"ajax": {
"src": "./static/ajax/*.js",
"build": "build.js",
"dist": "./static/build"
},
"created": {
"src": "./static/created/*.js",
"build": "created.js",
"dist": "./static/build/created"
}
}
}
function doit(dir)
{
var item = paths.js[dir];
/* Листинг файлов
------------------------------------------------------------------------------------------------------------------------*/
gulp.task('lint', function() {
gulp.src(item.src)
.pipe(jshint())
.pipe(jshint.reporter('default'));
});
/* Конкатенация и минификация файлов
------------------------------------------------------------------------------------------------------------------------*/
gulp.task('minify', function(){
gulp.src(item.src)
.pipe(concat(item.build))
.pipe(gulp.dest(item.dist))
.pipe(rename({suffix: '.min'}))
.pipe(uglify())
.pipe(gulp.dest(item.dist))
});
gulp.run('lint', 'minify');
}
gulp.task('make', function(){
for (var dir in paths.js)
{
doit( dir );
}
}); # Указываем расширения файлов, которые можно использовать в каталоге:
location ~* ^/static/plugins/.+\.(css|js|png)$ {
root /var/www/site.ru/;
}
# Следующий локейшен будет запрещать доступ в этот каталог для всех, не указанных ранее, расширений файлов
location ~* ^/static/plugins/ {
return 403;
} pngquant --force --skip-if-large --speed 1 256 --output выход входjpegtran -copy none -optimize -progressive вход выход
sudo apt-get install jpegoptim imagemagick optipngfind . -type f \( -name "*.jpeg" -or -name "*.jpg" \) -exec mogrify -resize x100 -quality 90 {} \; -exec jpegoptim -o --strip-all {} \;find . -type f -name "*.png" -exec mogrify -resize x100 {} \; -exec optipng -o1 {} \;mogrify -resize ШИРИНАxВЫСОТА -quality КАЧЕСТВОoptipng -o9 file.pngoptipng -o5 file.png