grunt-concat-blocks
Description
Use build blocks to do concatenation in html, jade, razor or any other files:
Utilize build blocks in your html to indicate the files to be concatenated. This task will parse the build
blocks in your html, and it will schedule the concatenation of the desired files by dynamically updating the concat
task and then run it.
This task DOESN'T modifies files, it only perform files concatenation in build blocks.
Usage
Example usage with grunt.init:
in Gruntfile.js
:
concatBlocks: {
html: 'views/layout.jave',
root: 'public'
}
Below are example corresponding build blocks in an example referenced html file. Multiple build blocks may be
used in a single file. The grunt templating engine can be used in the build file descriptions. The data passed to the
template processing is the entire config object.
in an html file within the output
directory
<link href="/css/one.css" rel="stylesheet">
<link href="/css/two.css" rel="stylesheet">
<script type="text/javascript" src="scripts/this.js"></script>
<script type="text/javascript" src="scripts/that.js"></script>
<script type="text/javascript" src="scripts/script1.js"></script>
The example above has three build blocks on the same page. The first two blocks concat and minify. The third block
minifies one file. They all put the new scripts into a newly named file. The original JavaScript files remain untouched
in this case due to the naming of the output files.
You can put comments and empty lines within build blocks.
Assuming your package.json.version
is 0.1.0
after the bump, and it is October 31, 2012 running grunt grunt-concat-blocks
would
create the following three files:
output/css/combined.css
output/scripts/combined.0.1.0.concat.min.js
output/scripts/script1.2012-10-31.min.js
Also the html in the file with the build blocks would be updated to:
<link href="/css/combined.css" rel="stylesheet">
<script type="text/javascript" src="scripts/combined.0.1.0.concat.min.js"></script>
<script type="text/javascript" src="scripts/script1.2012-10-31.min.js"></script>
Installation and Use
To use this package run npm install grunt-concat-blocks --save-dev
.
Then load the grunt task in your grunt.js
grunt.loadNpmTasks('grunt-concat-blocks');
If you use grunt-concat-blocks
you can ommit using loadNpmTask
for the 'grunt-contrib-concat' plugin:
grunt-concat-blocks
will load the above plugin for you.
NPM module