I created a mobile application with the yeoman mobile-generator.
I'am very new to grunt and yeoman, but it's really awesome stuff!
Does anyone know what I have to do add a banner to my generated files?
meta: {
version: '0.1.0',
banner: '/*! PROJECT_NAME - v<%= meta.version %> - ' +
'<%= grunt.template.today("yyyy-mm-dd") %>\n' +
'* http://PROJECT_WEBSITE/\n' +
'* Copyright (c) <%= grunt.template.today("yyyy") %> ' +
'MyName; Licensed MIT */'
},
Where I have to use this. I have tried something like this, but does not affect.
usemin: {
options: {
dirs: ['<%= yeoman.dist %>']
},
html: ['<%= yeoman.dist %>/{,*/}*.html'],
css: ['<banner:meta.banner>', '<%= yeoman.dist %>/styles/{,*/}*.css']
},
...
cssmin: {
dist: {
files: {
'<%= yeoman.dist %>/styles/main.css': [
'<banner:meta.banner>',
'.tmp/styles/{,*/}*.css',
'<%= yeoman.app %>/styles/{,*/}*.css'
]
}
}
},
Banners go in the options object:
cssmin: {
dist: {
options: {
banner: '<%= meta.banner %>'
},
files: {
'<%= yeoman.dist %>/styles/main.css': [
'.tmp/styles/{,*/}*.css',
'<%= yeoman.app %>/styles/{,*/}*.css'
]
}
}
}
Hat tip: I'd also use the metadata in package.json
, that way you save duplicating it in your Gruntfile, and you can also reuse that banner config for other projects without having to change it.
grunt.initConfig({
// pkg: grunt.file.read('package.json'),
pkg: grunt.file.readJSON('package.json'),
banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' +
'<%= grunt.template.today("yyyy-mm-dd") %>\n' +
'* http://<%= pkg.homepage %>/\n' +
'* Copyright (c) <%= grunt.template.today("yyyy") %> ' +
'<%= pkg.author.name %>; Licensed MIT */',
cssmin: {
dist: {
options: {
banner: '<%= banner %>'
},
files: {
'<%= yeoman.dist %>/styles/main.css': [
'.tmp/styles/{,*/}*.css',
'<%= yeoman.app %>/styles/{,*/}*.css'
]
}
}
}
// rest of your config...
});
And in package.json
:
{
"name": "project name",
"version": "0.1.0",
"homepage": "https://stackoverflow.com",
"author": {
"name": "your name",
"email": "your email",
"url": "your website"
}
// devDependencies, etc
}