Skip to content

helpers/handlebars-helper-repeat

Repository files navigation

handlebars-helper-repeat NPM version NPM monthly downloads NPM total downloads Linux Build Status

Handlebars block helper for repeating whatever is inside the block n times.

Please consider following this project's author, Jon Schlinkert, and consider starring the project to show your ❤️ and support.

Install

Install with npm:

$ npm install --save handlebars-helper-repeat

If you find a bug or have a feature request, please create an issue.

Usage

const repeat = require('handlebars-helper-repeat');
handlebars.registerHelper('repeat', repeat);

Register with handlebars

const handlebars = require('handlebars');

// 2. register the helper, name it whatever you want
handlebars.registerHelper('repeat', require('handlebars-helper-repeat'));

// 3. register some partials
handlebars.registerPartial('button', '<button>{{text}}</button>');

// 4. use in templates
const fn = handlebars.compile('{{#repeat 2}}{{> button }}{{/repeat}}');

console.log(fn({text: 'Click me!'}));
//=> '<button>Click me!</button><button>Click me!</button>'

Usage Examples

Private variables

A few private variables are exposed to blocks:

  • count the total number of blocks being generated
  • index the index of the current block
  • start the start number to use instead of zero. Basically index + start

Example:

{{#repeat count=2 start=17}}
  {{> button }}<span>{{@index}}</span>
{{else}}
  Nothing :(
{{/repeat}}

Results in something like:

<button>Click me!</button><span>17</span>
<button>Click me!</button><span>18</span>

Index

Output the index of the current block:

{{#repeat 2}}
<div id="{{@index}}"> {{> button }} </div>
{{/repeat}}

Results in something like:

<div id="0"> <button>Click me</button> </div>
<div id="1"> <button>Click me</button> </div>

About

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Running Tests

Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:

$ npm install && npm test
Building docs

(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)

To generate the readme, run the following command:

$ npm install -g verbose/verb#dev verb-generate-readme && verb

Related projects

You might also be interested in these projects:

Author

Jon Schlinkert

License

Copyright © 2018, Jon Schlinkert. Released under the MIT License.


This file was generated by verb-generate-readme, v0.6.0, on March 23, 2018.