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 optipng
find . -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.png
optipng -o5 file.png