generator-jade
Advanced tools
Comparing version 0.2.5 to 0.3.0
@@ -69,5 +69,5 @@ 'use strict'; | ||
this.copy('jade/_default.jade', 'app/jade/layouts/_default.jade'); | ||
this.copy('jade/_footer.jade', 'app/jade/layouts/partials/_footer.jade'); | ||
this.copy('jade/_html-header.jade', 'app/jade/layouts/partials/_html-header.jade'); | ||
this.copy('jade/_nav.jade', 'app/jade/layouts/partials/_nav.jade'); | ||
this.copy('jade/_footer.jade', 'app/jade/layouts/default-partials/_footer.jade'); | ||
this.copy('jade/_html-header.jade', 'app/jade/layouts/default-partials/_html-header.jade'); | ||
this.copy('jade/_header.jade', 'app/jade/layouts/default-partials/_header.jade'); | ||
this.copy('jade/_index.jade', 'app/jade/index.jade'); | ||
@@ -74,0 +74,0 @@ }; |
@@ -5,3 +5,3 @@ // Generated on<%%= (new Date).toISOString().split('T')[0] %> using <%%= pkg.name %> <%%= pkg.version %> | ||
var mountFolder = function (connect, dir) { | ||
return connect.static(require('path').resolve(dir)); | ||
return connect.static(require('path').resolve(dir)); | ||
}; | ||
@@ -16,340 +16,347 @@ | ||
module.exports = function (grunt) { | ||
// load all grunt tasks | ||
require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks); | ||
// load all grunt tasks | ||
require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks); | ||
// configurable paths | ||
var folders = { | ||
app: 'app', | ||
dist: 'dist', | ||
tmp: '.tmp' | ||
}; | ||
// configurable paths | ||
var folders = { | ||
app: 'app', | ||
dist: 'dist', | ||
tmp: '.tmp' | ||
}; | ||
grunt.initConfig({ | ||
folders: folders, | ||
watch: {<% if (cssProcessor === 'stylus') { %> | ||
stylus: { | ||
files: '<%%= folders.app %>/styles/**/*.styl', | ||
tasks: ['stylus'] | ||
},<% } else if (cssProcessor === 'sass') { %> | ||
compass: { | ||
files: ['<%%= folders.app %>/styles/{,*/}*.{scss,sass}'], | ||
tasks: ['compass:server'] | ||
},<% } %> | ||
server: { | ||
options: { | ||
livereload: true | ||
}, | ||
files: [ | ||
'<%%= folders.tmp %>/*.html', | ||
'<%%= folders.tmp %>/styles/{,*/}*.css', | ||
'<%%= folders.app %>/scripts/{,*/}*.js', | ||
'<%%= folders.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}' | ||
] | ||
}, | ||
jade: { | ||
files: '<%%= folders.app %>/jade/**/*.jade', | ||
tasks: ['jade'] | ||
} | ||
grunt.initConfig({ | ||
folders: folders, | ||
watch: {<% if (cssProcessor === 'stylus') { %> | ||
stylus: { | ||
files: '<%%= folders.app %>/styles/**/*.styl', | ||
tasks: ['stylus'] | ||
},<% } else if (cssProcessor === 'sass') { %> | ||
compass: { | ||
files: ['<%%= folders.app %>/styles/{,*/}*.{scss,sass}'], | ||
tasks: ['compass:server'] | ||
},<% } %> | ||
server: { | ||
options: { | ||
livereload: true | ||
}, | ||
connect: { | ||
options: { | ||
port: 9000, | ||
// change this to '0.0.0.0' to access the server from outside | ||
hostname: 'localhost' | ||
}, | ||
server: { | ||
options: { | ||
middleware: function (connect) { | ||
return [ | ||
lrSnippet, | ||
mountFolder(connect, folders.tmp), | ||
mountFolder(connect, folders.app) | ||
]; | ||
} | ||
} | ||
}, | ||
test: { | ||
options: { | ||
middleware: function (connect) { | ||
return [ | ||
mountFolder(connect, folders.tmp), | ||
mountFolder(connect, 'test') | ||
]; | ||
} | ||
} | ||
}, | ||
dist: { | ||
options: { | ||
middleware: function (connect) { | ||
return [ | ||
mountFolder(connect, folders.dist) | ||
]; | ||
} | ||
} | ||
} | ||
files: [ | ||
'<%%= folders.tmp %>/*.html', | ||
'<%%= folders.tmp %>/styles/{,*/}*.css', | ||
'<%%= folders.app %>/scripts/{,*/}*.js', | ||
'<%%= folders.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}' | ||
] | ||
}, | ||
jade: { | ||
files: '<%%= folders.app %>/jade/**/*.jade', | ||
tasks: ['jade'] | ||
} | ||
}, | ||
connect: { | ||
options: { | ||
port: 9000, | ||
// change this to '0.0.0.0' to access the server from outside | ||
hostname: 'localhost' | ||
}, | ||
server: { | ||
options: { | ||
middleware: function (connect) { | ||
return [ | ||
lrSnippet, | ||
mountFolder(connect, folders.tmp), | ||
mountFolder(connect, folders.app) | ||
]; | ||
} | ||
} | ||
}, | ||
test: { | ||
options: { | ||
middleware: function (connect) { | ||
return [ | ||
mountFolder(connect, folders.tmp), | ||
mountFolder(connect, 'test') | ||
]; | ||
} | ||
} | ||
}, | ||
dist: { | ||
options: { | ||
middleware: function (connect) { | ||
return [ | ||
mountFolder(connect, folders.dist) | ||
]; | ||
} | ||
} | ||
} | ||
}, | ||
open: { | ||
server: { | ||
path: 'http://localhost:<%%= connect.options.port %>' | ||
} | ||
}, | ||
clean: { | ||
dist: { | ||
files: [{ | ||
dot: true, | ||
src: [ | ||
'<%%= folders.tmp %>', | ||
'<%%= folders.dist %>/*', | ||
'!<%%= folders.dist %>/.git*' | ||
] | ||
}] | ||
}, | ||
server: '<%%= folders.tmp %>' | ||
}, | ||
mocha: { | ||
all: { | ||
options: { | ||
run: true, | ||
urls: ['http://localhost:<%%= connect.options.port %>/index.html'] | ||
} | ||
} | ||
},<% if (cssProcessor === 'stylus') { %> | ||
stylus: { | ||
compile: { | ||
files: { | ||
'<%%= folders.tmp %>/styles/main.css': [ | ||
'<%%= folders.app %>/styles/**/*.styl', | ||
'!<%%= folders.app %>/styles/**/_*.styl' | ||
] | ||
}, | ||
open: { | ||
server: { | ||
path: 'http://localhost:<%%= connect.options.port %>' | ||
options: { | ||
compress: false | ||
} | ||
},<% } else if (cssProcessor === 'sass') { %> | ||
compass: { | ||
options: { | ||
sassDir: '<%%= folders.app %>/styles', | ||
cssDir: '<%%= folders.tmp %>/styles', | ||
imagesDir: '<%%= folders.app %>/images', | ||
javascriptsDir: '<%%= folders.app %>/scripts', | ||
fontsDir: '<%%= folders.app %>/styles/fonts', | ||
importPath: '<%%= folders.app %>/bower_components', | ||
relativeAssets: true | ||
}, | ||
dist: {}, | ||
server: { | ||
options: { | ||
debugInfo: true | ||
} | ||
}<% } %> | ||
}, | ||
jade: { | ||
html: { | ||
files: grunt.file.expandMapping(['{,*/}*.jade', '!**/_*'], 'dest', { | ||
cwd: 'app/jade', | ||
rename: function (dest, src) { | ||
if (/i18n/.test(src)) { | ||
return '<%%= folders.tmp %>/' + src.replace(/index.i18n-(.*).jade/, '$1.html'); | ||
} | ||
}, | ||
clean: { | ||
dist: { | ||
files: [{ | ||
dot: true, | ||
src: [ | ||
'<%%= folders.tmp %>', | ||
'<%%= folders.dist %>/*', | ||
'!<%%= folders.dist %>/.git*' | ||
] | ||
}] | ||
}, | ||
server: '<%%= folders.tmp %>' | ||
}, | ||
mocha: { | ||
all: { | ||
options: { | ||
run: true, | ||
urls: ['http://localhost:<%%= connect.options.port %>/index.html'] | ||
} | ||
} | ||
},<% if (cssProcessor === 'stylus') { %> | ||
stylus: { | ||
compile: { | ||
files: { | ||
'<%%= folders.tmp %>/styles/main.css': [ | ||
'<%%= folders.app %>/styles/**/*.styl', | ||
'!<%%= folders.app %>/styles/**/_*.styl' | ||
] | ||
} | ||
},<% } else if (cssProcessor === 'sass') { %> | ||
compass: { | ||
options: { | ||
sassDir: '<%%= folders.app %>/styles', | ||
cssDir: '<%%= folders.tmp %>/styles', | ||
imagesDir: '<%%= folders.app %>/images', | ||
javascriptsDir: '<%%= folders.app %>/scripts', | ||
fontsDir: '<%%= folders.app %>/styles/fonts', | ||
importPath: '<%%= folders.app %>/bower_components', | ||
relativeAssets: true | ||
}, | ||
dist: {}, | ||
server: { | ||
options: { | ||
debugInfo: true | ||
} | ||
}<% } %> | ||
}, | ||
jade: { | ||
html: { | ||
files: grunt.file.expandMapping(['{,*/}*.jade', '!**/_*'], 'dest', { | ||
cwd: 'app/jade', | ||
rename: function (dest, src) { | ||
if (/i18n/.test(src)) { | ||
return '<%%= folders.tmp %>/' + src.replace(/index.i18n-(.*).jade/, '$1.html');; | ||
} | ||
return '<%%= folders.tmp %>/' + src.replace(/\.jade$/, '.html'); | ||
} | ||
}), | ||
options: { | ||
client: false, | ||
pretty: true, | ||
basedir: '<%%= folders.app %>/jade', | ||
data: function (dest, src) { | ||
return '<%%= folders.tmp %>/' + src.replace(/\.jade$/, '.html'); | ||
} | ||
}), | ||
options: { | ||
client: false, | ||
pretty: true, | ||
basedir: '<%%= folders.app %>/jade', | ||
data: function(dest, src) { | ||
var page = src[0].replace(/app\/jade\/(.*)\/index.jade/, '$1'); | ||
var page = src[0].replace(/app\/jade\/(.*)\/index.jade/, '$1'); | ||
return { | ||
page: page | ||
}; | ||
} | ||
} | ||
if (page == src[0]) { | ||
page = 'index'; | ||
} | ||
}, | ||
rev: { | ||
dist: { | ||
files: { | ||
src: [ | ||
'<%%= folders.dist %>/scripts/{,*/}*.js', | ||
'<%%= folders.dist %>/styles/{,*/}*.css', | ||
'<%%= folders.dist %>/images/{,*/}*.{png,jpg,jpeg,gif,webp}', | ||
'<%%= folders.dist %>/styles/fonts/*' | ||
] | ||
} | ||
} | ||
}, | ||
useminPrepare: { | ||
html: '<%%= folders.tmp %>/index.html', | ||
options: { | ||
dest: '<%%= folders.dist %>' | ||
} | ||
}, | ||
usemin: { | ||
html: ['<%%= folders.dist %>/{,*/}*.html'], | ||
css: ['<%%= folders.dist %>/styles/{,*/}*.css'], | ||
options: { | ||
dirs: ['<%%= folders.dist %>'] | ||
} | ||
}, | ||
imagemin: { | ||
dist: { | ||
files: [{ | ||
expand: true, | ||
cwd: '<%%= folders.app %>/images', | ||
src: '{,*/}*.{png,jpg,jpeg}', | ||
dest: '<%%= folders.dist %>/images' | ||
}] | ||
} | ||
}, | ||
svgmin: { | ||
dist: { | ||
files: [{ | ||
expand: true, | ||
cwd: '<%%= folders.app %>/images', | ||
src: '{,*/}*.svg', | ||
dest: '<%%= folders.dist %>/images' | ||
}] | ||
} | ||
}, | ||
cssmin: { | ||
dist: { | ||
files: { | ||
'<%%= folders.dist %>/styles/main.css': [ | ||
'<%%= folders.tmp %>/styles/{,*/}*.css' | ||
] | ||
} | ||
} | ||
}, | ||
htmlmin: { | ||
dist: { | ||
options: { | ||
/*removeCommentsFromCDATA: true, | ||
// https://github.com/folders/grunt-usemin/issues/44 | ||
//collapseWhitespace: true, | ||
collapseBooleanAttributes: true, | ||
removeAttributeQuotes: true, | ||
removeRedundantAttributes: true, | ||
useShortDoctype: true, | ||
removeEmptyAttributes: true, | ||
removeOptionalTags: true*/ | ||
}, | ||
files: [{ | ||
expand: true, | ||
cwd: '<%%= folders.tmp %>', | ||
src: '{,*/}*.html', | ||
dest: '<%%= folders.dist %>' | ||
}] | ||
} | ||
}, | ||
// Put files not handled in other tasks here | ||
copy: { | ||
dist: { | ||
files: [{ | ||
expand: true, | ||
dot: true, | ||
cwd: '<%%= folders.app %>', | ||
dest: '<%%= folders.dist %>', | ||
src: [ | ||
'*.{ico,txt}', | ||
'.htaccess', | ||
'images/{,*/}*.{webp,gif}', | ||
'styles/fonts/*' | ||
] | ||
}] | ||
}, | ||
js: { | ||
files: [{ | ||
expand: true, | ||
cwd: '<%%= folders.app %>', | ||
dest: '<%%= folders.tmp %>', | ||
src: [ | ||
'scripts/{,*/}*js' | ||
] | ||
}] | ||
}, | ||
css: { | ||
files: [{ | ||
expand: true, | ||
cwd: '<%%= folders.app %>', | ||
dest: '<%%= folders.tmp %>', | ||
src: [ | ||
'styles/{,*/}*css' | ||
] | ||
}] | ||
}, | ||
assets: { | ||
files: [{ | ||
expand: true, | ||
cwd: '<%%= folders.app %>', | ||
dest: '<%%= folders.dist %>', | ||
src: [ | ||
'assets/{,*/}*.*' | ||
] | ||
}] | ||
} | ||
}, | ||
concurrent: { | ||
server: [<% if (cssProcessor === 'stylus') { %> | ||
'stylus'<% } else if (cssProcessor === 'sass') { %> | ||
'compass:server'<% } %> | ||
], | ||
test: [<% if (cssProcessor === 'stylus') { %> | ||
'stylus'<% } else if (cssProcessor === 'sass') { %> | ||
'compass'<% } %> | ||
], | ||
dist: [<% if (cssProcessor === 'stylus') { %> | ||
'stylus',<% } else if (cssProcessor === 'sass') { %> | ||
'compass:dist',<% } %> | ||
'imagemin', | ||
'svgmin', | ||
'htmlmin' | ||
] | ||
} | ||
}); | ||
grunt.registerTask('server', function (target) { | ||
if (target === 'dist') { | ||
return grunt.task.run(['build', 'open', 'connect:dist:keepalive']); | ||
return { | ||
page: page | ||
}; | ||
} | ||
} | ||
} | ||
}, | ||
rev: { | ||
dist: { | ||
files: { | ||
src: [ | ||
'<%%= folders.dist %>/scripts/{,*/}*.js', | ||
'<%%= folders.dist %>/styles/{,*/}*.css', | ||
'<%%= folders.dist %>/images/{,*/}*.{png,jpg,jpeg,gif,webp}', | ||
'<%%= folders.dist %>/styles/fonts/*' | ||
] | ||
} | ||
} | ||
}, | ||
useminPrepare: { | ||
html: '<%%= folders.tmp %>/index.html', | ||
options: { | ||
dest: '<%%= folders.dist %>' | ||
} | ||
}, | ||
usemin: { | ||
html: ['<%%= folders.dist %>/{,*/}*.html'], | ||
css: ['<%%= folders.dist %>/styles/{,*/}*.css'], | ||
options: { | ||
dirs: ['<%%= folders.dist %>'] | ||
} | ||
}, | ||
imagemin: { | ||
dist: { | ||
files: [{ | ||
expand: true, | ||
cwd: '<%%= folders.app %>/images', | ||
src: '{,*/}*.{png,jpg,jpeg}', | ||
dest: '<%%= folders.dist %>/images' | ||
}] | ||
} | ||
}, | ||
svgmin: { | ||
dist: { | ||
files: [{ | ||
expand: true, | ||
cwd: '<%%= folders.app %>/images', | ||
src: '{,*/}*.svg', | ||
dest: '<%%= folders.dist %>/images' | ||
}] | ||
} | ||
}, | ||
cssmin: { | ||
dist: { | ||
files: { | ||
'<%%= folders.dist %>/styles/main.css': [ | ||
'<%%= folders.tmp %>/styles/{,*/}*.css' | ||
] | ||
} | ||
} | ||
}, | ||
htmlmin: { | ||
dist: { | ||
options: { | ||
/*removeCommentsFromCDATA: true, | ||
// https://github.com/folders/grunt-usemin/issues/44 | ||
//collapseWhitespace: true, | ||
collapseBooleanAttributes: true, | ||
removeAttributeQuotes: true, | ||
removeRedundantAttributes: true, | ||
useShortDoctype: true, | ||
removeEmptyAttributes: true, | ||
removeOptionalTags: true*/ | ||
}, | ||
files: [{ | ||
expand: true, | ||
cwd: '<%%= folders.tmp %>', | ||
src: '{,*/}*.html', | ||
dest: '<%%= folders.dist %>' | ||
}] | ||
} | ||
}, | ||
// Put files not handled in other tasks here | ||
copy: { | ||
dist: { | ||
files: [{ | ||
expand: true, | ||
dot: true, | ||
cwd: '<%%= folders.app %>', | ||
dest: '<%%= folders.dist %>', | ||
src: [ | ||
'*.{ico,txt}', | ||
'.htaccess', | ||
'images/{,*/}*.{webp,gif}', | ||
'styles/fonts/*' | ||
] | ||
}] | ||
}, | ||
js: { | ||
files: [{ | ||
expand: true, | ||
cwd: '<%%= folders.app %>', | ||
dest: '<%%= folders.tmp %>', | ||
src: [ | ||
'scripts/{,*/}*js', 'bower_components/**/*js' | ||
] | ||
}] | ||
}, | ||
css: { | ||
files: [{ | ||
expand: true, | ||
cwd: '<%%= folders.app %>', | ||
dest: '<%%= folders.tmp %>', | ||
src: [ | ||
'styles/{,*/}*css' | ||
] | ||
}] | ||
}, | ||
assets: { | ||
files: [{ | ||
expand: true, | ||
cwd: '<%%= folders.app %>', | ||
dest: '<%%= folders.dist %>', | ||
src: [ | ||
'assets/{,*/}*.*' | ||
] | ||
}] | ||
} | ||
}, | ||
concurrent: { | ||
server: [<% if (cssProcessor === 'stylus') { %> | ||
'stylus'<% } else if (cssProcessor === 'sass') { %> | ||
'compass:server'<% } %> | ||
], | ||
test: [<% if (cssProcessor === 'stylus') { %> | ||
'stylus'<% } else if (cssProcessor === 'sass') { %> | ||
'compass'<% } %> | ||
], | ||
dist: [<% if (cssProcessor === 'stylus') { %> | ||
'stylus',<% } else if (cssProcessor === 'sass') { %> | ||
'compass:dist',<% } %> | ||
'imagemin', | ||
'svgmin', | ||
'htmlmin' | ||
] | ||
} | ||
}); | ||
grunt.task.run([ | ||
'clean:server', | ||
'jade', | ||
'concurrent:server', | ||
'connect:server', | ||
'open', | ||
'watch' | ||
]); | ||
}); | ||
grunt.registerTask('server', function (target) { | ||
if (target === 'dist') { | ||
return grunt.task.run(['build', 'open', 'connect:dist:keepalive']); | ||
} | ||
grunt.registerTask('test', [ | ||
'clean:server', | ||
'concurrent:test', | ||
'connect:test', | ||
'mocha' | ||
grunt.task.run([ | ||
'clean:server', | ||
'jade', | ||
'concurrent:server', | ||
'connect:server', | ||
'open', | ||
'watch' | ||
]); | ||
}); | ||
grunt.registerTask('build', [ | ||
'clean:dist', | ||
'jade', | ||
'copy:js', | ||
'copy:css', | ||
'useminPrepare', | ||
'concurrent:dist', | ||
'cssmin', | ||
'concat', | ||
'uglify', | ||
'copy:dist', | ||
'copy:assets', | ||
'rev', | ||
'usemin' | ||
]); | ||
grunt.registerTask('test', [ | ||
'clean:server', | ||
'concurrent:test', | ||
'connect:test', | ||
'mocha' | ||
]); | ||
grunt.registerTask('default', [ | ||
'jshint', | ||
'test', | ||
'build' | ||
]); | ||
grunt.registerTask('build', [ | ||
'clean:dist', | ||
'jade', | ||
'copy:js', | ||
'copy:css', | ||
'useminPrepare', | ||
'concurrent:dist', | ||
'concat', | ||
'cssmin', | ||
'uglify', | ||
'copy:dist', | ||
'copy:assets', | ||
'rev', | ||
'usemin' | ||
]); | ||
grunt.registerTask('default', [ | ||
'jshint', | ||
'test', | ||
'build' | ||
]); | ||
}; |
{ | ||
"name": "generator-jade", | ||
"version": "0.2.5", | ||
"version": "0.3.0", | ||
"description": "A yo generator for jade projects", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
# Generator-jade | ||
[![NPM version](https://badge.fury.io/js/generator-jade.png)](http://badge.fury.io/js/generator-jade) | ||
@@ -15,3 +16,3 @@ A generator for Yeoman to use jade for templating. | ||
This generator is powered by the jade template engine. There is no fancy js and css frameworks included. | ||
This generator is powered by the jade template engine. There is just jQuery included. No other fancy js and css frameworks. | ||
But you can add them very easily. Just update your bower file and run <code>bower install</code>. | ||
@@ -43,2 +44,2 @@ | ||
## License | ||
[MIT License](http://en.wikipedia.org/wiki/MIT_License) | ||
[MIT License](http://en.wikipedia.org/wiki/MIT_License) |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
551
23121