grunt-snakeskin v7.4.1
grunt-snakeskin
Using Snakeskin templates with Grunt.
Install
npm install grunt-snakeskin --save-dev
Usage
Gruntfile.js
module.exports = function (grunt) {
grunt.initConfig({
snakeskin: {
compile: {
options: {
exec: true,
prettyPrint: true
},
files: {
'html/': ['test/fixtures/*.ss']
}
}
}
});
grunt.loadNpmTasks('grunt-snakeskin');
grunt.registerTask('default', ['snakeskin']);
};
Options
adapter
Type: String
Name of the adaptor, for example:
adapterOptions
Type: Object
Options for the used adaptor.
exec
Type: Boolean
Default: false
If the parameter is set to true
the template will be launched after compiling and the results of it work will be saved.
dext
Type: String
Default: '.html'
Extension of a file with result after template execution (using with exec
).
tpl
Type: String
The name of the executable template (if is set exec
), if the parameter is not specified, then uses the rule:
%fileName% || main || index || Object.keys().sort()[0];
data
Type: ?
Data for the executable template (if is set exec
).
Speed up your build
Do not recompile templates with exec: true
option:
grunt.initConfig({
snakeskin: {
render: {
options: {
exec: true,
},
files: {
// Specify compiled template as source
'html/': ['compiled/*.ss.js']
},
// Additional dependencies for grunt-newer
deps: ['mycode.js']
}
}
});
Compile newer files only
npm install grunt-newer --save-dev
Specify grunt-newer override function in the following way:
var gruntCfg = {
...
newer: {
options: {
override: function(detail, include) {
// Check snakeskin include dependencies
if (detail.task === 'snakeskin' && detail.target.includes('compile')) {
// Build dest path from template source path
var dst = SS_BUILD_DIR + '/' + path.basename(detail.path) + '.js';
if (snakeskin.check(detail.path, dst)) {
return include(true);
}
}
// Check dependencies from target configuration
// detail.config was requested: https://github.com/tschaub/grunt-newer/pull/115
if (detail.config.deps) {
for (var i = 0; i < detail.config.deps.length; i++) {
var fn = detail.config.deps[i];
var ts = fs.statSync(fn).mtime;
var difference = detail.time - ts;
if (difference < this.tolerance) {
console.log(detail.path + ' has a newer dependency ' + fn);
return include(true);
}
}
}
return include();
}
}
},
...
};
License
The MIT License.
6 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago