grunt-terrific-modules
v1.1.1
Published
A grunt module generator for terrific modules
Downloads
189
Maintainers
Readme
grunt-terrific-modules
A grunt module generator for terrific modules
Getting Started
This plugin requires Grunt ~0.4.5
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-terrific-modules --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-terrific-modules');
The Template Module folder needs to be copied from the Github Repository and placed at the folder location
The "terrific_modules" task
Overview
In your project's Gruntfile, add a section named terrific_modules
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
terrific_modules: {
options: {
placeholder: {
module: {
underscore: 'T_module',
camelCase: 'T_Module'
},
skin: {
underscore: 'T_skin',
camelCase: 'T_Skin'
},
template: {
underscore: 'T_template',
camelCase: 'T_Template'
},
type: {
underscore: 'T_type',
camelCase: 'T_Type',
customUnderscore: {
atoms: 'a',
molecules: 'm',
organisms: 'o',
helper: 'h'
}
},
author: 'T_author'
},
files: {
module: [
{
src: '<%=paths.resource%>',
dest: '<%=paths.modules%>/T_type/T_module',
template: 'T_module.jsp'
},
{
src: '<%=paths.resource%>',
dest: '<%=paths.modules%>/T_type/T_module',
template: 'T_module.readme.md'
},
{
src: '<%=paths.resource%>',
dest: '<%=paths.modules%>/T_type/T_module/js',
template: 'T_module.js',
enrichWith: {
src: '<%=paths.es6modules%>',
placeholder: '// outlet.es6modules',
template: '<%=paths.resource%>/T_module.es6module.js'
}
},
{
src: '<%=paths.resource%>',
dest: '<%=paths.modules%>/T_type/T_module/css',
template: 'T_module.less'
},
{
src: '<%=paths.resource%>',
dest: '<%=paths.modules%>/T_type/T_module/i18n',
template: 'T_module.properties'
},
{
src: '<%=paths.resource%>',
dest: '<%=paths.tags%>/T_type',
template: 'T_module.tag'
}
],
skin: [
{
src: '<%=paths.resource%>',
dest: '<%=paths.modules%>/T_type/T_module/js',
template: 'T_module.skin.T_skin.js'
},
{
src: '<%=paths.resource%>',
dest: '<%=paths.modules%>/T_type/T_module/css',
template: 'T_module.skin.T_skin.less'
}
],
template: [
{
src: '<%=paths.resource%>',
dest: '<%=paths.modules%>/T_type/T_module',
template: 'T_module-T_template.jsp',
enrichWith: {
src: '<%=paths.tags%>/T_type/T_module.tag',
// use UTF8 code for % (U+0025)
placeholder: '<U+0025-- outlet.template --U+0025>',
template: '<%=paths.resource%>/T_module.template.tag'
}
}
]
},
triggerFile: 'triggerfile'
}
}
});
Options
options.placeholder
Type: object
A object with all placeholders used throughout the templates
options.files
Type: array
This array defines all file objects which are needed for generation of a "module", "skin" or "template". All files defined in this array need to exist in the resource directory.
Convention
Terrific:
- http://terrifically.org/
- https://github.com/brunschgi/terrificjs
- https://github.com/brunschgi/terrific-composer
- https://github.com/namics/terrific-micro
- https://github.com/smollweide/terrific-micro-grunt
Grunt task arguments:
- help (grunt terrific_modules)
- module name (grunt terrific_modules:example-module)
- skin name (grunt terrific_modules:example-module:example-skin)
- template name (grunt terrific_modules:example-module:%example-template)
- author (grunt terrific_modules:example-module:@example-author)
Recommended placeholder names:
(can be changed but is not recommended because you have to change all resource file-names)
- module lowercase: T_module
- module camelcase: T_Module
- skin lowercase: T_skin
- skin camelcase: T_Skin
- template lowercase: T_template
- template camelcase: T_Template
- author lowercase: T_author
- author camelcase: T_Author
License
Changelog
Please see the releases