_.template for sprockets' JST
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ext
lib
test
.gitignore
LICENSE
README.md
Rakefile
underscore-template.gemspec

README.md

Underscore templates compiler for Ruby

Imagine, you've got a rails project using Backbone.js and just want to use the Underscore.js's _.template function without having an anonymous function like ejs does. underscore-template allows you to use sprockets's' JST templating directly with _.template function

Just add this to your Gemfile :

gem 'underscore-template'

Example :

<!-- templates/hello.jst._ -->
<div>Hello, <span><%= name %></span>!</div>

// application.js
//= require templates/hello
$("#hello").html(JST["templates/hello"]({ name: "Sam" }));

Invoke the function in a JavaScript environment to produce a string value. You can pass an optional object specifying local variables for template evaluation.

The underscore template tag syntax is as follows:

  • <% ... %> silently evaluates the statement inside the tags.
  • <%= ... %> evaluates the expression inside the tags and inserts its string value into the template output.
  • <%- ... %> behaves like <%= ... %> but HTML-escapes its output.

If you have the ExecJS library and a suitable JavaScript runtime installed, you can pass a template and an optional hash of local variables to UnderscoreTemplate.evaluate:

Underscore::Template.evaluate("Hello <%= name %>", :name => "world")
# => "Hello world"

© 2012 Jean-Sébastien Ney

(actually most of credits goes to @sstephenson)

Released under the MIT license