# Railbars Railbars provides a bunch of view helpers for generating handlebar templates in your rails app. ## Installation Add this line to your application's Gemfile: ```ruby gem 'railbars' ``` And then execute: $ bundle Or install it yourself as: $ gem install railbars ## Usage ### Expressions Expressions are simple values ```erb

<%= hb('hello') %>

``` Output: ```html

{{hello}}

``` ### Helpers If you have defined custom helpers and support literal params and hash params. They can be used like so: ```erb

<%= hb('nameOfHelper', 'firstParam', 'secondParam', {firstHash: 'a', secondHash: 1}) %>

``` Output: ```html

{{#nameOfHelper firstParam secondParam firstHash="a" secondHash=1}}

``` ### Block Helpers Like Helpers, block helpers support params, but have the added bonus of wrapping around a block: ```erb <%= hb('nameOfHelper', 'firstParam', 'secondParam', {firstHash: 'a', secondHash: 1}) do %>

Hello

<% end %> ``` Output: ```html {{#nameOfHelper firstParam secondParam firstHash="a" secondHash=1}}

Hello

{{/nameOfHelper}} ``` ### Unescape Handlebars Unescape are available through the `hbunescape` method: ```erb

<%= hbunescape('hello') %>

``` Output: ```html

{{{hello}}}

``` ### Partials Handlebars Partials are available through the `hbpartial` method: ```erb

<%= hbpartial('hello') %>

``` Output: ```html

{{> hello}}}

``` ### Each Built in helpers such as each are also provided: ```erb <%= hbeach('item') do %>
  • Element
  • <% end %> ``` Output: ```html {{#each item}}
  • Element
  • {{/each}} ``` ### If If, like else, also has a helper with similar syntax: ```erb <%= hbif('loggedIn') do %>

    Logged In

    <% end %> ``` Output: ```html {{#if loggedIn}}

    Logged In

    {{/each}} ``` ### Else Else is just a simple expression and can be placed within an if block: ```erb <%= hbif('loggedIn') do %>

    Logged In

    <%= hbelse %>

    Logged Out

    <% end %> ``` Output: ```html {{#if loggedIn}}

    Logged In

    {{#else }}

    Logged Out

    {{/each}} ``` ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/mrlhumphreys/railbars. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. ## License The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).