GithubHelp home page GithubHelp logo

remixz / handlebars-helpers Goto Github PK

View Code? Open in Web Editor NEW

This project forked from diy/handlebars-helpers

0.0 3.0 0.0 114 KB

Collection of generic handlebars helpers.

License: MIT License

JavaScript 99.27% Shell 0.73%

handlebars-helpers's Introduction

Build Status

diy-handlebars-helpers

Collection of generic handlebars helpers.

Installation

npm install diy-handlebars-helpers

Basic Use

var helpers = require('diy-handlebars-helpers');
helpers(); // returns a dictionary of helpers { name: function () {} }

Registering helpers w/ handlebars

var hbs = require('handlebars-runtime');
var _   = require('lodash');

_.extend(hbs.helpers, require('diy-handlebars-helpers')());

Testing

npm test

Helpers

abbr-count

{{abbr-count 4000}} // 4k+

captialize

{{capitalize 'hey dude'}} // Hey dude

chr-gt

{{chr-gt 'hey dude' 3}}
    // WOO! string is greater than 3
{{else}}
    // string is not longer than 3
{{/chr-gt}}

chr-lt

{{chr-lt 'hey dude' 3}}
    // string is less than 3
{{else}}
    // WOO! string is not less than 3
{{/chr-lt}}

each-key

{{#each-key object}}
Key: {{this.key}} Value: {{this.value}}
{{/each-key}}

each-limit

{{#each-limit items 3}}
    // will only iterate 3 times even if items is longer
{{/each-limit}}

each-reverse

{{#each-reverse items}}
    // iterating backwards!
{{/each-reverse}}

either

{{either false true false}}
    // at least one value was true
{{else}}
    // none were true
{{/either}}

encodeURIComponent

{{encodeURIComponent exactlyWhatYouThink}}

eq

{{#eq val1 val2}}
    // absolute comparision was true ===
{{else}}
    // here not so much
{{/eq}}

firstof

{{firstof false false 'real value' false}} // "real value" great for picking default text for empty variables

if-gt

{{#if-gt 10 5}}
    // of course 10 is greater than 5
{{else}}
    // this wouldn't execute
{{/if-gt}}

if-lt

{{#if-lt 5 10}}
    // of course 5 is less than 10
{{else}}
    // this wouldn't execute
{{/if-lt}}

indefinite-article

{{indefinite-article 'apple'}} // an
{{indefinite-article 'pineapple'}} // a

input-select

{{{input-select "month" options "05"}}} // builds <select name="month">...</select> an

options should be a multi-dimentional array: [['val1', 'text1'], ['val2', 'text2']]. If no text is provided, the value will be used for the option text.

The third optional argument is the default value. (will get the selected attribute.)

iter

{{#iter items}}
    {{i}} //index
    {{iPlus1}} // index + 1
{{/iter}}

join

{{join array ","}} // "item1, item2"

neither

{{neither false false false}}
    // all must be false for this to execute
{{else}}
    // at least one was true
{{/neither}}

not-eq

{{#not-eq val1 val2}}
    // absolute not comparision was true !==
{{else}}
    // here not so much
{{/not-eq}}

number

{{number 100000}} // "100,000"

pack-it

{{#pack-it items}}
    {{content}} // original item
    {{size}} // pack size
{{/pack-it}}

paragraphify

{{paragraphify textWithNewLines}} // <p>first line</p><p>second line</p>

posessive

{{posessive 'john'}} // "john's"

repeat

{{#repeat 5}}Hello!{{/repeat}} // "Hello!Hello!Hello!Hello!Hello!"

subtract

{{subtract a.length 2}}

title-case

{{title-case 'hey hey hey'}} // "Hey Hey Hey"

truncate

{{truncate '[email protected]'}} // "mysuperlon…"
{{truncate '[email protected]' 16}} // "mysuperlongemail…"
{{truncate '[email protected]' 16 ''}} // "mysuperlongemail"
{{truncate 'Some sente nce with a space at truncation index.'}} // "Some sente…" - trims trailing whitespace before appending

urlify

{{urlify 'Hey Hey'}} // "hey-hey"

handlebars-helpers's People

Contributors

derekr avatar remixz avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.