Skip to content

jney/ruby-underscore-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

_.template for sprockets' JST

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages