diff --git a/tasks/cml.js b/tasks/cml.js index a580700..818be86 100644 --- a/tasks/cml.js +++ b/tasks/cml.js @@ -1,3 +1,36 @@ var cml_html_converter = require('cml-html-converter'); var result = cml_html_converter('line1\n\tline2'); console.log(result); +grunt.registerMultiTask('cml_html_converter', 'Grunt task for converting CML to HTML', function() { + // Merge task-specific and/or target-specific options with these defaults. + var options = this.options({ + punctuation: '.', + separator: ', ' + }); + + // Iterate over all specified file groups. + this.files.forEach(function(f) { + // Concat specified files. + var src = f.src.filter(function(filepath) { + // Warn on and remove invalid source files (if nonull was set). + if (!grunt.file.exists(filepath)) { + grunt.log.warn('Source file "' + filepath + '" not found.'); + return false; + } else { + return true; + } + }).map(function(filepath) { + // Read file source. + return grunt.file.read(filepath); + }).join(grunt.util.normalizelf(options.separator)); + + // Handle options. + src += options.punctuation; + + // Write the destination file. + grunt.file.write(f.dest, src); + + // Print a success message. + grunt.log.writeln('File "' + f.dest + '" created.'); + }); +});