Skip to content

Instantly share code, notes, and snippets.

@AgtLucas AgtLucas/Gruntfile.js forked from fdaciuk/.jshintrc
Created Apr 28, 2013

Embed
What would you like to do?
module.exports = function( grunt ) {
grunt.initConfig({
// Ler o arquivo package.json, para pegar informações do projeto
pkg : grunt.file.readJSON( 'package.json' ),
// Nome do diretório do tema do WP
theme_name : 'meu-tema',
// Diretório padrão dos assets (CSS, JS e imagens)
assets_src_path : 'site/themes/<%= theme_name %>/media',
// Diretórios de src e build dos arquivos SASS (CSS) e JS
css_src_path : '<%= assets_src_path %>/_sass',
css_build_path : '<%= assets_src_path %>/css',
js_src_path : '<%= assets_src_path %>/_js',
js_build_path : '<%= assets_src_path %>/js',
// Tarefas do Grunt
concat : {
options : { separator : ';\n' },
js : {
src : [
// Todos os arquivos de /lib, na ordem abaixo
'<%= js_src_path %>/lib/modernizr.js',
'<%= js_src_path %>/lib/jquery.js',
'<%= js_src_path %>/lib/jquery.plugins.js',
'<%= js_src_path %>/lib/socialite.min.js',
// O script principal, que conterá as funções para todas as páginas
'<%= js_src_path %>/scripts.js',
// Os scripts que serão usados para páginas específicas
'<%= js_src_path %>/app/*.js'
],
// Arquivo JS que será compilado
dest : '<%= js_build_path %>/scripts.js'
}
}, // concat
uglify : {
options : {
mangle : true
},
// Minifica o arquivo JS gerado pelo concat
js : {
src : '<%= concat.js.dest %>',
dest : '<%= concat.js.dest %>'
}
}, // uglify
sass : {
dist : {
options : { style : 'compressed' },
files : {
'<%= css_build_path %>/style.css' : '<%= css_src_path %>/style.sass'
}
}
}, // sass
watch : {
// Asssiste todos os arquivos
dist : {
files : [
'<%= js_src_path %>/**/*.js',
'<%= css_src_path %>/*'
],
tasks : [ 'concat', 'sass', 'notify:notify_default' ]
},
// Asssiste só os arquivos JS
wjs : {
files : [ '<%= js_src_path %>/**/*' ],
tasks : [ 'concat', 'notify:wjs' ]
},
// Asssiste só os arquivos CSS
wcss : {
files : [ '<%= css_src_path %>/**/*' ],
tasks : [ 'sass', 'notify:wcss' ]
}
}, // watch
// Notificações
notify : {
notify_default : {
options : {
title : '<%= pkg.title %>',
message : 'Compilação finalizada!'
}
},
wcss : {
options : {
title : 'SASS - <%= pkg.title %>',
message : 'Compilado e minificado!'
}
},
wjs : {
options : {
title : 'Javascript - <%= pkg.title %>',
message : 'JS Pronto!'
}
}
}
});
// Plugins Grunt
grunt.loadNpmTasks( 'grunt-contrib-concat' );
grunt.loadNpmTasks( 'grunt-contrib-uglify' );
grunt.loadNpmTasks( 'grunt-contrib-sass' );
grunt.loadNpmTasks( 'grunt-contrib-watch' );
grunt.loadNpmTasks( 'grunt-notify' );
// Tarefa Default
grunt.registerTask( 'default', [ 'concat', 'uglify', 'sass', 'notify:notify_default' ] );
// Tarefas para watch
grunt.registerTask( 'w', [ 'watch:dist' ] );
grunt.registerTask( 'wjs', [ 'watch:wjs' ] );
grunt.registerTask( 'wcss', [ 'watch:wcss' ] );
};
{
"name": "project_name",
"version": "1.0.0",
"title": "Project Title",
"homepage": "http://www.site.com.br",
"devDependencies": {
"grunt": "~0.4.1",
"grunt-contrib-concat": "~0.1.3",
"grunt-contrib-uglify": "~0.2.0",
"grunt-contrib-sass": "~0.3.0",
"grunt-contrib-watch": "~0.3.1",
"grunt-notify": "~0.1.4"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.