1+ module . exports = function ( grunt ) {
2+ grunt . initConfig ( {
3+ pkg : grunt . file . readJSON ( 'package.json' ) ,
4+ banner : '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' +
5+ '<%= grunt.template.today("yyyy-mm-dd") %>\n' ,
6+ meta : {
7+ version : '0.1.0'
8+ } ,
9+ dirs : {
10+ javascript_dist : "js" ,
11+ javascript_src : "js/_src" ,
12+ less : "_less" ,
13+ css : "css" ,
14+ bower_components : "_bower_components" ,
15+ bs : {
16+ root : "<%= dirs.bower_components %>/bootstrap" ,
17+ js : "<%= dirs.bower_components %>/bootstrap/js" ,
18+ less : "<%= dirs.bower_components %>/bootstrap/less" ,
19+ } ,
20+ fa : "<%= dirs.bower_components %>/font-awesome" ,
21+ holderjs : "<%= dirs.bower_components %>/holderjs" ,
22+ html5shiv : "<%= dirs.bower_components %>/html5shiv/dist" ,
23+ jquery : "<%= dirs.bower_components %>/jquery" ,
24+ respond : "<%= dirs.brower_components %>/respond" ,
25+ } ,
26+ // Config Tasks
27+ init : {
28+ options : {
29+ stripBanners : true ,
30+ } ,
31+ } ,
32+ less : {
33+ production : {
34+ options : {
35+ stripBanners : true ,
36+ compress : true ,
37+ cleancss : true ,
38+ sourceMap : true ,
39+ yuicompress : true ,
40+ paths : [
41+ "<%= dirs.bs.less %>" ,
42+ "<%= dirs.less %>" ,
43+ "<%= dirs.less %>/bootswatch" ,
44+ ] ,
45+ } ,
46+ files : {
47+ "<%= dirs.css %>/theme-default.css" : "<%= dirs.less %>/theme-default.less" ,
48+ "<%= dirs.css %>/theme-valve.css" : "<%= dirs.less %>/theme-valve.less" ,
49+ } ,
50+ } ,
51+ } ,
52+ concat : {
53+ options : {
54+ stripBanners : true ,
55+ } ,
56+ bootstrap : {
57+ src : [
58+ '<%= dirs.bs.root %>/js/transition.js' ,
59+ '<%= dirs.bs.root %>/js/alert.js' ,
60+ '<%= dirs.bs.root %>/js/button.js' ,
61+ '<%= dirs.bs.root %>/js/carousel.js' ,
62+ '<%= dirs.bs.root %>/js/collapse.js' ,
63+ '<%= dirs.bs.root %>/js/dropdown.js' ,
64+ '<%= dirs.bs.root %>/js/modal.js' ,
65+ '<%= dirs.bs.root %>/js/tooltip.js' ,
66+ '<%= dirs.bs.root %>/js/popover.js' ,
67+ '<%= dirs.bs.root %>/js/scrollspy.js' ,
68+ '<%= dirs.bs.root %>/js/tab.js' ,
69+ '<%= dirs.bs.root %>/js/affix.js'
70+ ] ,
71+ dest :"<%= dirs.javascript_dist %>/bootstrap.js" ,
72+ nonull : true ,
73+ } ,
74+ custom : {
75+ src : [ '<%= dirs.javascript_src %>/bootswatch.js' , '<%= dirs.javascript_src %>/seg_resume.js' ] ,
76+ dest : '<%= dirs.javascript_dist %>/seg_resume.js' ,
77+ //nonull: true,
78+ } ,
79+ } ,
80+ copy : {
81+ options : {
82+ stripBanners :true ,
83+ } ,
84+ html5shiv : {
85+ src : "<%= dirs.html5shiv %>/src/html5shiv.js" ,
86+ dest : "<%= dirs.javascript_dist %>/html5shiv.js" ,
87+ } ,
88+ respond : {
89+ src :"<%= dirs.respond %>/respond.min.js" ,
90+ dest : "<%= dirs.javascript_dist %>/respond.min.js" ,
91+ } ,
92+ font_awesome : {
93+ files : [
94+ { expand : true , src : [ '<%= dirs.fa %>/font/*' ] , dest : 'font/' , filter : 'isFile' } ,
95+ { expand : true , src : [ '<%= dirs.fa %>/css/*.min.css' ] , dest : '<%= dirs.css %>/' , filter : 'isFile' } ,
96+ ] ,
97+ } ,
98+ } ,
99+ uglify : {
100+ options : {
101+ stripBanners : true ,
102+ } ,
103+ bootstrap : {
104+ src : '<%= concat.bootstrap.dest %>' ,
105+ dest : '<%= dirs.javascript_dist %>/bootstrap.min.js' ,
106+ nonull : true ,
107+ } ,
108+ holderjs : {
109+ src : [ '<%= dirs.holderjs %>/holder.js' ] ,
110+ dest : '<%= dirs.javascript_dist %>/holder.min.js' ,
111+ nonull : true ,
112+ } ,
113+ custom : {
114+ src : [ '<%= concat.custom.dest %>' ] ,
115+ dest : '<%= dirs.javascript_dist %>/seg_resume.min.js' ,
116+ nonull : true ,
117+ } ,
118+ } ,
119+ } ) ;
120+
121+ // Load the plugins for tasks.
122+ grunt . loadNpmTasks ( 'grunt-contrib' ) ;
123+
124+ // Inital Setup Task
125+ grunt . registerTask ( 'init' , [ 'init' , 'build' ] ) ;
126+
127+ // Build Task
128+ grunt . registerTask ( 'build' , [ 'concat' , 'copy' , 'less' , 'uglify' ] ) ;
129+
130+ // Default task(s).
131+ grunt . registerTask ( 'default' , [ 'build' ] ) ;
132+
133+ } ;
0 commit comments