
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
handlebars-helper-repeat
Advanced tools
Handlebars block helper for repeating whatever is inside the block _n_ times.
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 :heart: and support.
Install with npm:
$ npm install --save handlebars-helper-repeat
If you find a bug or have a feature request, please create an issue.
const repeat = require('handlebars-helper-repeat');
handlebars.registerHelper('repeat', repeat);
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>'
Private variables
A few private variables are exposed to blocks:
count the total number of blocks being generatedindex the index of the current blockstart the start number to use instead of zero. Basically index + startExample:
{{#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>
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
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
(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
You might also be interested in these projects:
Jon Schlinkert
Copyright © 2018, Jon Schlinkert. Released under the MIT License.
This file was generated by verb-generate-readme, v0.6.0, on March 23, 2018.
FAQs
Handlebars block helper for repeating whatever is inside the block _n_ times.
We found that handlebars-helper-repeat demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.