{"_id":"grunt-static-handlebars","_rev":"51-9bc6af47a43da4a9dbdf2f20e259c717","name":"grunt-static-handlebars","description":"Compile your Handlebars templates into static html files.","dist-tags":{"latest":"0.9.0"},"versions":{"0.1.0":{"name":"grunt-static-handlebars","description":"Compile your handlebars templates into static html files.","version":"0.1.0","homepage":"https://github.com/techtribe/grunt-static-handlebars","author":{"name":"Joey van Dijk","email":"opensource@techtribe.nl","url":"https://github.com/Techtribe"},"repository":{"type":"git","url":"git://github.com/techtribe/grunt-static-handlebars.git"},"bugs":{"url":"https://github.com/techtribe/grunt-static-handlebars/issues"},"licenses":[{"type":"MIT","url":"https://github.com/techtribe/grunt-static-handlebars/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{"handlebars":">= 1","lodash":">= 1.2.1"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","static","handlebars","html"],"readme":"# STATIC-HANDLEBARS\n\n> Compile your handlebars templates into static html files.\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1` which uses [Node.js](http://nodejs.org/download).\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install static-handlebars --save-dev\n```\n\nOne the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('static-handlebars');\n```\n\n## Documentation\n\n### Overview\nIn your project's Gruntfile, add a section named `static_handlebars` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n  static_handlebars: {\n    options: {\n      // Task-specific options go here.\n    },\n    your_target: {\n      // Target-specific file lists and/or options go here.\n    },\n  },\n})\n```\n\n### Options\n\n#### options.partials\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.hbp`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-partials.\n\n#### options.helpers\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.js`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-helpers.\n\n#### target\n\n```js\ngrunt.initConfig({\n  static_handlebars: {\n    options: {\n    \tpartials:'',\n    \thelpers:''\n    },\n    target: {\n        // Target-specific file lists and/or options go here.\n    \toptions:{\n    \t\tjson:'',\n    \t\tpartials:[],\n    \t\thelpers:[]\n    \t},\n    \tfiles:{}\n    },\n  },\n})\n```\n\n#### target.options.json\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.json`\n\nA string or array value that resembles the files to use as context-input (json).\n\n#### target.options.partials\n\nType: `Array`  \nDefault value: `options.partials`\n\nUse this option to overrule/ignore the global partials variable during this specific target.\n\n#### target.options.helpers\n\nType: `Array`  \nDefault value: `options.helpers`\n\nUse this option to overrule/ignore the global helpers variable during this specific target.\n\n#### target.files\n\nType: `Object` or `Array`  \nDefault value: `''`  \nExtension: `.hbt` or `.html`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-templates.\n\n```js\n{'destinationFolder/file.html':'inputFolder/input.hbt'}\n```  \nor  \n```js\n{'destinationFolder/*.html':'inputFolder/*.hbs'}\n```  \nto render all [Handlebars](http://handlebarsjs.com) templates.\n\n## Examples\n\nSee the ```/test``` directory for examples how to use this. Some remarks:\n\n* ```.hbt``` are [Handlebars](http://handlebarsjs.com)-templates\n* ```.hbp``` are [Handlebars](http://handlebarsjs.com)-partials\n* [Handlebars](http://handlebarsjs.com)-helpers are JS functions and therefore saved as ```.js``` files.\n* [Handlebars](http://handlebarsjs.com)-helpers have 1 difference with browser-based versions:\n\t* ```js this.Handlebars.compile``` can be used while ```js Handlebars.compile``` is not available due to scoping. (see TODO)\n* ```.html``` files can also be referenced as \"files\" to use in your GruntFile\n* if [Handlebars](http://handlebarsjs.com)-templates have no markup (like ```{{```) it will copied as plaintext.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n0.1.0 - Initial release.\n\n## TODO\n* fix Handlerbars-global, now this.Handlebars is needed inside Handlebars-helpers\n* (?) Handlebars inline declaration\n* (?) option to provide string and no json-file?!\n* (?) cli-option\n* A general json file as default context/data\n* Add \"-\" to partials, possible? what kind of restrictions exist?","readmeFilename":"README.md","_id":"grunt-static-handlebars@0.1.0","dist":{"shasum":"b6843924c11f50e9d6e4e7a97938f5a03c536342","tarball":"https://registry.npmjs.org/grunt-static-handlebars/-/grunt-static-handlebars-0.1.0.tgz","integrity":"sha512-DZaBV7auwWmVFevNSlvyza7VO2Coy0HvbZES7+R5XwRuHQ/4n9SQfnOShftcnREJQWziF5KYp3AuypwD/nHCdA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC8zh1VLujWu4uvacpGwocSwFVjDa5alZzJrR7ALsDOdAiEAyROTRzNjICHY6/gsg2sDDlj6NgVq89rnQbwYeyRDV6k="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"techtribe","email":"opensource@techtribe.nl"},"maintainers":[{"name":"techtribe","email":"opensource@techtribe.nl"}],"directories":{}},"0.2.0":{"name":"grunt-static-handlebars","description":"Compile your handlebars templates into static html files.","version":"0.2.0","homepage":"https://github.com/techtribe/grunt-static-handlebars","author":{"name":"Joey van Dijk","email":"opensource@techtribe.nl","url":"https://github.com/Techtribe"},"repository":{"type":"git","url":"git://github.com/techtribe/grunt-static-handlebars.git"},"bugs":{"url":"https://github.com/techtribe/grunt-static-handlebars/issues"},"licenses":[{"type":"MIT","url":"https://github.com/techtribe/grunt-static-handlebars/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{"handlebars":">= 1","lodash":">= 1.2.1"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","static","handlebars","html"],"readme":"# GRUNT-STATIC-HANDLEBARS\n\n> Compile your handlebars templates into static html files.\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1` which uses [Node.js](http://nodejs.org/download).\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install static-handlebars --save-dev\n```\n\nOne the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('static-handlebars');\n```\n\n## Documentation\n\n### Overview\nIn your project's Gruntfile, add a section named `static_handlebars` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n  static_handlebars: {\n    options: {\n      // Task-specific options go here.\n    },\n    your_target: {\n      // Target-specific file lists and/or options go here.\n    },\n  },\n})\n```\n\n### Options\n\n#### options.partials\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.hbp`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-partials.\n\n#### options.helpers\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.js`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-helpers.\n\n#### target\n\n```js\ngrunt.initConfig({\n  static_handlebars: {\n    options: {\n    \tpartials:'',\n    \thelpers:''\n    },\n    target: {\n        // Target-specific file lists and/or options go here.\n    \toptions:{\n    \t\tjson:'',\n    \t\tpartials:[],\n    \t\thelpers:[]\n    \t},\n    \tfiles:{}\n    },\n  },\n})\n```\n\n#### target.options.json\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.json`\n\nA string or array value that resembles the files to use as context-input (json).\n\n#### target.options.partials\n\nType: `Array`  \nDefault value: `options.partials`\n\nUse this option to overrule/ignore the global partials variable during this specific target.\n\n#### target.options.helpers\n\nType: `Array`  \nDefault value: `options.helpers`\n\nUse this option to overrule/ignore the global helpers variable during this specific target.\n\n#### target.files\n\nType: `Object` or `Array`  \nDefault value: `''`  \nExtension: `.hbt` or `.html`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-templates.\n\n```js\n{'destinationFolder/file.html':'inputFolder/input.hbt'}\n```  \nor  \n```js\n{'destinationFolder/*.html':'inputFolder/*.hbs'}\n```  \nto render all [Handlebars](http://handlebarsjs.com) templates.\n\n## Examples\n\nSee the ```/test``` directory for examples how to use this. Some remarks:\n\n* ```.hbt``` are [Handlebars](http://handlebarsjs.com)-templates\n* ```.hbp``` are [Handlebars](http://handlebarsjs.com)-partials\n* [Handlebars](http://handlebarsjs.com)-helpers are JS functions and therefore saved as ```.js``` files.\n* [Handlebars](http://handlebarsjs.com)-helpers have 1 difference with browser-based versions:\n\t* ```js Handlebars.compile``` can be used in partials/helpers (like the frontend way)\n* ```.html``` files can also be referenced as \"files\" to use in your GruntFile\n* filenames can be connected by ```-```, ```+```,```_```\n* if [Handlebars](http://handlebarsjs.com)-templates have no markup (like ```{{```) it will copied as plaintext.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n0.2.0 - Added global Handlebars object + fixed partials-naming (+/-/_ added)  \n0.1.0 - Initial release.\n\n## TODO\n* (?) Handlebars inline declaration\n* (?) option to provide string and no json-files as partials/helpers\n* (?) cli-option\n* (?) other output than .html\n* Add more partials/helpers in examples\n* A general json file as default context/data\n* (?) Development / production support","readmeFilename":"README.md","_id":"grunt-static-handlebars@0.2.0","dist":{"shasum":"4287873770a2b4fb5913d3eb91a4473e95988724","tarball":"https://registry.npmjs.org/grunt-static-handlebars/-/grunt-static-handlebars-0.2.0.tgz","integrity":"sha512-dVZSGhvKamIpm5bwVcL8atuXN1om+ER/RnlQtEDl1MN7WlhQVFrAxYD84S8+a1cSfgwXMbPHEy2yox06nbCCOw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDp5WJqy6zt0XCaTlgO4/om0tyJOXfS+y/JwJQBPLSpqQIgKBQT26CPfiYkKGDuGP9z7OnhMcL6O2JvqesItb2yq10="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"techtribe","email":"opensource@techtribe.nl"},"maintainers":[{"name":"techtribe","email":"opensource@techtribe.nl"}],"directories":{}},"0.3.0":{"name":"grunt-static-handlebars","description":"Compile your handlebars templates into static html files.","version":"0.3.0","homepage":"https://github.com/techtribe/grunt-static-handlebars","author":{"name":"Joey van Dijk","email":"opensource@techtribe.nl","url":"https://github.com/Techtribe"},"repository":{"type":"git","url":"git://github.com/techtribe/grunt-static-handlebars.git"},"bugs":{"url":"https://github.com/techtribe/grunt-static-handlebars/issues"},"licenses":[{"type":"MIT","url":"https://github.com/techtribe/grunt-static-handlebars/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{"handlebars":">= 1"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","static","handlebars","html"],"readme":"# GRUNT-STATIC-HANDLEBARS\n\n> Compile your handlebars templates into static html files.\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1` which uses [Node.js](http://nodejs.org/download).\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install static-handlebars --save-dev\n```\n\nOne the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('static-handlebars');\n```\n\n## Documentation\n\n### Overview\nIn your project's Gruntfile, add a section named `static_handlebars` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n  static_handlebars: {\n    options: {\n      // Task-specific options go here.\n    },\n    your_target: {\n      // Target-specific file lists and/or options go here.\n    },\n  },\n})\n```\n\n### Options\n\n#### options.partials\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.hbp`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-partials.\n\n#### options.helpers\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.js`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-helpers.\n\n#### target\n\n```js\ngrunt.initConfig({\n  static_handlebars: {\n    options: {\n    \tpartials:'',\n    \thelpers:''\n    },\n    target: {\n        // Target-specific file lists and/or options go here.\n    \toptions:{\n    \t\tjson:''\n    \t},\n    \tfiles:{}\n    },\n  },\n})\n```\n\n#### target.options.json\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.json`\n\nA string or array value that resembles the files to use as context-input (json).\n\n#### target.files\n\nType: `Object` or `Array`  \nDefault value: `''`  \nExtension: `.hbt` or `.html`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-templates.\n\n```js\n{'destinationFolder/file.html':'inputFolder/input.hbt'}\n```  \nor  \n```js\n{'destinationFolder/*.html':'inputFolder/*.hbs'}\n```  \nto render all [Handlebars](http://handlebarsjs.com) templates.\n\n## Examples\n\nSee the ```/test``` directory for examples how to use this. Some remarks:\n\n* ```.hbt``` are [Handlebars](http://handlebarsjs.com)-templates\n* ```.hbp``` are [Handlebars](http://handlebarsjs.com)-partials\n* [Handlebars](http://handlebarsjs.com)-helpers are JS functions and therefore saved as ```.js``` files.\n* [Handlebars](http://handlebarsjs.com)-helpers can use:\n\t* ```js Handlebars.compile``` can be used in partials/helpers (like the frontend way)\n\t* ```js _``` can be used as ```lodash``` util class in your partials/helpers\n* ```.html``` files can also be referenced as \"files\" to use in your GruntFile\n* filenames can be connected by ```-```, ```+```,```_```\n* if [Handlebars](http://handlebarsjs.com)-templates have no markup (like ```{{```) it will copied as plaintext.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n0.3.0 - Rewrite to support helpers that use partials + added more tests  \n0.2.0 - Added global Handlebars object + fixed partials-naming (+/-/_ added)  \n0.1.0 - Initial release.\n\n## TODO\n* (?) Handlebars inline declaration\n* (?) option to provide string and no json-files as partials/helpers\n* (?) cli-option\n* (?) other output than .html\n* A general json file as default context/data\n* (?) add or ignore target.options.partials/helpers\n* (?) detect duplicate definitions of context &amp; helpers/partials\n* (?) use lowercase to detect wrong definitions of code or not useful","readmeFilename":"README.md","_id":"grunt-static-handlebars@0.3.0","dist":{"shasum":"32b268505104107692351a22509eb95a816f6f75","tarball":"https://registry.npmjs.org/grunt-static-handlebars/-/grunt-static-handlebars-0.3.0.tgz","integrity":"sha512-mlzPLB7zNh+hrmopia9jlRw3Rzc9xCt+pbHUZ8c8GVQjtwOlcF22PtgjxZ1TcfpHkagexz+mxxZXgsUwfP7oIg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtpQ3mKiZL63r2X9IFcGdkaAr5APEISocSMYyT6TryYgIgVRYcXSNvduxkiFatfnX4wSjoD/DL515RLJW5X8n16Jk="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"techtribe","email":"opensource@techtribe.nl"},"maintainers":[{"name":"techtribe","email":"opensource@techtribe.nl"}],"directories":{}},"0.3.1":{"name":"grunt-static-handlebars","description":"Compile your handlebars templates into static html files.","version":"0.3.1","homepage":"https://github.com/techtribe/grunt-static-handlebars","author":{"name":"Joey van Dijk","email":"opensource@techtribe.nl","url":"https://github.com/Techtribe"},"repository":{"type":"git","url":"git://github.com/techtribe/grunt-static-handlebars.git"},"bugs":{"url":"https://github.com/techtribe/grunt-static-handlebars/issues"},"licenses":[{"type":"MIT","url":"https://github.com/techtribe/grunt-static-handlebars/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{"handlebars":">= 1"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","static","handlebars","html"],"readme":"# GRUNT-STATIC-HANDLEBARS\n\n> Compile your handlebars templates into static html files.\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1` which uses [Node.js](http://nodejs.org/download).\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install static-handlebars --save-dev\n```\n\nOne the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('static-handlebars');\n```\n\n## Documentation\n\n### Overview\nIn your project's Gruntfile, add a section named `static_handlebars` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n  static_handlebars: {\n    options: {\n      // Task-specific options go here.\n    },\n    your_target: {\n      // Target-specific file lists and/or options go here.\n    },\n  },\n})\n```\n\n### Options\n\n#### options.partials\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.hbp`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-partials.\n\n#### options.helpers\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.js`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-helpers.\n\n#### target\n\n```js\ngrunt.initConfig({\n  static_handlebars: {\n    options: {\n    \tpartials:'',\n    \thelpers:''\n    },\n    target: {\n        // Target-specific file lists and/or options go here.\n    \toptions:{\n    \t\tjson:''\n    \t},\n    \tfiles:{}\n    },\n  },\n})\n```\n\n#### target.options.json\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.json`\n\nA string or array value that resembles the files to use as context-input (json).\n\n#### target.files\n\nType: `Object` or `Array`  \nDefault value: `''`  \nExtension: `.hbt` or `.html`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-templates.\n\n```js\n{'destinationFolder/file.html':'inputFolder/input.hbt'}\n```  \nor  \n```js\n{'destinationFolder/*.html':'inputFolder/*.hbs'}\n```  \nto render all [Handlebars](http://handlebarsjs.com) templates.\n\n## Examples\n\nSee the ```/test``` directory for examples how to use this. Some remarks:\n\n* ```.hbt``` are [Handlebars](http://handlebarsjs.com)-templates\n* ```.hbp``` are [Handlebars](http://handlebarsjs.com)-partials\n* [Handlebars](http://handlebarsjs.com)-helpers are JS functions and therefore saved as ```.js``` files.\n* [Handlebars](http://handlebarsjs.com)-helpers can use:\n\t* ```js Handlebars.compile``` can be used in partials/helpers (like the frontend way)\n\t* ```js _``` can be used as ```lodash``` util class in your partials/helpers\n* ```.html``` files can also be referenced as \"files\" to use in your GruntFile\n* filenames can be connected by ```-```, ```+```,```_```\n* if [Handlebars](http://handlebarsjs.com)-templates have no markup (like ```{{```) it will copied as plaintext.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n0.3.1 - Relative path bug fixed for [Handlebars](htt://handlebarsjs.com)-helpers  \n0.3.0 - Rewrite to support helpers that use partials + added more tests  \n0.2.0 - Added global Handlebars object + fixed partials-naming (+/-/_ added)  \n0.1.0 - Initial release.\n\n## TODO\n* (?) Handlebars inline declaration\n* (?) option to provide string and no json-files as partials/helpers\n* (?) cli-option\n* (?) other output than .html\n* A general json file as default context/data\n* (?) add or ignore target.options.partials/helpers\n* (?) detect duplicate definitions of context &amp; helpers/partials\n* (?) use lowercase to detect wrong definitions of code or not useful","readmeFilename":"README.md","_id":"grunt-static-handlebars@0.3.1","dist":{"shasum":"cac74c55c0e63d60f109313434d27a7004da64e5","tarball":"https://registry.npmjs.org/grunt-static-handlebars/-/grunt-static-handlebars-0.3.1.tgz","integrity":"sha512-MPz5OqQuRJxcLgGKipYdIM7wH0fH8HCZWmIVuypIltUZ2CZGD+LnBMGYabBK+tmT8Z5Pll7pAKa04Ma0ilAo2A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEFKoMqROjsLBAdh2x4JU0HNZDzj+NZkPJjFU+TaAwVQAiAdNfojxZgSvIqeo/67YnlXSKiWcMMpKQIKa1XgpQU19g=="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"techtribe","email":"opensource@techtribe.nl"},"maintainers":[{"name":"techtribe","email":"opensource@techtribe.nl"}],"directories":{}},"0.4.0":{"name":"grunt-static-handlebars","description":"Compile your handlebars templates into static html files.","version":"0.4.0","homepage":"https://github.com/techtribe/grunt-static-handlebars","author":{"name":"Joey van Dijk","email":"opensource@techtribe.nl","url":"https://github.com/Techtribe"},"repository":{"type":"git","url":"git://github.com/techtribe/grunt-static-handlebars.git"},"bugs":{"url":"https://github.com/techtribe/grunt-static-handlebars/issues"},"licenses":[{"type":"MIT","url":"https://github.com/techtribe/grunt-static-handlebars/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{"handlebars":">= 1"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","static","handlebars","html"],"readme":"# GRUNT-STATIC-HANDLEBARS\n\n> Compile your handlebars templates into static html files.\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1` which uses [Node.js](http://nodejs.org/download).\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install static-handlebars --save-dev\n```\n\nOne the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('static-handlebars');\n```\n\n## Documentation\n\n### Overview\nIn your project's Gruntfile, add a section named `static_handlebars` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n  static_handlebars: {\n    options: {\n      // Task-specific options go here.\n    },\n    your_target: {\n      // Target-specific file lists and/or options go here.\n    },\n  },\n})\n```\n\n### Options\n\n#### options.partials\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.hbp`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-partials.\n\n#### options.helpers\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.js`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-helpers.\n\n#### target\n\n```js\ngrunt.initConfig({\n  static_handlebars: {\n    options: {\n    \tpartials:'',\n    \thelpers:''\n    },\n    target: {\n        // Target-specific file lists and/or options go here.\n    \toptions:{\n    \t\tjson:''\n    \t},\n    \tfiles:{}\n    },\n  },\n})\n```\n\n#### target.options.json\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.json`\n\nA string or array value that resembles the files to use as context-input (json).\n\n#### target.files\n\nType: `Object` or `Array`  \nDefault value: `''`  \nExtension: `.hbt` or `.html`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-templates.\n\n```js\n{'destinationFolder/file.html':'inputFolder/input.hbt'}\n```  \nor  \n```js\n{'destinationFolder/*.html':'inputFolder/*.hbs'}\n```  \nto render all [Handlebars](http://handlebarsjs.com) templates.\n\n## Examples\n\nSee the ```/test``` directory for examples how to use this. Some remarks:\n\n* ```.hbt``` are [Handlebars](http://handlebarsjs.com)-templates\n* ```.hbp``` are [Handlebars](http://handlebarsjs.com)-partials\n* [Handlebars](http://handlebarsjs.com)-helpers are JS functions and therefore saved as ```.js``` files.\n* [Handlebars](http://handlebarsjs.com)-helpers can use:\n\t* ```js Handlebars.compile``` can be used in partials/helpers (like the frontend way)\n\t* ```js _``` can be used as ```lodash``` util class in your partials/helpers\n* ```.html``` files can also be referenced as \"files\" to use in your GruntFile\n* filenames can be connected by ```-```, ```+```,```_```\n* if [Handlebars](http://handlebarsjs.com)-templates have no markup (like ```{{```) it will copied as plaintext.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n0.4.0 - Relative path rewrite to support ```js grunt.file.setBase()```\n0.3.1 - Relative path bug fixed for [Handlebars](htt://handlebarsjs.com)-helpers  \n0.3.0 - Rewrite to support helpers that use partials + added more tests  \n0.2.0 - Added global Handlebars object + fixed partials-naming (+/-/_ added)  \n0.1.0 - Initial release.\n\n## TODO\n* (?) Handlebars inline declaration\n* (?) option to provide string and no json-files as partials/helpers\n* (?) cli-option\n* (?) other output than .html\n* A general json file as default context/data\n* (?) add or ignore target.options.partials/helpers\n* (?) detect duplicate definitions of context &amp; helpers/partials\n* (?) use lowercase to detect wrong definitions of code or not useful","readmeFilename":"README.md","_id":"grunt-static-handlebars@0.4.0","dist":{"shasum":"cefe0e7f8a7605c4fc6782296de81c3da4546f86","tarball":"https://registry.npmjs.org/grunt-static-handlebars/-/grunt-static-handlebars-0.4.0.tgz","integrity":"sha512-Lk0XEhoFAuTRPa1jPdd3N1vZCfQ1aC/phtE8iJjnLlJh+Bnqm2X/GQjWjVrzqiYMKsJ58Z5HwWJd7Wof7g52hg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEdtmnPFy/gYLChguPvJcss7JVZxX7eS9QHV0IKXYk0FAiARU/1P2muCgiyQuWbRG+y1EzHJCgJMFixB8O8QRnO/wg=="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"techtribe","email":"opensource@techtribe.nl"},"maintainers":[{"name":"techtribe","email":"opensource@techtribe.nl"}],"directories":{}},"0.4.1":{"name":"grunt-static-handlebars","description":"Compile your handlebars templates into static html files.","version":"0.4.1","homepage":"https://github.com/techtribe/grunt-static-handlebars","author":{"name":"Joey van Dijk","email":"opensource@techtribe.nl","url":"https://github.com/Techtribe"},"repository":{"type":"git","url":"git://github.com/techtribe/grunt-static-handlebars.git"},"bugs":{"url":"https://github.com/techtribe/grunt-static-handlebars/issues"},"licenses":[{"type":"MIT","url":"https://github.com/techtribe/grunt-static-handlebars/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{"handlebars":">= 1"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","static","handlebars","html"],"readme":"# GRUNT-STATIC-HANDLEBARS\n\n> Compile your handlebars templates into static html files.\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1` which uses [Node.js](http://nodejs.org/download).\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install static-handlebars --save-dev\n```\n\nOne the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('static-handlebars');\n```\n\n## Documentation\n\n### Overview\nIn your project's Gruntfile, add a section named `static_handlebars` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n  static_handlebars: {\n    options: {\n      // Task-specific options go here.\n    },\n    your_target: {\n      // Target-specific file lists and/or options go here.\n    },\n  },\n})\n```\n\n### Options\n\n#### options.partials\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.hbp`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-partials.\n\n#### options.helpers\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.js`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-helpers.\n\n#### target\n\n```js\ngrunt.initConfig({\n  static_handlebars: {\n    options: {\n    \tpartials:'',\n    \thelpers:''\n    },\n    target: {\n        // Target-specific file lists and/or options go here.\n    \toptions:{\n    \t\tjson:''\n    \t},\n    \tfiles:{}\n    },\n  },\n})\n```\n\n#### target.options.json\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.json`\n\nA string or array value that resembles the files to use as context-input (json).\n\n#### target.files\n\nType: `Object` or `Array`  \nDefault value: `''`  \nExtension: `.hbt` or `.html`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-templates.\n\n```js\n{'destinationFolder/file.html':'inputFolder/input.hbt'}\n```  \nor  \n```js\n{'destinationFolder/*.html':'inputFolder/*.hbs'}\n```  \nto render all [Handlebars](http://handlebarsjs.com) templates.\n\n## Examples\n\nSee the ```/test``` directory for examples how to use this. Some remarks:\n\n* ```.hbt``` are [Handlebars](http://handlebarsjs.com)-templates\n* ```.hbp``` are [Handlebars](http://handlebarsjs.com)-partials\n* [Handlebars](http://handlebarsjs.com)-helpers are JS functions and therefore saved as ```.js``` files.\n* [Handlebars](http://handlebarsjs.com)-helpers can use:\n\t* ```js Handlebars.compile``` can be used in partials/helpers (like the frontend way)\n\t* ```js _``` can be used as ```lodash``` util class in your partials/helpers\n* ```.html``` files can also be referenced as \"files\" to use in your GruntFile\n* filenames can be connected by ```-```, ```+```,```_```\n* if [Handlebars](http://handlebarsjs.com)-templates have no markup (like ```{{```) it will copied as plaintext.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n0.4.1 - Added grunt as global variable\n0.4.0 - Relative path rewrite to support ```js grunt.file.setBase()```\n0.3.1 - Relative path bug fixed for [Handlebars](htt://handlebarsjs.com)-helpers  \n0.3.0 - Rewrite to support helpers that use partials + added more tests  \n0.2.0 - Added global Handlebars object + fixed partials-naming (+/-/_ added)  \n0.1.0 - Initial release.\n\n## TODO\n* (?) Handlebars inline declaration\n* (?) option to provide string and no json-files as partials/helpers\n* (?) cli-option\n* (?) other output than .html\n* A general json file as default context/data\n* (?) add or ignore target.options.partials/helpers\n* (?) detect duplicate definitions of context &amp; helpers/partials\n* (?) use lowercase to detect wrong definitions of code or not useful","readmeFilename":"README.md","_id":"grunt-static-handlebars@0.4.1","dist":{"shasum":"f23a45b6698dbc85b301f4cbffcb4f8b97929122","tarball":"https://registry.npmjs.org/grunt-static-handlebars/-/grunt-static-handlebars-0.4.1.tgz","integrity":"sha512-Z/W5eJz8cRsGIEWGKbK6+PYBVw29Ed9IOJ8v6t3AnWJsldRwZWm/X7I3VrFdoa1JyjZaR+qKfzaHgBsVjPjVew==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGJaq1nylTe0SUrIzTZgMsm9jLoaQepQ6YzdJz80AfYZAiEAxqx9iiP/vn0PZiBVm1T2TzXzCuwMJJPxvw5YmgwwUME="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"techtribe","email":"opensource@techtribe.nl"},"maintainers":[{"name":"techtribe","email":"opensource@techtribe.nl"}],"directories":{}},"0.4.2":{"name":"grunt-static-handlebars","description":"Compile your handlebars templates into static html files.","version":"0.4.2","homepage":"https://github.com/techtribe/grunt-static-handlebars","author":{"name":"Joey van Dijk","email":"opensource@techtribe.nl","url":"https://github.com/Techtribe"},"repository":{"type":"git","url":"git://github.com/techtribe/grunt-static-handlebars.git"},"bugs":{"url":"https://github.com/techtribe/grunt-static-handlebars/issues"},"licenses":[{"type":"MIT","url":"https://github.com/techtribe/grunt-static-handlebars/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{"handlebars":">= 1"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","static","handlebars","html"],"readme":"# GRUNT-STATIC-HANDLEBARS\n\n> Compile your handlebars templates into static html files.\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1` which uses [Node.js](http://nodejs.org/download).\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install static-handlebars --save-dev\n```\n\nOne the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('static-handlebars');\n```\n\n## Documentation\n\n### Overview\nIn your project's Gruntfile, add a section named `static_handlebars` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n  static_handlebars: {\n    options: {\n      // Task-specific options go here.\n    },\n    your_target: {\n      // Target-specific file lists and/or options go here.\n    },\n  },\n})\n```\n\n### Options\n\n#### options.partials\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.hbp`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-partials.\n\n#### options.helpers\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.js`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-helpers.\n\n#### target\n\n```js\ngrunt.initConfig({\n  static_handlebars: {\n    options: {\n    \tpartials:'',\n    \thelpers:''\n    },\n    target: {\n        // Target-specific file lists and/or options go here.\n    \toptions:{\n    \t\tjson:''\n    \t},\n    \tfiles:{}\n    },\n  },\n})\n```\n\n#### target.options.json\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.json`\n\nA string or array value that resembles the files to use as context-input (json).\n\n#### target.files\n\nType: `Object` or `Array`  \nDefault value: `''`  \nExtension: `.hbt` or `.html`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-templates.\n\n```js\n{'destinationFolder/file.html':'inputFolder/input.hbt'}\n```  \nor  \n```js\n{'destinationFolder/*.html':'inputFolder/*.hbs'}\n```  \nto render all [Handlebars](http://handlebarsjs.com) templates.\n\n## Examples\n\nSee the ```/test``` directory for examples how to use this. Some remarks:\n\n* ```.hbt``` are [Handlebars](http://handlebarsjs.com)-templates\n* ```.hbp``` are [Handlebars](http://handlebarsjs.com)-partials\n* [Handlebars](http://handlebarsjs.com)-helpers are JS functions and therefore saved as ```.js``` files.\n* [Handlebars](http://handlebarsjs.com)-helpers can use:\n\t* ```js Handlebars.compile``` can be used in partials/helpers (like the frontend way)\n\t* ```js _``` can be used as ```lodash``` util class in your partials/helpers\n* ```.html``` files can also be referenced as \"files\" to use in your GruntFile\n* filenames can be connected by ```-```, ```+```,```_```\n* if [Handlebars](http://handlebarsjs.com)-templates have no markup (like ```{{```) it will copied as plaintext.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n0.4.2 - Fixed the processing of static files without any [Handlebars](htt://handlebarsjs.com)  \n0.4.1 - Added grunt as global variable\n0.4.0 - Relative path rewrite to support ```js grunt.file.setBase()```  \n0.3.1 - Relative path bug fixed for [Handlebars](htt://handlebarsjs.com)-helpers  \n0.3.0 - Rewrite to support helpers that use partials + added more tests  \n0.2.0 - Added global Handlebars object + fixed partials-naming (+/-/_ added)  \n0.1.0 - Initial release.\n\n## TODO\n* (?) Handlebars inline declaration\n* (?) option to provide string and no json-files as partials/helpers\n* (?) cli-option\n* (?) other output than .html\n* A general json file as default context/data\n* (?) add or ignore target.options.partials/helpers\n* (?) detect duplicate definitions of context &amp; helpers/partials\n* (?) use lowercase to detect wrong definitions of code or not useful","readmeFilename":"README.md","_id":"grunt-static-handlebars@0.4.2","dist":{"shasum":"906c2afab156f6d418b95eed20d1c37caded402f","tarball":"https://registry.npmjs.org/grunt-static-handlebars/-/grunt-static-handlebars-0.4.2.tgz","integrity":"sha512-JSGfhOZvPqj418unxFNwI9AkRBAqinBtjhcdDrZ5AXrcmFBW4KDnrcrNHeRr2+SI6s/oqxVuPakRYYSIpEFClg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcXz9TNc3ucTdp2mbzi3XbxRk4K3XU+JC+GKX9holO3QIhAMGO32HBb0olr29/elVTvqB3tk7Bm+HR7PRDSg9fYYnC"}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"techtribe","email":"opensource@techtribe.nl"},"maintainers":[{"name":"techtribe","email":"opensource@techtribe.nl"}],"directories":{}},"0.4.3":{"name":"grunt-static-handlebars","description":"Compile your handlebars templates into static html files.","version":"0.4.3","homepage":"https://github.com/techtribe/grunt-static-handlebars","author":{"name":"Joey van Dijk","email":"opensource@techtribe.nl","url":"https://github.com/Techtribe"},"repository":{"type":"git","url":"git://github.com/techtribe/grunt-static-handlebars.git"},"bugs":{"url":"https://github.com/techtribe/grunt-static-handlebars/issues"},"licenses":[{"type":"MIT","url":"https://github.com/techtribe/grunt-static-handlebars/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{"handlebars":">= 1"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","static","handlebars","html"],"readme":"# GRUNT-STATIC-HANDLEBARS\n\n> Compile your handlebars templates into static html files.\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1` which uses [Node.js](http://nodejs.org/download).\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install static-handlebars --save-dev\n```\n\nOne the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('static-handlebars');\n```\n\n## Documentation\n\n### Overview\nIn your project's Gruntfile, add a section named `static_handlebars` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n  static_handlebars: {\n    options: {\n      // Task-specific options go here.\n    },\n    your_target: {\n      // Target-specific file lists and/or options go here.\n    },\n  },\n})\n```\n\n### Options\n\n#### options.partials\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.hbp`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-partials.\n\n#### options.helpers\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.js`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-helpers.\n\n#### target\n\n```js\ngrunt.initConfig({\n  static_handlebars: {\n    options: {\n    \tpartials:'',\n    \thelpers:''\n    },\n    target: {\n        // Target-specific file lists and/or options go here.\n    \toptions:{\n    \t\tjson:''\n    \t},\n    \tfiles:{}\n    },\n  },\n})\n```\n\n#### target.options.json\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.json`\n\nA string or array value that resembles the files to use as context-input (json).\n\n#### target.files\n\nType: `Object` or `Array`  \nDefault value: `''`  \nExtension: `.hbt` or `.html`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-templates.\n\n```js\n{'destinationFolder/file.html':'inputFolder/input.hbt'}\n```  \nor  \n```js\n{'destinationFolder/*.html':'inputFolder/*.hbs'}\n```  \nto render all [Handlebars](http://handlebarsjs.com) templates.\n\n## Examples\n\nSee the ```/test``` directory for examples how to use this. Some remarks:\n\n* ```.hbt``` are [Handlebars](http://handlebarsjs.com)-templates\n* ```.hbp``` are [Handlebars](http://handlebarsjs.com)-partials\n* [Handlebars](http://handlebarsjs.com)-helpers are JS functions and therefore saved as ```.js``` files.\n* [Handlebars](http://handlebarsjs.com)-helpers can use:\n\t* ```js Handlebars.compile``` can be used in partials/helpers (like the frontend way)\n\t* ```js _``` can be used as ```lodash``` util class in your partials/helpers\n* ```.html``` files can also be referenced as \"files\" to use in your GruntFile\n* filenames can be connected by ```-```, ```+```,```_```\n* if [Handlebars](http://handlebarsjs.com)-templates have no markup (like ```{{```) it will copied as plaintext.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n0.4.3 - If no .json file is mentioned, the template context will be defaulted to {}  \n0.4.2 - Fixed the processing of static files without any [Handlebars](htt://handlebarsjs.com)  \n0.4.1 - Added grunt as global variable\n0.4.0 - Relative path rewrite to support ```js grunt.file.setBase()```  \n0.3.1 - Relative path bug fixed for [Handlebars](htt://handlebarsjs.com)-helpers  \n0.3.0 - Rewrite to support helpers that use partials + added more tests  \n0.2.0 - Added global Handlebars object + fixed partials-naming (+/-/_ added)  \n0.1.0 - Initial release.\n\n## TODO\n* (?) Handlebars inline declaration\n* (?) option to provide string and no json-files as partials/helpers\n* (?) cli-option\n* (?) other output than .html\n* A general json file as default context/data\n* (?) add or ignore target.options.partials/helpers\n* (?) detect duplicate definitions of context &amp; helpers/partials\n* (?) use lowercase to detect wrong definitions of code or not useful","readmeFilename":"README.md","_id":"grunt-static-handlebars@0.4.3","dist":{"shasum":"7ef926c5cc5dddfd619b734544fc9bb7cfdc8c97","tarball":"https://registry.npmjs.org/grunt-static-handlebars/-/grunt-static-handlebars-0.4.3.tgz","integrity":"sha512-iM542PTIQLAMTbFd50f39lF1oo1LiyzTeCTT827sTx7k3sjTZC0CABIRuuF+G7iVTF7oWfeXux847akC84rzlA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYU13b5eWbA5q4HB69ylUSsdcoDzHcMPLzfn8RNmGXwQIgaci1Y6zB/D0ImBjnjWo6mKrYjzOsE2wunyn3Mfmx4nk="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"techtribe","email":"opensource@techtribe.nl"},"maintainers":[{"name":"techtribe","email":"opensource@techtribe.nl"}],"directories":{}},"0.5.0":{"name":"grunt-static-handlebars","description":"Compile your handlebars templates into static html files.","version":"0.5.0","homepage":"https://github.com/techtribe/grunt-static-handlebars","author":{"name":"Joey van Dijk","email":"opensource@techtribe.nl","url":"https://github.com/Techtribe"},"repository":{"type":"git","url":"git://github.com/techtribe/grunt-static-handlebars.git"},"bugs":{"url":"https://github.com/techtribe/grunt-static-handlebars/issues"},"licenses":[{"type":"MIT","url":"https://github.com/techtribe/grunt-static-handlebars/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{"handlebars":">= 1","MD5":">=1.0"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","static","handlebars","html"],"readme":"# GRUNT-STATIC-HANDLEBARS\n\n> Compile your handlebars templates into static html files.\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1` which uses [Node.js](http://nodejs.org/download).\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-static-handlebars --save-dev\n```\n\nOne the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-static-handlebars');\n```\n\n## Documentation\n\n### Overview\nIn your project's Gruntfile, add a section named `static_handlebars` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n  staticHandlebars: {\n    options: {\n      // Task-specific options go here.\n    },\n    your_target: {\n      // Target-specific file lists and/or options go here.\n    },\n  },\n})\n```\n\n### Options\n\n#### options.partials\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.hbp`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-partials.\n\n#### options.helpers\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.js`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-helpers.\n\n#### options.pageRoot\n\nType: `String` or `Array`  \nDefault value: `''`  \n\nThe file directory to use as base folder for your templates. (will be automated later)\n\n#### options.sourceRoot\n\nType: `String` or `Array`  \nDefault value: `''`  \n\nThe directory in which all your assets are. This path will be default relative to the current working directory and be added before the provided assets paths like ```css/base.css``` you will find in your context-files.\n\n#### options.packageDirectory\n\nType: `String` or `Array`  \nDefault value: `''`  \n\nThe directory in which all assets are concatenated which you can copy to the correct target folder __OR__ use to minify them before copying.\n\n#### options.assetsFolder\n\nType: `String`  \nDefault value: `'/'`  \n\nThe directory in which all assets are provided and referenced by inside the processed html template.\n\n#### options.ignoreFilesHelper\n\nType: `Boolean`  \nDefault value: `false`  \n\nWhile [Handlebars](http://handlebarsjs.com) is mostly used for .html files this option provides the ability to ignore the ```{{staticHandlebarsFiles}}``` template tag and write your own version if set to ```true```. \nIf kept at ```false``` you can describe in your context-files which kind of assets are needed on that page.\n\nSo, define a .html/.hbt file as a Handlebars template and add a (same filename) .json file in the same folder. In that .json file you can describe assets like\n\n```json\n{\n    \"extends\": [ \"base.json\" ],\n    \"files%add\": [\n        \"/css/homepage.css\",\n        \"/js/homepage.js\"\n    ],\n    \"title\":\"A new page title.\",\n    \"page\":{\n        \"title\":\"Welcome\",\n        \"content\":\"At our new test site.\"\n    },\n    \"footer\":\"Some contact information about how to get in touch with us.\"\n}\n```\n\nThis means that this Handlebars template: \n\n* use the base.json as source for the ```files```-list\n* add extra files only for this template with ```files%add```\n* and use extra context like title / page to use in your template as ```{{title}}``` and ```{{page.title}}```\n\nThis setup provides flexibility to keep a base list of files and add or ignore files that are not needed on a certain page.\n\nYou can also ignore ```extends``` and ```files``` to just render the template with the provided context (json), like:\n\n```json\n{\n    \"title\":\"A new page title.\",\n    \"page\":{\n        \"title\":\"Welcome\",\n        \"content\":\"At our new test site.\"\n    },\n    \"footer\":\"Some contact information about how to get in touch with us.\"\n}\n```\n\n_Note: if you use this plugin for non-html files you can ignore this option as long as you don't use ```{{staticHandlebarsFiles}}``` in your Handlebars templates._\n\n#### target\n\n```js\ngrunt.initConfig({\n  staticHandlebars: {\n    options: {\n    \tpageRoot: 'templates', //root directory\n    \tsourceRoot: 'assets', //used for JS/CSS files\n    \tpackageDirectory: 'target/tmp/package', //packaged files directory\n    \tassetsFolder: '/',\n    \tignoreFilesHelper: false,\n\t   \tpartials:'',\n    \thelpers:''\n    },\n    target: {\n        // Target-specific file lists and/or options go here.\n    \toptions:{\n    \t\tjson:''\n    \t},\n    \tfiles:{}\n    },\n  },\n})\n```\n\n#### target.options.json\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.json`\n\nA string or array value that resembles the files to use as context-input (json).\n\n#### target.files\n\nType: `Object` or `Array`  \nDefault value: `''`  \nExtension: `*` whatever you like (```.hbt``` or ```.html```)\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-templates.\n\n```js\n{'destinationFolder/file.html':'inputFolder/input.hbt'}\n```  \nor  \n```js\n{'destinationFolder/*.html':'inputFolder/*.hbt'}\n```  \nor\n```js\n{'destinationFolder/**/*.html':'inputFolder/**/*.hbt'}\n```  \nto render all [Handlebars](http://handlebarsjs.com) templates.\n\n## Examples\n\nSee the ```/test``` directory for examples how to use this. Some remarks:\n\n* ```.hbt``` are [Handlebars](http://handlebarsjs.com)-templates but can be any extension (.html, .htm, .hbs, etc)\n* ```.hbp``` are [Handlebars](http://handlebarsjs.com)-partials but can be any extension (.html, .htm, .hbs, etc)\n* [Handlebars](http://handlebarsjs.com)-helpers are JS functions and therefore saved as ```.js``` files.\n* [Handlebars](http://handlebarsjs.com)-helpers can use:\n\t* ```js Handlebars.compile``` can be used in partials/helpers (like the frontend way)\n\t* ```js _``` can be used as ```lodash``` util class in your partials/helpers\n* ```.html``` files can also be referenced as \"files\" to use in your GruntFile\n* filenames can be connected by ```-```, ```+```,```_```\n* if [Handlebars](http://handlebarsjs.com)-templates have no markup (like ```{{```) it will copied as plaintext.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n0.5.0 - Added \"extends\" mechanism to limit the file-paths needed in the context-files (normally .json files) which means you have a built-in option to include JS/CSS/?-files in an optimized way inside your ```html  <head>```  \n0.4.3 - If no .json file is mentioned, the template context will be defaulted to {}  \n0.4.2 - Fixed the processing of static files without any [Handlebars](htt://handlebarsjs.com)  \n0.4.1 - Added grunt as global variable\n0.4.0 - Relative path rewrite to support ```js grunt.file.setBase()```  \n0.3.1 - Relative path bug fixed for [Handlebars](htt://handlebarsjs.com)-helpers  \n0.3.0 - Rewrite to support helpers that use partials + added more tests  \n0.2.0 - Added global Handlebars object + fixed partials-naming (+/-/_ added)  \n0.1.0 - Initial release.\n\n## TODO\n* (?) Handlebars inline declaration\n* (?) option to provide string and no json-files as partials/helpers\n* (?) cli-option\n* (?) other output than .html\n* A general json file as default context/data\n* (?) add or ignore target.options.partials/helpers\n* (?) detect duplicate definitions of context &amp; helpers/partials\n* (?) use lowercase to detect wrong definitions of code or not useful\n* Add partials/helpers inside context files (see base.json for example)\n* Ignore {{staticHandlebarsFiles}} helper\n* ! More flexible targetPath paths (parent-directories)\n* ! add helper to file\n* ! use target-directory for targetPath > check destination for that?\n* Add Packageroot as task-options and not only in general options\n* ! Smarter pageRoot/packagesDirectory setup - detect working directory (see subDirectories-function)\n* Detect missing pageRoot and other variables","readmeFilename":"README.md","_id":"grunt-static-handlebars@0.5.0","dist":{"shasum":"a7e1d76e92eb1788e901ca60300d8c5f3af83b62","tarball":"https://registry.npmjs.org/grunt-static-handlebars/-/grunt-static-handlebars-0.5.0.tgz","integrity":"sha512-vU6NefE0FbqxxpRtxnltpJkqNFF9rFMvdgvCxzIWGwCag77aMGc6JR/KMsey6z7slALrEwC66sVLNkJEHaWo0A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWsnJKJCJ9lSi+WpAoTltmGI2t8Z8WIMKbWbZKHIcOWQIhAI52ftyeT1SqOPFsgUQ2R3rk9zTASzTHDTfVLj+EN4AA"}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"techtribe","email":"opensource@techtribe.nl"},"maintainers":[{"name":"techtribe","email":"opensource@techtribe.nl"}],"directories":{}},"0.6.0":{"name":"grunt-static-handlebars","description":"Compile your Handlebars templates into static html files.","version":"0.6.0","homepage":"https://github.com/techtribe/grunt-static-handlebars","author":{"name":"Joey van Dijk","email":"opensource@techtribe.nl","url":"https://github.com/Techtribe"},"repository":{"type":"git","url":"git://github.com/techtribe/grunt-static-handlebars.git"},"bugs":{"url":"https://github.com/techtribe/grunt-static-handlebars/issues"},"licenses":[{"type":"MIT","url":"https://github.com/techtribe/grunt-static-handlebars/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{"handlebars":">= 1","MD5":">=1.0"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","static","handlebars","html"],"readme":"# GRUNT-STATIC-HANDLEBARS\n\n> Compile your handlebars templates into static html files.\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1` which uses [Node.js](http://nodejs.org/download).\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-static-handlebars --save-dev\n```\n\nOne the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-static-handlebars');\n```\n\n## Documentation\n### Overview\nThis grunt-plugin enables you to separate context from (HTML)markup by using [Handlebars](http://handlebarsjs.com) templates. Any type of files (not just HTML) can be used, but its features are focused on providing tools to make the integration with grunt easy.\n\nA template can have a ```.json``` file to add context variables you will use inside your template. Due to the nature of static HTML, a template without the name of ```index.html``` will be put in a folder corresponding its name where the processed file will be named ```index.html```. So you will be able to link to that page by using ```www.yoursite.com/path``` so no additional .html extensions need to reside in your URL.\n\n### Usage\nIn your project's Gruntfile, add a section named `static_handlebars` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n  staticHandlebars: {\n    options: {\n      // Task-specific options go here.\n    },\n    your_target_name: {\n      // Target-specific file lists and/or options go here.\n    },\n  },\n})\n```\n\n### Options\nOptions can reside in the general definition of this plugin or inside any task-options to overrule or define the options to use with that (sub)task.\n\n#### partials\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `*` whatever you like (for example ```.hbt``` or ```.html```)\n\nA string or array value that resembles the (type of) files to use as [Handlebars](http://handlebarsjs.com)-partials.\n\n#### helpers\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.js`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-helpers.\n\n#### assets\nType: `Object`\n\nAn object to configure the use of ```{{staticHandlebarsFiles}}``` or your own helper to embed the creation of assets like ```js``` and ```css``` in an optimized way. This feature enables you to define the path inside ```.html``` files to concatenate them and copy them to a folder for post-processing (minify) or just in the right production folder.\n\n_Note: if you use this plugin for non-html files you can ignore this option as long as you don't use ```{{staticHandlebarsFiles}}``` in your Handlebars templates._\n\n##### Default value\n\n```js\n{\n\ttemplatesPath:'.',\n\tsourcesPath:'.',\n\tassetsPath:'.',\n\tpackagedFilesPath:'.',\n\tignoreHelper:false\n}\n```\n\nwhere in ```.json``` files you can add\n\n```json\n{\n    \"extends\": [ \"base.json\" ],\n    \"files%add\": [\n        \"/css/homepage.css\",\n        \"/js/homepage.js\"\n    ],\n    \"title\":\"A new page title.\",\n    \"page\":{\n        \"title\":\"Welcome\",\n        \"content\":\"At our new test site.\"\n    },\n    \"footer\":\"Some contact information about how to get in touch with us.\"\n}\n```\nto use as input for the processing of files. This means that this Handlebars template: \n\n* use ```base.json``` as source for the ```files```-list\n* use extra files only for this template with ```files%add```\n* use extra context like title / page to use in your template as ```{{title}}``` and ```{{page.title}}```\n\n##### assets.templatePath (optional)\nType: `String`\nDefault value: `.`  \nAlready set but you can override the base path to find your base context-files that are used in ```.json``` as the ```extends:['base.json']``` mechanism to keep your ```files```-property in ```.json``` files small and in line with the desired base context to use.\n\n##### assets.sourcesPath\nType: `String`\nDefault value: `.`  \nDefine the path where your sources (so what comes before ```js/base.js```) originating from the ```Gruntfile.js``` directory.\n\n##### assets.assetsPath\nType: `String`\nDefault value: `/`  \nDefine the path which is used inside the processed ```.html``` files (like ```/js/base.js```).\n\n##### assets.packagedFilesPath\nType: `String`\nDefault value: `.`  \nDefine the path where all concatenated files will be put. These files are all combinations of (separate) ```js``` or ```css``` files. You can choose to put them in an alternate folder to minify (```grunt-contrib-uglify``` or ```grunt-contrib-cssmin```) or put them in the production folder.\n\n##### assets.ignoreHelper\nType: `Boolean`\nDefault value: `false`  \nIf you would like to overwrite the use of ```{{staticHandlebarsFiles}}``` inside your templates, reset to true and register your own helper with the ```staticHandlebarsFiles``` name.\n\n#### json\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.json`\n\nA string or array value that resembles the files to use as context-input (json). It will resemble the same amount of files as the total amount of templates inside this subtask (target).\n\n#### files\nType: `Object` or `Array`  \nDefault value: `''`  \nExtension: `*` whatever you like (for example ```.hbt``` or ```.html```)\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-templates.\n```js\n{'destinationFolder/file.html':'inputFolder/input.hbt'}\n```  \nor  \n```js\n{'destinationFolder/*.html':'inputFolder/*.hbt'}\n```  \nor\n```js\n{'destinationFolder/**/*.html':'inputFolder/**/*.hbt'}\n```  \nto render all [Handlebars](http://handlebarsjs.com) templates.\n\n## Examples\nSee the ```/test``` directory for examples how to use this plugin. \n\n```js\ngrunt.initConfig({\n  staticHandlebars: {\n    options: {\t\n\t   \tpartials:'',\n    \thelpers:''\n    },\n    simpleTarget: {\n        // Target-specific file lists and/or options go here.\n    \toptions:{\n    \t\tjson:''\n    \t},\n\t\tfiles:{'tmp/simple/**/*.html':'test/fixtures/homepage/**/*.hbt'}\n    },\n    complexTarget: {\n\t    options:{\n        \tassets:{\n            \tsourcesPath: 'test/assets', //used for JS/CSS files\n\t\t\t\tpackagedFilesPath: 'tmp/packages',\n\t\t\t\tassetsPath: '/'\n\t\t\t}\n\t\t},\n\t\tfiles:{'tmp/complext/**/*.html':'test/fixtures/complex/**/*.hbt'}\n    }\n  },\n})\n```\n\nSome remarks:\n* ```.hbt``` are [Handlebars](http://handlebarsjs.com)-templates but can be any extension (```.html```, ```.hbs```, etc)\n* ```.hbp``` are [Handlebars](http://handlebarsjs.com)-partials but can be any extension (```.html```, ```.hbs```, etc)\n* [Handlebars](http://handlebarsjs.com)-helpers are JS functions and therefore saved as ```.js``` files.\n* [Handlebars](http://handlebarsjs.com)-helpers can use:\n\t* ```js Handlebars.compile``` can be used in partials/helpers (like the frontend way)\n\t* ```js _``` can be used as ```lodash``` util class in your partials/helpers\n* ```.html``` files can also be referenced as \"files\" to use in your GruntFile\n* filenames can be connected by ```-```, ```+```,```_```\n* if [Handlebars](http://handlebarsjs.com)-templates have no markup (like ```{{```) it will copied as plaintext.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n0.6.0 - Rewrote plugin to enable \"extends\" mechanism as an option (not as default) + added examples + adjusted Gruntfile.js options definition + renamed options + fixed empty variables  \n0.5.0 - Added \"extends\" mechanism to limit the file-paths needed in the context-files (normally .json files) which means you have a built-in option to include JS/CSS/?-files in an optimized way inside your ```<head>```  \n0.4.3 - If no .json file is mentioned, the template context will be defaulted to {}  \n0.4.2 - Fixed the processing of static files without any [Handlebars](htt://handlebarsjs.com)  \n0.4.1 - Added grunt as global variable\n0.4.0 - Relative path rewrite to support ```js grunt.file.setBase()```  \n0.3.1 - Relative path bug fixed for [Handlebars](htt://handlebarsjs.com)-helpers  \n0.3.0 - Rewrite to support helpers that use partials + added more tests  \n0.2.0 - Added global Handlebars object + fixed partials-naming (+/-/_ added)  \n0.1.0 - Initial release.\n\n## TODO\n* (?) option to provide string and no json-files as partials/helpers\n* (?) cli-option\n* (?) add or ignore target.options.partials/helpers\n* (?) detect duplicate definitions of context &amp; helpers/partials\n* (?) use lowercase to detect wrong definitions of code or not useful\n* Add partials/helpers inside context files (see base.json for example)\n* ! More flexible targetPath paths (parent-directories)\n* ! use target-directory for targetPath > check destination for that?\n* Other filenames than index.html possible (export already done)","readmeFilename":"README.md","_id":"grunt-static-handlebars@0.6.0","dist":{"shasum":"d201339d3ac75b0b5acba9b0333091d092d05908","tarball":"https://registry.npmjs.org/grunt-static-handlebars/-/grunt-static-handlebars-0.6.0.tgz","integrity":"sha512-XuJaIPfh0w4hWmt/XSEnqlkhUpCb0qMaz40XOx8b6HRWzmw8ZxihWQXFamgtnCyUp4Ya13oqd3//tTXJcFgfAw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDplWe/D0P3n3a/mC312PEh2+eWo0d/TWFYPF8/NylqwIgJiihGC3kfvvFmpJHn80SI4408+Cdk7zPk3HW7LWvwA4="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"techtribe","email":"opensource@techtribe.nl"},"maintainers":[{"name":"techtribe","email":"opensource@techtribe.nl"}],"directories":{}},"0.7.0":{"name":"grunt-static-handlebars","description":"Compile your Handlebars templates into static html files.","version":"0.7.0","homepage":"https://github.com/techtribe/grunt-static-handlebars","author":{"name":"Joey van Dijk","email":"opensource@techtribe.nl","url":"https://github.com/Techtribe"},"repository":{"type":"git","url":"git://github.com/techtribe/grunt-static-handlebars.git"},"bugs":{"url":"https://github.com/techtribe/grunt-static-handlebars/issues"},"licenses":[{"type":"MIT","url":"https://github.com/techtribe/grunt-static-handlebars/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{"handlebars":">= 1","MD5":">=1.0"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","static","handlebars","html"],"readme":"# GRUNT-STATIC-HANDLEBARS\n\n> Compile your handlebars templates into static html files.\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1` which uses [Node.js](http://nodejs.org/download).\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-static-handlebars --save-dev\n```\n\nOne the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-static-handlebars');\n```\n\n## Documentation\n### Overview\nThis grunt-plugin enables you to separate context from (HTML)markup by using [Handlebars](http://handlebarsjs.com) templates. Any type of files (not just HTML) can be used, but its features are focused on providing tools to make the integration with grunt easy.\n\nA template can have a ```.json``` file to add context variables you will use inside your template. Due to the nature of static HTML, a template without the name of ```index.html``` will be put in a folder corresponding its name where the processed file will be named ```index.html```. So you will be able to link to that page by using ```www.yoursite.com/path``` so no additional .html extensions need to reside in your URL.\n\n### Usage\nIn your project's Gruntfile, add a section named `static_handlebars` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n  staticHandlebars: {\n    options: {\n      // Task-specific options go here.\n    },\n    your_target_name: {\n      // Target-specific file lists and/or options go here.\n    },\n  },\n})\n```\n\n### Options\nOptions can reside in the general definition of this plugin or inside any task-options to overrule or define the options to use with that (sub)task.\n\n#### partials\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `*` whatever you like (for example ```.hbt``` or ```.html```)\n\nA string or array value that resembles the (type of) files to use as [Handlebars](http://handlebarsjs.com)-partials.\n\n#### helpers\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.js`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-helpers.\n\n#### assets\nType: `Object`\n\nAn object to configure the use of ```{{staticHandlebarsFiles}}``` or your own helper to embed the creation of assets like ```js``` and ```css``` in an optimized way. This feature enables you to define the path inside ```.html``` files to concatenate them and copy them to a folder for post-processing (minify) or just in the right production folder.\n\n_Note: if you use this plugin for non-html files you can ignore this option as long as you don't use ```{{staticHandlebarsFiles}}``` in your Handlebars templates._\n\n##### Default value\n\n```js\n{\n\ttemplatesPath:'.',//optional\n\tsourcesPath:'.',\n\tassetsPath:'/',\n\tpackagedFilesPath:'.', //optional\n\tignoreHelper:false //optional\n}\n```\n\nwhere in ```.json``` files you can add\n\n```json\n{\n    \"extends\": [ \"base.json\" ],\n    \"targetPath\" : \"contact.html\",\n    \"files%add\": [\n        \"/css/homepage.css\",\n        \"/js/homepage.js\"\n    ],\n    \"title\":\"A new page title.\",\n    \"page\":{\n        \"title\":\"Welcome\",\n        \"content\":\"At our new test site.\"\n    },\n    \"footer\":\"Some contact information about how to get in touch with us.\"\n}\n```\nto use as input for the processing of files. This means that this Handlebars template: \n\n* use ```base.json``` as source for the ```files```-list\n* use extra files only for this template with ```files%add```\n* use extra context like title / page to use in your template as ```{{title}}``` and ```{{page.title}}```\n* use ```targetPath``` to adjust the name of the file being saved relative to the working directory.\n\n##### assets.templatePath (optional)\nType: `String`\nDefault value: `.`  \nAlready set but you can override the base path to find your base context-files that are used in ```.json``` as the ```extends:['base.json']``` mechanism to keep your ```files```-property in ```.json``` files small and in line with the desired base context to use.\n\n##### assets.sourcesPath\nType: `String`\nDefault value: `.`  \nDefine the path where your sources (so what comes before ```js/base.js```) originating from the ```Gruntfile.js``` directory.\n\n##### assets.assetsPath\nType: `String`\nDefault value: `/`  \nDefine the path which is used inside the processed ```.html``` files (like ```/js/base.js```).\n\n##### assets.packagedFilesPath (optional)\nType: `String`\nDefault value: `.`  \nDefine the path where all concatenated files will be put. These files are all combinations of (separate) ```js``` or ```css``` files. You can choose to put them in an alternate folder to minify (```grunt-contrib-uglify``` or ```grunt-contrib-cssmin```) or put them in the production folder.\n\n##### assets.ignoreHelper (optional)\nType: `Boolean`\nDefault value: `false`  \nIf you would like to overwrite the use of ```{{staticHandlebarsFiles}}``` inside your templates, reset to true and register your own helper with the ```staticHandlebarsFiles``` name.\n\n#### json\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.json`\n\nA string or array value that resembles the files to use as context-input (json). It will resemble the same amount of files as the total amount of templates inside this subtask (target).\n\n#### files\nType: `Object` or `Array`  \nDefault value: `''`  \nExtension: `*` whatever you like (for example ```.hbt``` or ```.html```)\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-templates.\n```js\n{'destinationFolder/file.html':'inputFolder/input.hbt'}\n```  \nor  \n```js\n{'destinationFolder/*.html':'inputFolder/*.hbt'}\n```  \nor\n```js\n{'destinationFolder/**/*.html':'inputFolder/**/*.hbt'}\n```  \nto render all [Handlebars](http://handlebarsjs.com) templates.\n\n## Examples\nSee the ```/test``` directory for examples how to use this plugin. \n\n```js\ngrunt.initConfig({\n  staticHandlebars: {\n    options: {\t\n\t   \tpartials:'',\n    \thelpers:''\n    },\n    simpleTarget: {\n        // Target-specific file lists and/or options go here.\n    \toptions:{\n    \t\tjson:''\n    \t},\n\t\tfiles:{'tmp/simple/*.html':'test/fixtures/homepage/*.hbt'}\n    },\n    complexTarget: {\n\t    options:{\n        \tassets:{\n            \tsourcesPath: 'test/assets', //used for JS/CSS files\n\t\t\t\tpackagedFilesPath: 'tmp/packages',\n\t\t\t\tassetsPath: '/'\n\t\t\t}\n\t\t},\n\t\tfiles:{'tmp/complext/**/*.html':'test/fixtures/complex/**/*.hbt'}\n    }\n  },\n})\n```\n\nSome remarks:\n* ```.hbt``` are [Handlebars](http://handlebarsjs.com)-templates but can be any extension (```.html```, ```.hbs```, etc)\n* ```.hbp``` are [Handlebars](http://handlebarsjs.com)-partials but can be any extension (```.html```, ```.hbs```, etc)\n* [Handlebars](http://handlebarsjs.com)-helpers are JS functions and therefore saved as ```.js``` files.\n* [Handlebars](http://handlebarsjs.com)-helpers can use:\n\t* ```js Handlebars.compile``` can be used in partials/helpers (like the frontend way)\n\t* ```js _``` can be used as ```lodash``` util class in your partials/helpers\n* ```.html``` files can also be referenced as \"files\" to use in your GruntFile\n* filenames can be connected by ```-```, ```+```,```_```\n* if [Handlebars](http://handlebarsjs.com)-templates have no markup (like ```{{```) it will copied as plaintext.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n0.6.0 - Rewrote plugin to enable \"extends\" mechanism as an option (not as default) + added examples + adjusted Gruntfile.js options definition + renamed options + fixed empty variables  \n0.5.0 - Added \"extends\" mechanism to limit the file-paths needed in the context-files (normally .json files) which means you have a built-in option to include JS/CSS/?-files in an optimized way inside your ```<head>```  \n0.4.3 - If no .json file is mentioned, the template context will be defaulted to {}  \n0.4.2 - Fixed the processing of static files without any [Handlebars](htt://handlebarsjs.com)  \n0.4.1 - Added grunt as global variable\n0.4.0 - Relative path rewrite to support ```js grunt.file.setBase()```  \n0.3.1 - Relative path bug fixed for [Handlebars](htt://handlebarsjs.com)-helpers  \n0.3.0 - Rewrite to support helpers that use partials + added more tests  \n0.2.0 - Added global Handlebars object + fixed partials-naming (+/-/_ added)  \n0.1.0 - Initial release.\n\n## TODO\n* (?) option to provide string and no json-files as partials/helpers\n* (?) cli-option\n* (?) add or ignore target.options.partials/helpers\n* (?) detect duplicate definitions of context &amp; helpers/partials\n* (?) use lowercase to detect wrong definitions of code or not useful\n* Add partials/helpers inside context files (see base.json for example)\n* ! More flexible targetPath paths (parent-directories)\n* ! use target-directory for targetPath > check destination for that?\n* Other filenames than index.html possible (export already done)\n* Provide single json/context to all files inside Gruntfile.js","readmeFilename":"README.md","_id":"grunt-static-handlebars@0.7.0","dist":{"shasum":"1cf9788c1c8477fc864e796ba2592fd88f6486f2","tarball":"https://registry.npmjs.org/grunt-static-handlebars/-/grunt-static-handlebars-0.7.0.tgz","integrity":"sha512-1gGllIr+X4Sl40KaZMMSAPdhlCE4AOonH7bQ499d9vbcDUpi41J/Zx4IpZ52O8RuemOFj1qH0sn0Q3of1Vob7g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCc7lDXqprXyD308w+CH9v2e8GDA5mXqCogoqTYOGo8LwIhAPyUSeM4Bb2wYzLjHEecJcLK72MZVAg3iqrQe/X9dukO"}]},"_from":".","_npmVersion":"1.2.23","_npmUser":{"name":"techtribe","email":"opensource@techtribe.nl"},"maintainers":[{"name":"techtribe","email":"opensource@techtribe.nl"}],"directories":{}},"0.7.1":{"name":"grunt-static-handlebars","description":"Compile your Handlebars templates into static html files.","version":"0.7.1","homepage":"https://github.com/techtribe/grunt-static-handlebars","author":{"name":"Joey van Dijk","email":"opensource@techtribe.nl","url":"https://github.com/Techtribe"},"repository":{"type":"git","url":"git://github.com/techtribe/grunt-static-handlebars.git"},"bugs":{"url":"https://github.com/techtribe/grunt-static-handlebars/issues"},"licenses":[{"type":"MIT","url":"https://github.com/techtribe/grunt-static-handlebars/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{"handlebars":">= 1","MD5":">=1.0"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","static","handlebars","html"],"readme":"# GRUNT-STATIC-HANDLEBARS\n\n> Compile your handlebars templates into static html files.\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1` which uses [Node.js](http://nodejs.org/download).\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-static-handlebars --save-dev\n```\n\nOne the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-static-handlebars');\n```\n\n## Documentation\n### Overview\nThis grunt-plugin enables you to separate context from (HTML)markup by using [Handlebars](http://handlebarsjs.com) templates. Any type of files (not just HTML) can be used, but its features are focused on providing tools to make the integration with grunt easy.\n\nA template can have a ```.json``` file to add context variables you will use inside your template. Due to the nature of static HTML, a template without the name of ```index.html``` will be put in a folder corresponding its name where the processed file will be named ```index.html```. So you will be able to link to that page by using ```www.yoursite.com/path``` so no additional .html extensions need to reside in your URL.\n\n### Usage\nIn your project's Gruntfile, add a section named `static_handlebars` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n  staticHandlebars: {\n    options: {\n      // Task-specific options go here.\n    },\n    your_target_name: {\n      // Target-specific file lists and/or options go here.\n    },\n  },\n})\n```\n\n### Options\nOptions can reside in the general definition of this plugin or inside any task-options to overrule or define the options to use with that (sub)task.\n\n#### assets\nType: `Object`\n\nAn object to configure the use of ```{{staticHandlebarsFiles}}``` or your own helper to embed the creation of assets like ```js``` and ```css``` in an optimized way. This feature enables you to define the path inside ```.html``` files to concatenate them and copy them to a folder for post-processing (minify) or just in the right production folder.\n\n_Note: if you use this plugin for non-html files you can ignore this option as long as you don't use ```{{staticHandlebarsFiles}}``` in your Handlebars templates._\n\n##### Default value\n\n```js\n{\n\ttemplatesPath:'.',//optional\n\tsourcesPath:'.',\n\tassetsPath:'/',\n\tpackagedFilesPath:'.', //optional\n\tignoreHelper:false, //optional\n\tpartialPath: './../partials', //optional\n\thelperPath: './../partials', //optional\n}\n```\n\nwhere in ```.json``` files you can add\n\n```json\n{\n    \"extends\": [ \"base.json\" ],\n    \"targetPath\" : \"contact.html\",\n    \"files%add\": [\n        \"/css/homepage.css\",\n        \"/js/homepage.js\"\n    ],\n    \"partials%add\": [],\n    \"helpers%add\": [],\n    \"title\":\"A new page title.\",\n    \"page\":{\n        \"title\":\"Welcome\",\n        \"content\":\"At our new test site.\"\n    },\n    \"footer\":\"Some contact information about how to get in touch with us.\"\n}\n```\nto use as input for the processing of files. This means that this Handlebars template: \n\n* use ```base.json``` as source for the ```files```-list\n* use extra files only for this template with ```files%add```\n* use extra context like title / page to use in your template as ```{{title}}``` and ```{{page.title}}```\n* use ```targetPath``` to adjust the name of the file being saved relative to the working directory.\n* ```%add``` is synonym to extending the properties ```files```,```partials```,```helpers```. You can also overwrite, but could introduce new issues due to expected results.\n* ```partials``` are the needed partials for this page. Use ```partialPath``` to define the source directory for these partials and the extension being used if they are not ```./../partials``` and ```.html```\n* ```helpers``` are the needed helpers for this page. Use ```helperPath``` to define the source directory for these helpers. The only extension allowed is ```.js```\n\n##### assets.templatePath (optional)\nType: `String`\nDefault value: `.`  \nAlready set but you can override the base path to find your base context-files that are used in ```.json``` as the ```extends:['base.json']``` mechanism to keep your ```files```-property in ```.json``` files small and in line with the desired base context to use.\n\n##### assets.sourcesPath\nType: `String`\nDefault value: `.`  \nDefine the path where your sources (so what comes before ```js/base.js```) originating from the ```Gruntfile.js``` directory.\n\n##### assets.assetsPath\nType: `String`\nDefault value: `/`  \nDefine the path which is used inside the processed ```.html``` files (like ```/js/base.js```).\n\n##### assets.packagedFilesPath (optional)\nType: `String`\nDefault value: `.`  \nDefine the path where all concatenated files will be put. These files are all combinations of (separate) ```js``` or ```css``` files. You can choose to put them in an alternate folder to minify (```grunt-contrib-uglify``` or ```grunt-contrib-cssmin```) or put them in the production folder.\n\n##### assets.partialPath (optional)\nType: `String`\nDefault value: `./../partials`  \nDefault directory where all partials are stored. By using ```custom/directory/*.hbp``` you can also define different extension is you wish to use. See ```partials``` property in your ```json``` context files for the file to use (without an extension).\n\n##### assets.helperPath (optional)\nType: `String`\nDefault value: `./../helpers`  \nDefault directory where all partials are stored. Only ```js``` files are used, so provide the default folder and all ```js``` files will be accessible in your ```json``` context files. (see ```helpers``` property)\n\n##### assets.ignoreHelper (optional)\nType: `Boolean`\nDefault value: `false`  \nIf you would like to overwrite the use of ```{{staticHandlebarsFiles}}``` inside your templates, reset to true and register your own helper with the ```staticHandlebarsFiles``` name.\n\n#### json\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.json`\n\nA string or array value that resembles the files to use as context-input (json). It will resemble the same amount of files as the total amount of templates inside this subtask (target).\n\n#### files\nType: `Object` or `Array`  \nDefault value: `''`  \nExtension: `*` whatever you like (for example ```.hbt``` or ```.html```)\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-templates.\n```js\n{'destinationFolder/file.html':'inputFolder/input.hbt'}\n```  \nor  \n```js\n{'destinationFolder/*.html':'inputFolder/*.hbt'}\n```  \nor\n```js\n{'destinationFolder/**/*.html':'inputFolder/**/*.hbt'}\n```  \nto render all [Handlebars](http://handlebarsjs.com) templates.\n\n## Examples\nSee the ```/test``` directory for examples how to use this plugin. \n\n```js\ngrunt.initConfig({\n  staticHandlebars: {\n    options: {\t\n\t   \tpartials:'',\n    \thelpers:''\n    },\n    simpleTarget: {\n        // Target-specific file lists and/or options go here.\n    \toptions:{\n    \t\tjson:''\n    \t},\n\t\tfiles:{'tmp/simple/*.html':'test/fixtures/homepage/*.hbt'}\n    },\n    complexTarget: {\n\t    options:{\n        \tassets:{\n            \tsourcesPath: 'test/assets', //used for JS/CSS files\n\t\t\t\tpackagedFilesPath: 'tmp/packages',\n\t\t\t\tassetsPath: '/'\n\t\t\t}\n\t\t},\n\t\tfiles:{'tmp/complext/**/*.html':'test/fixtures/complex/**/*.hbt'}\n    }\n  },\n})\n```\n\nSome remarks:\n* ```.hbt``` are [Handlebars](http://handlebarsjs.com)-templates but can be any extension (```.html```, ```.hbs```, etc)\n* ```.hbp``` are [Handlebars](http://handlebarsjs.com)-partials but can be any extension (```.html```, ```.hbs```, etc)\n* [Handlebars](http://handlebarsjs.com)-helpers are JS functions and therefore saved as ```.js``` files.\n* [Handlebars](http://handlebarsjs.com)-helpers can use:\n\t* ```js Handlebars.compile``` can be used in partials/helpers (like the frontend way)\n\t* ```js _``` can be used as ```lodash``` util class in your partials/helpers\n* ```.html``` files can also be referenced as \"files\" to use in your GruntFile\n* filenames can be connected by ```-```, ```+```,```_```\n* if [Handlebars](http://handlebarsjs.com)-templates have no markup (like ```{{```) it will copied as plaintext.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n0.7.1 - Cleanup of documentation + more generic approach to partials/helpers definition\n0.7.0 - Rewrote plugin to support more advanced usage of partials/helpers per page.\n0.6.0 - Rewrote plugin to enable \"extends\" mechanism as an option (not as default) + added examples + adjusted Gruntfile.js options definition + renamed options + fixed empty variables  \n0.5.0 - Added \"extends\" mechanism to limit the file-paths needed in the context-files (normally .json files) which means you have a built-in option to include JS/CSS/?-files in an optimized way inside your ```<head>```  \n0.4.3 - If no .json file is mentioned, the template context will be defaulted to {}  \n0.4.2 - Fixed the processing of static files without any [Handlebars](htt://handlebarsjs.com)  \n0.4.1 - Added grunt as global variable\n0.4.0 - Relative path rewrite to support ```js grunt.file.setBase()```  \n0.3.1 - Relative path bug fixed for [Handlebars](htt://handlebarsjs.com)-helpers  \n0.3.0 - Rewrite to support helpers that use partials + added more tests  \n0.2.0 - Added global Handlebars object + fixed partials-naming (+/-/_ added)  \n0.1.0 - Initial release.\n\n## TODO\n* (?) option to provide string and no json-files as partials/helpers\n* (?) cli-option\n* (?) add or ignore target.options.partials/helpers\n* (?) detect duplicate definitions of context &amp; helpers/partials\n* (?) use lowercase to detect wrong definitions of code or not useful\n* ! use target-directory for targetPath > check destination for that?\n* Provide single json/context to all files inside Gruntfile.js","readmeFilename":"README.md","_id":"grunt-static-handlebars@0.7.1","dist":{"shasum":"ab934d8ceec0d9ec5780cd3f9865535e86c4101f","tarball":"https://registry.npmjs.org/grunt-static-handlebars/-/grunt-static-handlebars-0.7.1.tgz","integrity":"sha512-UD4SGvbbBa97+YV9lzxyXJYyKVprOI0ToxvD3YV2DWjhyV9SRxAHZLSrCik1MCe1tK0C1oedXU8lHTk1fUSt0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFUs+lf7ZTZuLXIU+o/g+jhCpcFhkQPwKiQyFqXvXnnfAiEAohxdLAp1rHOdGMFl7t9DgBe5aR9EgA6aLvSf/G53N/w="}]},"_from":".","_npmVersion":"1.2.23","_npmUser":{"name":"techtribe","email":"opensource@techtribe.nl"},"maintainers":[{"name":"techtribe","email":"opensource@techtribe.nl"}],"directories":{}},"0.8.1":{"name":"grunt-static-handlebars","description":"Compile your Handlebars templates into static html files.","version":"0.8.1","homepage":"https://github.com/techtribe/grunt-static-handlebars","author":{"name":"Joey van Dijk","email":"opensource@techtribe.nl","url":"https://github.com/Techtribe"},"repository":{"type":"git","url":"git://github.com/techtribe/grunt-static-handlebars.git"},"bugs":{"url":"https://github.com/techtribe/grunt-static-handlebars/issues"},"licenses":[{"type":"MIT","url":"https://github.com/techtribe/grunt-static-handlebars/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{"handlebars":">= 1","MD5":">=1.0"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","static","handlebars","html"],"readme":"# GRUNT-STATIC-HANDLEBARS\n\n> Compile your handlebars templates into static html files.\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1` which uses [Node.js](http://nodejs.org/download).\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-static-handlebars --save-dev\n```\n\nOne the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-static-handlebars');\n```\n\n## Documentation\n### Overview\nThis grunt-plugin enables you to separate context from (HTML)markup by using [Handlebars](http://handlebarsjs.com) templates. Any type of files (not just HTML) can be used, but its features are focused on providing tools to make the integration with grunt easy.\n\nA template can have a ```.json``` file to add context variables you will use inside your template. Due to the nature of static HTML, a template without the name of ```index.html``` will be put in a folder corresponding its name where the processed file will be named ```index.html```. So you will be able to link to that page by using ```www.yoursite.com/path``` so no additional .html extensions need to reside in your URL.\n\n### Usage\nIn your project's Gruntfile, add a section named `static_handlebars` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n  staticHandlebars: {\n    options: {\n      // Task-specific options go here.\n    },\n    your_target_name: {\n      // Target-specific file lists and/or options go here.\n    },\n  },\n})\n```\n\n### Options\nOptions can reside in the general definition of this plugin or inside any task-options to overrule or define the options to use with that (sub)task.\n\n#### assets\nType: `Object`\n\nAn object to configure the use of ```{{staticHandlebarsFiles}}``` or your own helper to embed the creation of assets like ```js``` and ```css``` in an optimized way. This feature enables you to define the path inside ```.html``` files to concatenate them and copy them to a folder for post-processing (minify) or just in the right production folder.\n\n_Note: if you use this plugin for non-html files you can ignore this option as long as you don't use ```{{staticHandlebarsFiles}}``` in your Handlebars templates._\n\n##### Default value\n\n```js\n{\n\ttemplatesPath:'.',//optional\n\tsourcesPath:'.',\n\tassetsPath:'/',\n\tpackagedFilesPath:'.', //optional\n\tignoreHelper:false, //optional\n\tpartialPath: './../partials', //optional\n\thelperPath: './../partials', //optional\n}\n```\n\nwhere in ```.json``` files you can add\n\n```json\n{\n    \"extends\": [ \"base.json\" ],\n    \"targetPath\" : \"contact.html\",\n    \"files%add\": [\n        \"/css/homepage.css\",\n        \"/js/homepage.js\"\n    ],\n    \"partials%add\": [],\n    \"helpers%add\": [],\n    \"title\":\"A new page title.\",\n    \"page\":{\n        \"title\":\"Welcome\",\n        \"content\":\"At our new test site.\"\n    },\n    \"footer\":\"Some contact information about how to get in touch with us.\"\n}\n```\nto use as input for the processing of files. This means that this Handlebars template: \n\n* use ```base.json``` as source for the ```files```-list\n* use extra files only for this template with ```files%add```\n* use extra context like title / page to use in your template as ```{{title}}``` and ```{{page.title}}```\n* use ```targetPath``` to adjust the name of the file being saved relative to the working directory.\n* ```%add``` is synonym to extending the properties ```files```,```partials```,```helpers```. You can also overwrite, but could introduce new issues due to expected results.\n* ```partials``` are the needed partials for this page. Use ```partialPath``` to define the source directory for these partials and the extension being used if they are not ```./../partials``` and ```.html```\n* ```helpers``` are the needed helpers for this page. Use ```helperPath``` to define the source directory for these helpers. The only extension allowed is ```.js```\n\n##### assets.templatePath (optional)\nType: `String`  \nDefault value: `.`  \nAlready set but you can override the base path to find your base context-files that are used in ```.json``` as the ```extends:['base.json']``` mechanism to keep your ```files```-property in ```.json``` files small and in line with the desired base context to use.\n\n##### assets.sourcesPath\nType: `String`  \nDefault value: `.`  \nDefine the path where your sources (so what comes before ```js/base.js```) originating from the ```Gruntfile.js``` directory.\n\n##### assets.assetsPath\nType: `String`  \nDefault value: `/`  \nDefine the path which is used inside the processed ```.html``` files (like ```/js/base.js```).\n\n##### assets.packagedFilesPath (optional)\nType: `String`  \nDefault value: `.`  \nDefine the path where all concatenated files will be put. These files are all combinations of (separate) ```js``` or ```css``` files. You can choose to put them in an alternate folder to minify (```grunt-contrib-uglify``` or ```grunt-contrib-cssmin```) or put them in the production folder.\n\n##### assets.partialPath (optional)\nType: `String`  \nDefault value: `./../partials`  \nDefault directory where all partials are stored. By using ```custom/directory/*.hbp``` you can also define different extension is you wish to use. See ```partials``` property in your ```json``` context files for the file to use (without an extension).\n\n##### assets.helperPath (optional)\nType: `String`  \nDefault value: `./../helpers`  \nDefault directory where all partials are stored. Only ```js``` files are used, so provide the default folder and all ```js``` files will be accessible in your ```json``` context files. (see ```helpers``` property)\n\n##### assets.ignoreHelper (optional)\nType: `Boolean`  \nDefault value: `false`  \nIf you would like to overwrite the use of ```{{staticHandlebarsFiles}}``` inside your templates, reset to true and register your own helper with the ```staticHandlebarsFiles``` name.\n\n#### json (optional)\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.json`  \nA string or array value that resembles the files to use as context-input (json). It will resemble the same amount of files as the total amount of templates inside this subtask (target).\n\n#### sourceView (optional)\nType: `Boolean`  \nDefault value: `false`  \nA Boolean to define if the `sourcesPath` can be used as root folder for Nginx / Apache for a no-build environment, where you can debug HTML/CSS changes without the need of a `build` task.  \n\nSee `test/fixtures/sourceView` and `Gruntfile.js` for an example how to use. \n\n_Note: To install the needed client-side scripts to support this feature, it is needed to execute the plugin once._\n\n#### files\nType: `Object` or `Array`  \nDefault value: `''`  \nExtension: `*` whatever you like (for example ```.hbt``` or ```.html```)\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-templates.\n```js\n{'destinationFolder/file.html':'inputFolder/input.hbt'}\n```  \nor  \n```js\n{'destinationFolder/*.html':'inputFolder/*.hbt'}\n```  \nor\n```js\n{'destinationFolder/**/*.html':'inputFolder/**/*.hbt'}\n```  \nto render all [Handlebars](http://handlebarsjs.com) templates.\n\n## Examples\nSee the ```/test``` directory for examples how to use this plugin. \n\n```js\ngrunt.initConfig({\n  staticHandlebars: {\n    options: {\t\n\t   \tpartials:'',\n    \thelpers:''\n    },\n    simpleTarget: {\n        // Target-specific file lists and/or options go here.\n    \toptions:{\n    \t\tjson:''\n    \t},\n\t\tfiles:{'tmp/simple/*.html':'test/fixtures/homepage/*.hbt'}\n    },\n    complexTarget: {\n\t    options:{\n        \tassets:{\n            \tsourcesPath: 'test/assets', //used for JS/CSS files\n\t\t\t\tpackagedFilesPath: 'tmp/packages',\n\t\t\t\tassetsPath: '/'\n\t\t\t}\n\t\t},\n\t\tfiles:{'tmp/complext/**/*.html':'test/fixtures/complex/**/*.hbt'}\n    }\n  },\n})\n```\n\nSome remarks:\n* ```.hbt``` are [Handlebars](http://handlebarsjs.com)-templates but can be any extension (```.html```, ```.hbs```, etc)\n* ```.hbp``` are [Handlebars](http://handlebarsjs.com)-partials but can be any extension (```.html```, ```.hbs```, etc)\n* [Handlebars](http://handlebarsjs.com)-helpers are JS functions and therefore saved as ```.js``` files.\n* [Handlebars](http://handlebarsjs.com)-helpers can use:\n\t* ```js Handlebars.compile``` can be used in partials/helpers (like the frontend way)\n\t* ```js _``` can be used as ```lodash``` util class in your partials/helpers\n* ```.html``` files can also be referenced as \"files\" to use in your GruntFile\n* filenames can be connected by ```-```, ```+```,```_```\n* if [Handlebars](http://handlebarsjs.com)-templates have no markup (like ```{{```) it will copied as plaintext.\n* In any of the helpers you will need to replace the global `Handlebars` reference into `this.handlebarsInstance` to ensure the helper can parse Strings and use the needed functions.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n0.8.1 - Source-view feature added + example added  \n0.7.1 - Cleanup of documentation + more generic approach to partials/helpers definition  \n0.7.0 - Rewrote plugin to support more advanced usage of partials/helpers per page.  \n0.6.0 - Rewrote plugin to enable \"extends\" mechanism as an option (not as default) + added examples + adjusted Gruntfile.js options definition + renamed options + fixed empty variables  \n0.5.0 - Added \"extends\" mechanism to limit the file-paths needed in the context-files (normally .json files) which means you have a built-in option to include JS/CSS/?-files in an optimized way inside your ```<head>```  \n0.4.3 - If no .json file is mentioned, the template context will be defaulted to {}  \n0.4.2 - Fixed the processing of static files without any [Handlebars](htt://handlebarsjs.com)  \n0.4.1 - Added grunt as global variable\n0.4.0 - Relative path rewrite to support ```js grunt.file.setBase()```  \n0.3.1 - Relative path bug fixed for [Handlebars](htt://handlebarsjs.com)-helpers  \n0.3.0 - Rewrite to support helpers that use partials + added more tests  \n0.2.0 - Added global Handlebars object + fixed partials-naming (+/-/_ added)  \n0.1.0 - Initial release.\n\n## TODO\n* (?) option to provide string and no json-files as partials/helpers\n* (?) cli-option\n* (?) add or ignore target.options.partials/helpers\n* (?) detect duplicate definitions of context &amp; helpers/partials\n* (?) use lowercase to detect wrong definitions of code or not useful\n* ! use target-directory for targetPath > check destination for that?\n* Provide single json/context to all files inside Gruntfile.js","readmeFilename":"README.md","_id":"grunt-static-handlebars@0.8.1","dist":{"shasum":"fc54463d1e8904a370e96b4483ec3b461d1588a9","tarball":"https://registry.npmjs.org/grunt-static-handlebars/-/grunt-static-handlebars-0.8.1.tgz","integrity":"sha512-deLU4yDAB/AcsORqykbCjZl8nezUrkQN4pSu/tYYUfuYPIadkYCAfwwAk0CUx6fKXoK0cnn18q2RV5DuNOtssg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAxdojS/nLHbzaEgu0yAWKlDOe11rE5gnp9BflHL65dlAiEAmEkquu59u/bqVHZ4K5Z9YqrL3I8s9X3lRAFcCCJiNQ8="}]},"_from":".","_npmVersion":"1.2.24","_npmUser":{"name":"techtribe","email":"opensource@techtribe.nl"},"maintainers":[{"name":"techtribe","email":"opensource@techtribe.nl"}],"directories":{}},"0.9.0":{"name":"grunt-static-handlebars","description":"Compile your Handlebars templates into static html files.","version":"0.9.0","homepage":"https://github.com/techtribe/grunt-static-handlebars","author":{"name":"Joey van Dijk","email":"opensource@techtribe.nl","url":"https://github.com/Techtribe"},"repository":{"type":"git","url":"git://github.com/techtribe/grunt-static-handlebars.git"},"bugs":{"url":"https://github.com/techtribe/grunt-static-handlebars/issues"},"licenses":[{"type":"MIT","url":"https://github.com/techtribe/grunt-static-handlebars/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{"handlebars":">= 1","MD5":">=1.0"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","static","handlebars","html"],"readme":"# GRUNT-STATIC-HANDLEBARS\n\n> Compile your handlebars templates into static html files.\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1` which uses [Node.js](http://nodejs.org/download).\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-static-handlebars --save-dev\n```\n\nOne the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-static-handlebars');\n```\n\n## Documentation\n### Overview\nThis grunt-plugin enables you to separate context from (HTML)markup by using [Handlebars](http://handlebarsjs.com) templates. Any type of files (not just HTML) can be used, but its features are focused on providing tools to make the integration with grunt easy.\n\nA template can have a ```.json``` file to add context variables you will use inside your template. Due to the nature of static HTML, a template without the name of ```index.html``` will be put in a folder corresponding its name where the processed file will be named ```index.html```. So you will be able to link to that page by using ```www.yoursite.com/path``` so no additional .html extensions need to reside in your URL.\n\n### Usage\nIn your project's Gruntfile, add a section named `static_handlebars` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n  staticHandlebars: {\n    options: {\n      // Task-specific options go here.\n    },\n    your_target_name: {\n      // Target-specific file lists and/or options go here.\n    },\n  },\n})\n```\n\nThe provided \"files\"-directory will be used as a templates directory. See below for more information how to define your templates directory.\n\n### Options\nOptions can reside in the general definition of this plugin or inside any task-options to overrule or define the options to use with that (sub)task.\n\n##### Default value\n\n```js\noptions:{\n\tassets:{\n\t\tfilesRoot:'.', //directory where your files reside\n\t\tpackagedFilesPath:'.', //optional\n\t\tpartialExtension: 'html', //optional\n\t\thelperExtension: 'js', //optional\n\t\tignoreHelper:false, //optional\n\t},\n\tjson: '{}', //optional\n\tsourceView:true //optional\n}\n```\n\n#### assets\nType: `Object`\n\nAn object to configure the use of ```{{staticHandlebarsFiles}}``` or your own helper to embed the creation of assets like ```js``` and ```css``` in an optimized way. This feature enables you to define the path inside ```.html``` files to concatenate them and copy them to a folder for post-processing (minify) or just in the right production folder.\n\n_Note: if you use this plugin for non-html files you can ignore this option as long as you don't use ```{{staticHandlebarsFiles}}``` in your Handlebars templates._\n\n##### assets.filesRoot\nType: `String`  \nDefault value: `.`  \nDefine the path where your sources (so what comes before ```js/base.js```) originating from the ```Gruntfile.js``` directory.\n\n##### assets.packagedFilesPath (optional)\nType: `String`  \nDefault value: `.`  \nDefine the path where all concatenated files will be put. These files are all combinations of (separate) ```js``` or ```css``` files. You can choose to put them in an alternate folder to minify (```grunt-contrib-uglify``` or ```grunt-contrib-cssmin```) or put them in the production folder.\n\n##### assets.ignoreHelper (optional)\nType: `Boolean`  \nDefault value: `false`  \nIf you would like to overwrite the use of ```{{staticHandlebarsFiles}}``` inside your templates, reset to true and register your own helper with the ```staticHandlebarsFiles``` name.\n\n#### json (optional)\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.json`  \nA string or array value that resembles the files to use as context-input (json). It will resemble the same amount of files as the total amount of templates inside this subtask (target).\n\n#### sourceView (optional)\nType: `Boolean`  \nDefault value: `false`  \nA Boolean to define if the `filesRoot` can be used as root folder for Nginx / Apache for a no-build environment, where you can debug HTML/CSS changes without the need of a `build` task.\n\nSee `test/fixtures/sourceView` and `Gruntfile.js` for an example how to use. \n\n_Note: To install the needed client-side scripts to support this feature, it is needed to execute the plugin once._\n\n#### files\nType: `Object` or `Array`  \nDefault value: `''`  \nExtension: `*` whatever you like (for example ```.hbt``` or ```.html```)\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-templates.\n```js\n{'destinationFolder/file.html':'inputFolder/input.hbt'}\n```  \nor  \n```js\n{'destinationFolder/*.html':'inputFolder/*.hbt'}\n```  \nor\n```js\n{'destinationFolder/**/*.html':'inputFolder/**/*.hbt'}\n```  \nto render all [Handlebars](http://handlebarsjs.com) templates.\n\n## Examples\nSee the ```/test``` directory for examples how to use this plugin. \n\n```js\ngrunt.initConfig({\n  staticHandlebars: {\n    options: {\t\n\t   \tpartials:'',\n    \thelpers:''\n    },\n    simpleTarget: {\n        // Target-specific file lists and/or options go here.\n    \toptions:{\n    \t\tjson:''\n    \t},\n\t\tfiles:{'tmp/simple/*.html':'test/fixtures/homepage/*.hbt'}\n    },\n    complexTarget: {\n\t    options:{\n        \tassets:{\n            \tfilesRoot: 'test/assets', //used for JS/CSS files\n\t\t\t\tpackagedFilesPath: 'tmp/packages',\n\t\t\t}\n\t\t},\n\t\tfiles:{'tmp/complext/**/*.html':'test/fixtures/complex/**/*.hbt'}\n    }\n  },\n})\n```\n\nSome remarks:\n* if [Handlebars](http://handlebarsjs.com)-templates have no markup (like ```{{```) it will copied as plaintext.\n* In any of the helpers you will need to replace the global `Handlebars` reference into `this.handlebarsInstance` to ensure the helper can parse Strings and use the needed functions.\n\n### Context\nEvery Handlebars template need a context, this can be default ```js {}``` but also extended with more smart definitions.\n\n#### Example\n\n```json\n{\n    \"extends\": [ \"base.json\" ],\n    \"targetPath\" : \"contact.html\",\n    \"assetsUrlPrefix\": \"/\"\n    \"files%add\": [\n        \"/css/homepage.css\",\n        \"/js/homepage.js\"\n    ],\n    \"partials%add\": [],\n    \"helpers%add\": [],\n    \"title\":\"A new page title.\",\n    \"page\":{\n        \"title\":\"Welcome\",\n        \"content\":\"At our new test site.\"\n    },\n    \"footer\":\"Some contact information about how to get in touch with us.\"\n}\n```\n\n#### extends\nUse ```/base.json``` in your templates-directory (which you provide to grunt) to enable a default base-context-configuration that you can extend/overwrite per template.  \n```extends:['base.json','other.json']``` or ```extends:'base.json'``` use the provided files as default context. Every other property defined in a ```json```-file per template can add or overwrite properties in this context.\n\n#### targetPath\nAdjust the name of the file being saved relative to the working directory.\n\n#### assetsUrlPrefix\nAdjust the default URL prefix of ```/``` which will be used with all the files that are referenced with ```staticHandlebarsFiles``` helper. With this property you can move the files in a directory deeper (use case: Wordpress / CMS) like ```/assets```.\n\n#### files (base.json)\nAll the necessary files to add (packaged) inside in the ```html <head/>``` rendered html file.\n\n#### partials (base.json)\nAll the necessary partials to use to render the HTML.\n\n#### helpers (base.json)\nAll the necessary helpers to use to render the HTML.\n\n#### helpers%add / partails%add / files%add\nExtend the ```json base.json``` file with additional partials, helpers and/or files for only this specific Handlebars template.\n\n#### xxx\nUse any properties that you like to add onto the context-object that will be used to render your Handlebars template. For example ```title``` can be defined inside the ```json``` file matching the filename of the template. Inside the template you will find ```{{title}}``` to position that value correctly in the ```html```. See [Handlebars](http://handlebarsjs.com) for more information about nesting context (properties).\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n0.9.0 - More restricted approach to streamline all options so it will also work in the sourceView + documentation updated\n0.8.1 - Source-view feature added + example added  \n0.7.1 - Cleanup of documentation + more generic approach to partials/helpers definition  \n0.7.0 - Rewrote plugin to support more advanced usage of partials/helpers per page.  \n0.6.0 - Rewrote plugin to enable \"extends\" mechanism as an option (not as default) + added examples + adjusted Gruntfile.js options definition + renamed options + fixed empty variables  \n0.5.0 - Added \"extends\" mechanism to limit the file-paths needed in the context-files (normally .json files) which means you have a built-in option to include JS/CSS/?-files in an optimized way inside your ```<head>```  \n0.4.3 - If no .json file is mentioned, the template context will be defaulted to {}  \n0.4.2 - Fixed the processing of static files without any [Handlebars](htt://handlebarsjs.com)  \n0.4.1 - Added grunt as global variable\n0.4.0 - Relative path rewrite to support ```js grunt.file.setBase()```  \n0.3.1 - Relative path bug fixed for [Handlebars](htt://handlebarsjs.com)-helpers  \n0.3.0 - Rewrite to support helpers that use partials + added more tests  \n0.2.0 - Added global Handlebars object + fixed partials-naming (+/-/_ added)  \n0.1.0 - Initial release.\n\n## TODO\n* (?) option to provide string and no json-files as partials/helpers\n* (?) cli-option\n* (?) detect duplicate definitions of context &amp; helpers/partials\n* (?) use lowercase to detect wrong definitions of code or not useful?\n* ! use target-directory for targetPath > check destination for that?\n* Provide single json/context to all files inside Gruntfile.js","readmeFilename":"README.md","_id":"grunt-static-handlebars@0.9.0","dist":{"shasum":"e1ecf5ae500ead3149f15c62372bcaf4d472e6b3","tarball":"https://registry.npmjs.org/grunt-static-handlebars/-/grunt-static-handlebars-0.9.0.tgz","integrity":"sha512-c46EDjl5f2g5dWIE9ehsKvlT+fP1lfAFqPDpf8ulYeWCpVDlPEa0VPNXnsbp/Cd+7XsMQbNbepQ4CIXfL6p+JQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmCc958KKSijmnzPaUb6zbJYVa+fNnhIbO2K2dVD4ZtgIhAKZQ+YnL40XSbmaoJ/X/w0RpK3CiAF6IjaupsASN3ecL"}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"techtribe","email":"opensource@techtribe.nl"},"maintainers":[{"name":"techtribe","email":"opensource@techtribe.nl"}],"directories":{}}},"readme":"# STATIC-HANDLEBARS\n\n> Compile your handlebars templates into static html files.\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1` which uses [Node.js](http://nodejs.org/download).\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install static-handlebars --save-dev\n```\n\nOne the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('static-handlebars');\n```\n\n## Documentation\n\n### Overview\nIn your project's Gruntfile, add a section named `static_handlebars` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n  static_handlebars: {\n    options: {\n      // Task-specific options go here.\n    },\n    your_target: {\n      // Target-specific file lists and/or options go here.\n    },\n  },\n})\n```\n\n### Options\n\n#### options.partials\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.hbp`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-partials.\n\n#### options.helpers\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.js`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-helpers.\n\n#### target\n\n```js\ngrunt.initConfig({\n  static_handlebars: {\n    options: {\n    \tpartials:'',\n    \thelpers:''\n    },\n    target: {\n        // Target-specific file lists and/or options go here.\n    \toptions:{\n    \t\tjson:'',\n    \t\tpartials:[],\n    \t\thelpers:[]\n    \t},\n    \tfiles:{}\n    },\n  },\n})\n```\n\n#### target.options.json\n\nType: `String` or `Array`  \nDefault value: `''`  \nExtension: `.json`\n\nA string or array value that resembles the files to use as context-input (json).\n\n#### target.options.partials\n\nType: `Array`  \nDefault value: `options.partials`\n\nUse this option to overrule/ignore the global partials variable during this specific target.\n\n#### target.options.helpers\n\nType: `Array`  \nDefault value: `options.helpers`\n\nUse this option to overrule/ignore the global helpers variable during this specific target.\n\n#### target.files\n\nType: `Object` or `Array`  \nDefault value: `''`  \nExtension: `.hbt` or `.html`\n\nA string or array value that resembles the files to use as [Handlebars](http://handlebarsjs.com)-templates.\n\n```js\n{'destinationFolder/file.html':'inputFolder/input.hbt'}\n```  \nor  \n```js\n{'destinationFolder/*.html':'inputFolder/*.hbs'}\n```  \nto render all [Handlebars](http://handlebarsjs.com) templates.\n\n## Examples\n\nSee the ```/test``` directory for examples how to use this. Some remarks:\n\n* ```.hbt``` are [Handlebars](http://handlebarsjs.com)-templates\n* ```.hbp``` are [Handlebars](http://handlebarsjs.com)-partials\n* [Handlebars](http://handlebarsjs.com)-helpers are JS functions and therefore saved as ```.js``` files.\n* [Handlebars](http://handlebarsjs.com)-helpers have 1 difference with browser-based versions:\n\t* ```js this.Handlebars.compile``` can be used while ```js Handlebars.compile``` is not available due to scoping. (see TODO)\n* ```.html``` files can also be referenced as \"files\" to use in your GruntFile\n* if [Handlebars](http://handlebarsjs.com)-templates have no markup (like ```{{```) it will copied as plaintext.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n0.1.0 - Initial release.\n\n## TODO\n* fix Handlerbars-global, now this.Handlebars is needed inside Handlebars-helpers\n* (?) Handlebars inline declaration\n* (?) option to provide string and no json-file?!\n* (?) cli-option\n* A general json file as default context/data\n* Add \"-\" to partials, possible? what kind of restrictions exist?","maintainers":[{"email":"npm@npmjs.com","name":"npm"}],"time":{"modified":"2022-06-18T16:02:14.189Z","created":"2013-05-05T21:03:29.945Z","0.1.0":"2013-05-05T21:03:34.249Z","0.2.0":"2013-05-06T08:00:15.571Z","0.3.0":"2013-05-06T20:09:08.020Z","0.3.1":"2013-05-06T20:24:28.329Z","0.4.0":"2013-05-07T11:01:34.647Z","0.4.1":"2013-05-08T10:06:07.790Z","0.4.2":"2013-05-08T12:02:38.998Z","0.4.3":"2013-05-10T06:13:04.420Z","0.5.0":"2013-05-17T14:44:37.595Z","0.6.0":"2013-05-21T08:34:32.154Z","0.7.0":"2013-05-29T08:19:24.981Z","0.7.1":"2013-05-29T14:32:30.915Z","0.8.0":"2013-06-03T11:56:09.515Z","0.8.1":"2013-06-04T06:52:16.787Z","0.8.5":"2013-06-19T14:53:39.051Z","0.8.7":"2013-06-20T07:10:24.145Z","0.9.0":"2013-06-20T07:51:29.448Z"},"author":{"name":"Joey van Dijk","email":"opensource@techtribe.nl","url":"https://github.com/Techtribe"},"repository":{"type":"git","url":"git://github.com/techtribe/grunt-static-handlebars.git"},"users":{"paintedbicycle":true}}